📄 dac08.asm
字号:
;File Name :exp03.asm
;learn how to operate the I/O ports
;get some knowledge of the rts.lib file
.mmregs
.global _main
.text
_main:
stm 3000h,sp ;init pointer to 3000h
;***********************************************
;***********init pause data*********************
;***********************************************
stm 1000h,ar1 ;define the address
stm 03h,ar2 ;4 phase
stm 40h,ar5 ;sum rotate number
st 000Ah,*ar1+ ;0--1010(abcd)
st 0006h,*ar1+ ;1--0110(abcd)
st 0005h,*ar1+ ;2--0101(abcd)
st 0009h,*ar1+ ;3--1001(abcd)
;***********************************************
;***********positive rotate*********************
;***********************************************
loopa3:
stm 40h,ar5 ;sum positive rotate number
loopa1:
stm 1000h,ar1
stm 03h,ar2
;********************************************
loopa2:
portw *ar1+,8001h
nop
nop
call delay
banz loopa2,*ar2-
call delayb
banz loopa1,*ar5-
;***********************************************
;***********reverse rotate**********************
;***********************************************
loopb3:
stm 40h,ar5;;sum reverse rotate number
loopb1:
stm 1003h,ar1
stm 03h,ar2
;********************************************
loopb2:
portw *ar1-,8001h
nop
nop
call delay
banz loopb2,*ar2-
call delayb
banz loopb1,*ar5-
;*************************************************
b loopa3
nop
nop
b _main
nop
nop
;*************************************************
**************pulse interval**********************
**************************************************
delay:
;stm 200h,ar3
stm 100h,ar3
loop1:
stm 100h,ar4
loop2:
banz loop2,*ar4-
banz loop1,*ar3-
ret
nop
nop
**************************************************
************rotate interval***********************
**************************************************
delayb:
;stm 20h,ar3
stm 10h,ar3
loop3:
stm 08h,ar4
loop4:
banz loop4,*ar4-
banz loop3,*ar3-
ret
nop
nop
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -