ASSEMBLY É TUDO IGUAL ?...

Para "abobrinhas" use o " Boteco"

Moderadores: andre_luis, 51, guest2003, Renie

ASSEMBLY É TUDO IGUAL ?...

Mensagempor 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]
Avatar do usuário
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: Nenhum usuário registrado e 1 visitante

x