下面是一段89c51程序,二进制转十进制的子程序,请解释下每条语句的意思

1个回答

  • BIN2SJZ: MOV A,40H;40H单元中的数送到寄存器A中

    MOV B,#100;寄存器B赋值为100

    DIV AB:A/B结果放在A(商)B(余数)除100的作用是想得到百位数

    ;这里似乎丢了一句或者根本不用写,因为百位数没保存

    MOV A,B;余数(包含十位个位)送到A中

    MOV B,#10;B赋值10

    DIV AB;A/B

    MOV 30H,A;A中的商(十位数)送30H单元

    MOV 31H,B;B中的余数(个位数)送31H单元

    ;下面的和上面一样,只是这次得到的是41H单元中的数,变为十进制后十位存32H,个位存33H

    MOV A,41H

    MOV B,#100

    DIV AB,

    MOV A,B

    MOV B,#10

    DIV AB

    MOV 32H,A

    MOV 33H,B

    RET