Para "abobrinhas" use o " Boteco"
Moderadores: andre_luis, 51, guest2003, Renie
por tcpipchip » 17 Dez 2011 12:14
TMS370
- Código: Selecionar todos
;============================================================================
; INICIALIZACAO DA PLATAFORMA
;============================================================================
;
CODE .EQU 0000H ;START DOWNLOADER
HARD_VECT .EQU 1F9CH ;START OF HARDWARE VECTORS
RAM_VECT .EQU 5F9CH
USER_PROGRAM .EQU 04000H ;START OF MONITOR RAM
;
;============================================================================
;
; TMS370 perhipherals
SCCR0 .EQU P010 ;System control register 0; mode pin
SCCR1 .EQU P011 ;System control register 1; memory configuration
SCCR2 .EQU P012 ;System control register 2; powerdown states
;
APORT1 .EQU P020 ;Port A control 1
APORT2 .EQU P021 ;Port A control 2
ADATA .EQU P022 ;Port A data
ADIR .EQU P023 ;Port A data direction 1=output
BPORT1 .EQU P024 ;Port B control 1
BPORT2 .EQU P025 ;Port B control 2
BDATA .EQU P026 ;Port B data
BDIR .EQU P027 ;Port B data direction 1=output
CPORT1 .EQU P028 ;Port C control 1
CPORT2 .EQU P029 ;Port C control 2
CDATA .EQU P02A ;Port C data
CDIR .EQU P02B ;Port C data direction 1=output
DPORT1 .EQU P02C ;Port D control 1
DPORT2 .EQU P02D ;Port D control 2
DDATA .EQU P02E ;Port D data
DDIR .EQU P02F ;Port D data direction 1=output
;
WDRST .EQU P048 ;Watchdog timer reset key
T1CTL1 .EQU P049 ;Timer 1 control registers
T1CTL2 .EQU P04A
;
SCICCR .EQU P050 ;Mode control
SCICTL .EQU P051 ;Operation control register
BAUDMSB .EQU P052 ;Baud control: high byte
BAUDLSB .EQU P053 ;Baud control: low byte
TXCTL .EQU P054 ;TX interrupt control and status register
RXCTL .EQU P055 ;RX interrupt control and status register
RXBUF .EQU P057 ;RX data buffer
TXBUF .EQU P059 ;TX data buffer
SCIPC1 .EQU P05D ;Port control reg 1
SCIPC2 .EQU P05E ;Port control reg 2
SCIPRI .EQU P05F ;Priority select
;
; Bit equates
TXRDY .EQU 80H ;TRANSMIT BUFFER EMPTY
RXRDY .EQU 40H ;RECEIVE BUFFER FULL
;===========================================================================
.TEXT CODE ;reset start address
;
RESET: LDST #0 ;disable interrupts (be sure)
MOV #31,B ; INICIO DA PILHA
LDSP
OR #14H,SCCR1 ;Disable auto wait states
;============================================================================
; Initialize your UART and other hardware here
MOV #00010000B,SCICTL
; 0 ;reset SCI
; 1 ;internal SCLK
; 0 ;sleep disabled
; 00 ;disable TX and RX
MOV #00000000B,SCIPC1
; 0 ;SCICLK is general purpose pin
; 0 ;SCICLK is input
MOV #00100010B,SCIPC2
; 1 ;Enable Tx pin
; 1 ;Enable Rx pin
MOV #00000000B,TXCTL
; 0 ;disable TX interrupts
MOV #00000000B,RXCTL
; 0 ;disable RX interrupts
MOV #00010111B,SCICCR ;8-bits, even parity, 1 stop bit
; 0 ;1 stop bit
; 0 ;odd parity (not used)
; 0 ;no parity
; 1 ;asynchronous mode
; 0 ;idle line protocol
; 111 ;8 data bits
;
; Init baud rate: rate = CLKIN/( (divisor + 1)*128 )
; With 20 Mhz crystal, 9600 baud: DIV = 15 (1.73 % error)
; With 20 Mhz crystal, 19200 baud: DIV = 7 (1.73 % error)
; With 20 Mhz crystal, 38400 baud: DIV = 3 (1.73 % error)
MOV #0,A
MOV A,BAUDMSB ;initialize baud rate
MOV #7,A
MOV A,BAUDLSB
;
MOV #00110011B,SCICTL
; 1 ;enable SCI (not reset)
; 1 ;internal SCLK
; 0 ;sleep disabled
; 11 ;enable TX and RX
;
MOV RXBUF,A ;clear out garbage from SCI
MOVW #USER_PROGRAM,R5 ; ENDERECO RAM EXTERNA - PROGRAMA
CALLR INIT_DISPLAY
; AQUI COMECA A CARGA DO PROGRAMA
MOV #'M',A
PED_H:
BTJZ #TXRDY,TXCTL,PED_H ;loop til ready for output
MOV A,TXBUF ;place the character into the buffer
COCO
BTJZ #RXRDY,RXCTL,COCO
MOV RXBUF,A
MOV A,R3 ; MSB
TST A ;clear carry
MAN_H_R:
BTJZ #TXRDY,TXCTL,MAN_H_R ;loop til ready for output
MOV A,TXBUF ;place the character into the buffer
MAN_H:
BTJZ #RXRDY,RXCTL,MAN_H ;loop til ready
MOV RXBUF,A
TST A ;clear carry
PED_L:
MOV #'M',A
BTJZ #TXRDY,TXCTL,PED_L ;loop til ready for output
MOV A,TXBUF ;place the character into the buffer
ESP_L:
BTJZ #RXRDY,RXCTL,ESP_L ;loop til ready
MOV RXBUF,A
MOV A,R2 ; LSB
TST A ;clear carry
MAN_L_R:
BTJZ #TXRDY,TXCTL,MAN_L_R ;loop til ready for output
MOV A,TXBUF ;place the character into the buffer
MAN_L:
BTJZ #RXRDY,RXCTL,MAN_L ;loop til ready
MOV RXBUF,A
TST A ;clear carry
PED_C:
MOV #'M',A
BTJZ #TXRDY,TXCTL,PED_C ;loop til ready for output
MOV A,TXBUF ;place the character into the buffer
ESP_C:
BTJZ #RXRDY,RXCTL,ESP_C ;loop til ready
MOV RXBUF,A
MOV A,@R5
TST A ;clear carry
MOV @R5,A
MAN_C_R:
BTJZ #TXRDY,TXCTL,MAN_C_R ;loop til ready for output
MOV A,TXBUF ;place the character into the buffer
INCW #1,R5
ESPERA_FF_C:
BTJZ #RXRDY,RXCTL,ESPERA_FF_C ;loop til ready
MOV RXBUF,A
TST A ;clear carry
DEC R2
JNZ MSB
DEC R3
MSB:
CMP #0FFH,R3
JNZ PED_C
BR #PROGRAMA
COMMAND_OUT
PUSH A
PUSH R2
PUSH R3
PUSH ST
PUSH A
C:
MOVW #LCD_STATUS,R3
MOV @R3,A
BTJZ #80H,A,NO_BUSY
JMPL C
NO_BUSY
MOVW #INST_INPUT,R3
POP A
MOV A,@R3
POP ST
POP R3
POP R2
POP A
RTS
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
DATA_OUT:
PUSH A
PUSH R2
PUSH R3
PUSH ST
PUSH A
D:
MOVW #LCD_STATUS,R3
MOV @R3,A
BTJZ #80H,A,NO_BUSY_D
JMPL D
NO_BUSY_D:
MOVW #DATA_INPUT,R3
POP A
MOV A,@R3
POP ST
POP R3
POP R2
POP A
RTS
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
CLEAR_DISPLAY
PUSH A
MOV #1,A
CALLR COMMAND_OUT
POP A
RTS
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
HOME_CURSOR
PUSH A
MOV #2,A
CALLR COMMAND_OUT
POP A
RTS
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
CURSOR_OFF
PUSH A
MOV #0CH,A
CALLR COMMAND_OUT
POP A
RTS
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
CURSOR_ON
PUSH A
MOV #0FH,A
CALLR COMMAND_OUT
POP A
RTS
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
SET_C_M
PUSH A
ADD #80H,A
CALLR COMMAND_OUT
POP A
RTS
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
SET_C_R
PUSH A
ADD #0C0H,A
CALLR COMMAND_OUT
POP A
RTS
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
I_MEN_LCD
PUSH A
PUSH ST
PUSH R2
PUSH R3
C_SE_N_L
MOV @R3,A
CMP #0,A
JZ S_MEN_L
IMP_L
CALLR DATA_OUT
INCW #1,R3
JMPL C_SE_N_L
S_MEN_L
POP R3
POP R2
POP ST
POP A
RTS
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
I_MEN_TER
PUSH A
PUSH ST
PUSH R2
PUSH R3
C_SE_N_T
MOV @R3,A
CMP #0,A
JZ S_MEN_T
IMP_T
CALLR PUTCHAR
CALLR GETCHAR
INCW #1,R3
JMPL C_SE_N_T
S_MEN_T
POP R3
POP R2
POP ST
POP A
RTS
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
IMP_BYTE_LCD
PUSH A
PUSH B
PUSH R7
PUSH R9
PUSH ST
MOV #0,R7
MOV #10,R9
NAO_FIM:
MOV A,B
MOV #0,A
DIV R9
INC R7
PUSH B
CMP #0,A
JNE NAO_FIM
IMP_DIGITO
POP B
MOV B,A
ADD #30H,A
CALLR DATA_OUT
DJNZ R7,IMP_DIGITO
POP ST
POP R9
POP R7
POP B
POP A
RTS
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
IMP_BYTE_T
PUSH A
PUSH B
PUSH R7
PUSH R9
PUSH ST
MOV #0,R7
MOV #10,R9
NAO_FIM_T:
MOV A,B
MOV #0,A
DIV R9
INC R7
PUSH B
CMP #0,A
JNE NAO_FIM_T
IMP_DIGITO_T
POP B
MOV B,A
ADD #30H,A
CALLR PUTCHAR
CALLR GETCHAR
DJNZ R7,IMP_DIGITO_T
POP ST
POP R9
POP R7
POP B
POP A
RTS
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
CLEAR_TERMINAL
PUSH A
MOV #252,A
CALLR PUTCHAR
CALLR GETCHAR
POP A
RTS
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
LE_BYTE
MOV #0FFH,A
CALLR PUTCHAR
CALLR GETCHAR
RTS
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
IMP_CHAR_S
PUSH A
CALLR PUTCHAR
CALLR GETCHAR
POP A
RTS
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
IMP_CHAR_LCD
CALLR DATA_OUT
RTS
VER_PRESSIONADA
CLRC
MOV #251,A
CALLR PUTCHAR
ESP_VST:
CALLR GETCHAR
CMP #0,A
JNE FOI_PRESS
CLRC
JMPL NAO_FOI_PRESS
FOI_PRESS
SETC
NAO_FOI_PRESS
RTS
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
LE_CODIGO_PRESS
MOV #250,A
CALLR PUTCHAR
JNE NA_T_EXT
SETC
JMPL T_EXT
NA_T_EXT
CLRC
T_EXT
CALLR GETCHAR
RTS
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
GETCHAR:
GC10:
BTJZ #RXRDY,RXCTL,GC10 ;loop til ready
MOV RXBUF,A
TST A ;clear carry
RTS
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
PUTCHAR:
BTJZ #TXRDY,TXCTL,PUTCHAR ;loop til ready for output
MOV A,TXBUF ;place the character into the buffer
RTS
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
NOP ;PARA POSSIVEL INCLUSAO NO FUTURO SEM MUDAR O OFFSET
INIT_DISPLAY
PUSH A
MOV #6,A
CALLR COMMAND_OUT
MOV #0CH,A
CALLR COMMAND_OUT
MOV #38H,A
CALLR COMMAND_OUT
CALLR CLEAR_DISPLAY
MOV #'W',A
CALLR DATA_OUT
MOV #'F',A
CALLR DATA_OUT
MOV #'-',A
CALLR DATA_OUT
MOV #'K',A
CALLR DATA_OUT
MOV #'I',A
CALLR DATA_OUT
MOV #'T',A
CALLR DATA_OUT
MOV #2,A
CALLR SET_C_R
MOV #'T',A
CALLR DATA_OUT
MOV #'M',A
CALLR DATA_OUT
MOV #'S',A
CALLR DATA_OUT
MOV #'3',A
CALLR DATA_OUT
MOV #'7',A
CALLR DATA_OUT
MOV #'0',A
CALLR DATA_OUT
MOV #0,A
CALLR SET_C_R
POP A
RTS
P_SCITX_H ;7F9C
MOVW #I_SCITX_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_SCITX_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
P_SCIRX_H ;7F9E
MOVW #I_P_SCIRX_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_P_SCIRX_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
P_CD0_H ;7FA0
MOVW #I_P_CD0_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_P_CD0_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
P_CD1_H ;7FA2
MOVW #I_P_CD1_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_P_CD1_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
P_CD2_H ;7FA4
MOVW #I_P_CD2_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_P_CD2_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
P_CD3_H ;7FA6
MOVW #I_P_CD3_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_P_CD3_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
P_CD4_H ;7FA8
MOVW #I_P_CD4_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_P_CD4_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
P_CD5_H ;7FAA
MOVW #I_P_CD5_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_P_CD5_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
P_CD6_H ;7FAC
MOVW #I_P_CD6_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_P_CD6_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
P_CD7_H ;7FAE
MOVW #I_P_CD7_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_P_CD7_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
P_BUF_H ;7FB0
MOVW #I_P_BUF_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_P_BUF_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
P_CP6_H ;7FB2
MOVW #I_P_CP6_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW ##I_P_CP6_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
P_CP5_H ;7FB4
MOVW #I_P_CP5_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW ##I_P_CP5_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
P_CP4_H ;7FB6
MOVW #I_P_CP4_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW ##I_P_CP4_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
P_CP3_H ;7FB8
MOVW #I_P_CP3_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW ##I_P_CP3_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
P_CP2_H ;7FBA
MOVW #I_P_CP2_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW ##I_P_CP2_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
P_CP1_H ;7FBC
MOVW #I_P_CP1_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_P_CP1_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
P_TOV_H ;7FBE
MOVW #I_P_TOV_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_P_TOV_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
BREAKP_ENTRY ;7FC0 or TRAP15_H
MOVW #I_BREAKP_ENTRY,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_BREAKP_ENTRY+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
TRAP14_H ;7FC2
MOVW #I_TRAP14_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_TRAP14_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
TRAP13_H ;7FC4
MOVW #I_TRAP13_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_TRAP13_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
TRAP12_H ;7FC6
MOVW #I_TRAP12_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_TRAP12_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
TRAP11_H ;7FC8
MOVW #I_TRAP11_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_TRAP11_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
TRAP10_H ;7FCA
MOVW #I_TRAP10_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_TRAP10_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
TRAP9_H ;7FCC
MOVW #I_TRAP9_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_TRAP9_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
TRAP8_H ;7FCE
MOVW #I_TRAP8_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_TRAP8_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
TRAP7_H ;7FD0
MOVW #I_TRAP7_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_TRAP7_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
TRAP6_H ;7FD2
MOVW #I_TRAP6_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_TRAP6_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
TRAP5_H ;7FD4
MOVW #I_TRAP5_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_TRAP5_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
TRAP4_H ;7FD6
MOVW #I_TRAP4_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_TRAP4_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
TRAP3_H ;7FD8
MOVW #I_TRAP3_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_TRAP3_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
TRAP2_H ;7FDA
MOVW #I_TRAP2_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_TRAP2_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
TRAP1_H ;7FDC
MOVW #I_TRAP1_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_TRAP1_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
TRAP0_H ;7FDE
MOVW #I_TRAP0_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_TRAP0_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
UNUSED1_H ;7FE0
MOVW #I_UNUSED1_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_UNUSED1_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
UNUSED2_H ;7FE2
MOVW #I_UNUSED2_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_UNUSED2_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
UNUSED3_H ;7FE4
MOVW #I_UNUSED3_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_UNUSED3_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
UNUSED4_H ;7FE6
MOVW #I_UNUSED4_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_UNUSED4_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
UNUSED5_H ;7FE8
MOVW #I_UNUSED5_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_UNUSED5_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
UNUSED6_H ;7FEA
MOVW #I_UNUSED6_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_UNUSED6_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
ADC ;7FEC
MOVW #I_ADC,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_ADC+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
TIMER2_H ;7FEE
MOVW #I_TIMER2_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_TIMER2_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
SCITX_H ;7FF0
MOVW #I_SCITX_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_SCITX_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
SCIRX_H ;7FF2
MOVW #I_SCIRX_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_SCIRX_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
TIMER1_H ;7FF4
MOVW #I_TIMER1_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_TIMER1_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
SPI_H ;7FF6
MOVW #I_SPI_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_SPI_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
INT3_H ;7FF8
MOVW #I_INT3_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_INT3_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
INT2_H ;7FFA
MOVW #I_INT2_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_INT2_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
INT1_H ;7FFC
MOVW #I_INT1_H,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
MOVW #I_INT1_H+1,R255
PUSH A
MOV @R255,A
MOV A,R255
POP A
PUSH R255
RTS
MEN1 .STRING "SISTEMA"
.BYTE 0
MEN2 .STRING "TMS370"
.BYTE 0
WF .STRING "WF AUTOMACAO 1999"
.BYTE 0
;===========================================================================
.TEXT HARD_VECT
.WORD P_SCITX_H+2000H ;7F9C
.WORD P_SCIRX_H+2000H ;7F9E
.WORD P_CD0_H+2000H ;7FA0
.WORD P_CD1_H+2000H ;7FA2
.WORD P_CD2_H+2000H ;7FA4
.WORD P_CD3_H+2000H ;7FA6
.WORD P_CD4_H+2000H ;7FA8
.WORD P_CD5_H+2000H ;7FAA
.WORD P_CD6_H+2000H ;7FAC
.WORD P_CD7_H+2000H ;7FAE
.WORD P_BUF_H+2000H ;7FB0
.WORD P_CP6_H+2000H ;7FB2
.WORD P_CP5_H+2000H ;7FB4
.WORD P_CP4_H+2000H ;7FB6
.WORD P_CP3_H+2000H ;7FB8
.WORD P_CP2_H+2000H ;7FBA
.WORD P_CP1_H+2000H ;7FBC
.WORD P_TOV_H+2000H ;7FBE
.WORD BREAKP_ENTRY+2000H ;7FC0 or TRAP15_H
.WORD TRAP14_H+2000H ;7FC2
.WORD TRAP13_H+2000H ;7FC4
.WORD TRAP12_H+2000H ;7FC6
.WORD TRAP11_H+2000H ;7FC8
.WORD TRAP10_H+2000H ;7FCA
.WORD TRAP9_H+2000H ;7FCC
.WORD TRAP8_H+2000H ;7FCE
.WORD TRAP7_H+2000H ;7FD0
.WORD TRAP6_H+2000H ;7FD2
.WORD TRAP5_H+2000H ;7FD4
.WORD TRAP4_H+2000H ;7FD6
.WORD TRAP3_H+2000H ;7FD8
.WORD TRAP2_H+2000H ;7FDA
.WORD TRAP1_H+2000H ;7FDC
.WORD TRAP0_H+2000H ;7FDE
.WORD UNUSED1_H+2000H ;7FE0
.WORD UNUSED2_H+2000H ;7FE2
.WORD UNUSED3_H+2000H ;7FE4
.WORD UNUSED4_H+2000H ;7FE6
.WORD UNUSED5_H+2000H ;7FE8
.WORD UNUSED6_H+2000H ;7FEA
.WORD ADC+2000H ;7FEC
.WORD TIMER2_H+2000H ;7FEE
.WORD SCITX_H+2000H ;7FF0
.WORD SCIRX_H+2000H ;7FF2
.WORD TIMER1_H+2000H ;7FF4
.WORD SPI_H+2000H ;7FF6
.WORD INT3_H+2000H ;7FF8
.WORD INT2_H+2000H ;7FFA
.WORD INT1_H+2000H ;7FFC
.WORD RESET+2000H ;7FFE
.TEXT USER_PROGRAM
PROGRAMA
.TEXT RAM_VECT
I_P_SCITX_H ;7F9C
NOP
NOP
I_P_SCIRX_H ;7F9E
NOP
NOP
I_P_CD0_H ;7FA0
NOP
NOP
I_P_CD1_H ;7FA2
NOP
NOP
I_P_CD2_H ;7FA4
NOP
NOP
I_P_CD3_H ;7FA6
NOP
NOP
I_P_CD4_H ;7FA8
NOP
NOP
I_P_CD5_H ;7FAA
NOP
NOP
I_P_CD6_H ;7FAC
NOP
NOP
I_P_CD7_H ;7FAE
NOP
NOP
I_P_BUF_H ;7FB0
NOP
NOP
I_P_CP6_H ;7FB2
NOP
NOP
I_P_CP5_H ;7FB4
NOP
NOP
I_P_CP4_H ;7FB6
NOP
NOP
I_P_CP3_H ;7FB8
NOP
NOP
I_P_CP2_H ;7FBA
NOP
NOP
I_P_CP1_H ;7FBC
NOP
NOP
I_P_TOV_H ;7FBE
NOP
NOP
I_BREAKP_ENTRY ;7FC0 or TRAP15_H
NOP
NOP
I_TRAP14_H ;7FC2
NOP
NOP
I_TRAP13_H ;7FC4
NOP
NOP
I_TRAP12_H ;7FC6
NOP
NOP
I_TRAP11_H ;7FC8
NOP
NOP
I_TRAP10_H ;7FCA
NOP
NOP
I_TRAP9_H ;7FCC
NOP
NOP
I_TRAP8_H ;7FCE
NOP
NOP
I_TRAP7_H ;7FD0
NOP
NOP
I_TRAP6_H ;7FD2
NOP
NOP
I_TRAP5_H ;7FD4
NOP
NOP
I_TRAP4_H ;7FD6
NOP
NOP
I_TRAP3_H ;7FD8
NOP
NOP
I_TRAP2_H ;7FDA
NOP
NOP
I_TRAP1_H ;7FDC
NOP
NOP
I_TRAP0_H ;7FDE
NOP
NOP
I_UNUSED1_H ;7FE0
NOP
NOP
I_UNUSED2_H ;7FE2
NOP
NOP
I_UNUSED3_H ;7FE4
NOP
NOP
I_UNUSED4_H ;7FE6
NOP
NOP
I_UNUSED5_H ;7FE8
NOP
NOP
I_UNUSED6_H ;7FEA
NOP
NOP
I_ADC ;7FEC
NOP
NOP
I_TIMER2_H ;7FEE
NOP
NOP
I_SCITX_H ;7FF0
NOP
NOP
I_SCIRX_H ;7FF2
NOP
NOP
I_TIMER1_H ;7FF4
NOP
NOP
I_SPI_H ;7FF6
NOP
NOP
I_INT3_H ;7FF8
NOP
NOP
I_INT2_H ;7FFA
NOP
NOP
I_INT1_H ;7FFC
NOP
NOP
.TEXT 8000H
INST_INPUT
.TEXT 8001H
DATA_INPUT
.TEXT 8002H
LCD_STATUS
;
; .end RESET
[/code]
-

tcpipchip
- Dword
-
- Mensagens: 6560
- Registrado em: 11 Out 2006 22:32
- Localização: TCPIPCHIPizinho!
Voltar para Assuntos Gerais
Quem está online
Usuários navegando neste fórum: Google [Bot] e 1 visitante