⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 interinc.asm

📁 "DIGITAL SIGNAL PROCESSING WITH C AND THE TMS32 0C30"一书的附带程序
💻 ASM
字号:
;INTERINC.ASM-DEMONSTRATES THE USE OF INTERRUPT
         .TITLE   "INTERINC.ASM" ;INTERRUPT PROGRAM
         .SECT     "VECTORS"     ;ASSEMBLE INTO VECTOR SECTION
RESET    .WORD     BEGIN         ;RESET VECTOR
         .SPACE    8             ;SKIP 8 WORDS
TIMER0   .WORD     TIM_INT       ;TINT0 VECTOR LOCATION @ 9h
         .SPACE    54            ;REMAINDER OF VECTOR SECTION
         .DATA                   ;ASSEMBLE INTO DATA SECTION
STACKS   .WORD     809F00H       ;INIT STACK POINTER DATA
PERIOD   .WORD     30H           ;INTERRUPT RATE=7.5MHz/(2*PERIOD)
IE_REG   .WORD     100H          ;ENABLE TIMER 0 (TINT0)INTERRUPT
PER_ADDR .WORD     808028H       ;(TINT0) PERIOD REG LOCATION
TCNTL    .WORD     2C1H          ;CONTROL REGISTER VALUE
ST_REG   .WORD     2000H         ;SET STATUS REG
IO_ADDR  .WORD     804000H       ;I/O ADDRESS
OUTPUT   .WORD     01000H        ;INITIAL OUTPUT VALUE
         .TEXT                   ;ASSEMBLE INTO TEXT SECTION
BEGIN    LDP    STACKS           ;INIT DATA PAGE
         LDI    @STACKS,SP       ;SP-> 809F00H
         LDI    @PER_ADDR,AR0    ;TINT0 PERIOD REG =>AR0
         LDI    @PERIOD,R0       ;PERIOD VALUE => R0
         STI    R0,*AR0--(8)     ;SET TINT0 PERIOD @ 808028H
         LDI    @TCNTL,R0        ;CONTROL REGISTER VALUE =>R0
         STI    R0,*AR0          ;SET TINT0 GLOBAL CNTRL @ 808020H
         LDI    @OUTPUT,R0       ;R0 = OUTPUT VALUE
         LDI    @IE_REG,IE       ;ENABLE TINT0 INTERRUPT(BIT 8)
         OR     @ST_REG,ST       ;SET STATUS REG (ENABLE GIE BIT)
WAIT     IDLE                    ;WAIT FOR INTERRUPT
         BR     WAIT             ;BRANCH TO WAIT TIL INTERRUPT
;  INTERRUPT VECTOR                                  
TIM_INT  LDI    @IO_ADDR,AR0     ;1ST ADDRESS OF EXP BUS=>AR0
         STI    R0,*AR0          ;OUTPUT R0 @ 804000H
         ADDI   1,R0             ;INCREMENT OUTPUT VALUE BY 1
         RETI                    ;RETURN FROM INTERRUPT
         .END                    ;END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -