【问题标题】:Intel 8051 EdSim51 7 Segment Display英特尔 8051 EdSim51 7 段显示器
【发布时间】:2020-09-30 16:20:16
【问题描述】:

为什么当我去掉代码上二进制中的“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

谢谢

【问题讨论】:

    标签: assembly simulation cpu-registers 8051


    【解决方案1】:

    因为汇编器会查看最后一个字符来确定数字的基数。

    如果你使用:

    MOV P1, #10B
    

    表示二进制10,十进制2。

    如果你使用:

    MOV P1, #10
    

    表示小数点 10。

    如果你使用:

    MOV P1, #10H
    

    表示十六进制值10,十进制表示16。

    注意:您的汇编程序应该警告您有关数字溢出的情况。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-22
      • 1970-01-01
      • 1970-01-01
      • 2021-08-08
      相关资源
      最近更新 更多