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

下面是一段89c51程序,二进制转十进制的子程序,请解释下每条语句的意思
BIN2SJZ: MOV A,40H
MOV B,#100
DIV AB
MOV A,B
MOV B,#10
DIV AB
MOV 30H,A
MOV 31H,B
MOV A,41H
MOV B,#100
DIV AB
MOV A,B
MOV B,#10
DIV AB
MOV 32H,A
MOV 33H,B
RET
落单亮亮 1年前 已收到1个回答 举报

myt_20060109 幼苗

共回答了13个问题采纳率:92.3% 举报

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

1年前

9
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.239 s. - webmaster@yulucn.com