我正在尝试了解开发板(XL400)附带的一些示例asm,以期将其转换为C。
asm 代码包含在下面,不幸的是,像它这样的文档从中文翻译得非常糟糕,这使得它比无用更糟糕。自从我使用 asm 以来,它也有很长一段时间了!
在代码中,DELAY 子程序中有一条 JB 指令(代码的倒数第三行)。我无法理解它的作用或它应该如何运作。谷歌搜索 JB 会导致对不同形式(JB 标签)的解释,所以我不确定 asm 是否正确?非常感谢帮助,Ta
RS EQU P2.0
RW EQU P2.1
E EQU P2.2
ORG 0080H
MOV P0,#00000001B ;- Screen
ACALL ENABLE
MOV P0,#00000001B ;- Screen
ACALL ENABLE
MOV P0,#00111000B ;Display
ACALL ENABLE
MOV P0,#00001111B ;Show switch control
ACALL ENABLE
MOV P0,#00000110B ;Input mode
ACALL ENABLE
MOV P0,#0C0H ;Data memory address
ACALL ENABLE
mov p0,#01000001b ;ASCII code
SETB RS
CLR RW
CLR E
ACALL DELAY
SETB E
AJMP $
ENABLE: CLR RS ;Send orders
CLR RW
CLR E
ACALL DELAY
SETB E
RET
DELAY: MOV P0,#0FFH
CLR RS
SETB RW
CLR E
NOP
SETB E
JB P0.7,DELAY ;Judgement busy signs
RET
END