您好,我正在尝试用汇编语言进行循环,以使 HCS12 微控制器(Dragon12p)上的 LED 亮起。该值在 LED 上显示为其二进制等效值(例如,01 美元会点亮第一个 LED,99 美元会像 1 0 0 1 1 0 0 1 一样亮,23 美元会像 0 0 1 0 0 0 1 1 一样亮起)。
org $2000
STACK equ $2000
DELAY_VALUE equ 64
ENDCOUNT equ $99
Start lds #STACK
jsr Config_SWs_and_LEDs
Startover ldaa $00 ; load accumulator a with $00
Loop staa PORTB ; send data to PORTB to display LED
jsr Delay_ms ; delay by 64 ms
inca ; increment accumulator a by one value
cmpa #ENDCOUNT ; compare accumulator a to ENDCOUNT ($99)
bgt Loop ; branch if accumulator a is less than $99
bra Startover ; start over at $00 if accumulator a reaches $99
end
但是,我的循环不起作用,印加只会将 a 增加一次,所以当我测试这段代码时,只有第一个 LED 亮起。想不通。