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

📄 ex1demo.asm

📁 基于TMS320VC33实验箱的中断
💻 ASM
字号:
        .sect   "init"
        .global init
        .text
        .word   init
        .space	8
        .word   timer0
init:   ldp     0,dp
        ldi     @STCK,sp               ;INIT STACK
        ldi     1800H,st               ;INIT ST
        ldi     @MCTL,ar0              ;INIT MAIN BUS
        ldi     MBUS1,r0
        sti     r0,*ar0
        
        call    initt0                 ;timer0 init
        ldi     100H,IE                ;ACTIVE TIMER0  中断使能寄存器
        or      2000h,st   		;全局中断使能   GIE位置1       
main:   
	ldi     @TNUM,ar0                   
        ldi     *ar0,r0
        absi    r0
        cmpi    400h,r0
        blt     main   
        ldi     0,r0
        sti     r0,*ar0

        ldi     @LEDS,ar0
        ldi     *ar0,r0
        cmpi    0,r0
        ldieq   1,r0 
        ldine   0,r0
        sti     r0,*ar0
        ldi     @LED,ar0
        sti     r0,*ar0
        br      main 
;------------------------------
timer0: push    st
        push    ar0
        push    r0			;先保存低32位
        pushf   r0			;再保存高32位

        ldi     @TNUM,ar0
        ldi     *ar0,r0
        addi    1,r0
        sti     r0,*ar0    
    
        popf    r0
        pop     r0
        pop     ar0
        pop     st
        reti 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
initt0: ldi     0,r0                  
        ldi     808h,ar0
        lsh     12,ar0
        addi    20h,ar0
        sti     r0,*+ar0(4)
        ldi     FS,r0
        sti     r0,*+ar0(8)
        ldi     3c1h,r0
        sti     r0,*ar0
        rets
;------------------------------                         
        .data
FS      .set     727H
TNUM    .word    7000H
LEDS    .word    7001H

MCTL    .word    808064H
STCK    .word    809E00H  
LED     .word    810003H
MBUS1   .set     01038H
	.end

⌨️ 快捷键说明

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