为什么我把代码上二进制中的 "B "去掉后,显示数字时就乱了?
ORG 0000H
START:
SETB P3.3
SETB P3.4
MOV P1, #11111001
CALL DELAY
CLR P3.3
MOV P1, #10100100
CALL DELAY
CLR P3.4
SETB P3.3
MOV P1, #10110000
CALL DELAY
CLR P3.3
MOV P1, #10011001
CALL DELAY
JMP START
DELAY: MOV R0, #45H
DJNZ R0, $
RET
END
谢谢您
因为汇编器会看最后一个字符来确定数字的基数。
如果你用。
MOV P1, #10B
它意味着二进制值10,给出一个十进制2。
如果你使用:它意味着二进制值10,给出一个小数点2。
MOV P1, #10
就是指十进制的10
如果你使用:它意味着十六进制值10,给出一个小数点2。
MOV P1, #10H
它意味着十六进制值10, 给出十进制16.
注意:你的汇编器应该已经警告你有数字溢出之类的情况。