O.RG 00H
M.OV 30H, #12H ;
M.OV 31H, #34H ;
M.OV 40H, #56H ;
M.OV 41H, #78H ;
M.OV A, 31H ; 取被加数十个位
A.DD A, 41H ; 相加,(A) = (31H) + (41H)
D.A A ; 十进制调整
M.OV 51H,A ; 存十位个位运算结果
M.OV A, 30H ; 取被加数千百位
A.DDC A, 40H ; 相加,(A) = (30H) + (40H)
D.A A ; 十进制调整
M.OV 50H,A ; 存千位百位运算结果
C.LR A ; 清A
A.DDC A,#0 ; 将进位加到A中
M.OV 52H, A ; 存进位
S.JMP $
(简答题)
两个4位BCD码数相加,被加数和加数分别存于30H、31H和40H、41H单元中(次序为千位、百位在低地址中,十位、个位在高地址中),和数放在50H、51H、52H中(52H用于存放最高位的进位),试编写加法程序。
正确答案
答案解析
略
相似试题
(简答题)
假定DX和BX中包含4位压缩BCD数(1234和5678),将DX和BX中的BCD数相加且将和数存入CX,编写一短程序段。并求出CX是多少?
(简答题)
内存中以FIRST和SECOND开始的单元中分别存放着两个16位组合的十进制(BCD码)数,低位在前。编程序求这两个数的组合的十进制和,并存到以THIRD开始的单元。
(单选题)
两个非组合型BCD码数据相加后,执行加法校正指令AAA是,首先检查是否需要校正。需要校正的条件有:AF=1、CF=L和()。
(简答题)
若有两个4字节的无符号数相加,这两个数分别存放在2000H和3000H开始的存储单元中,得到的和存放在2000H开始的内存单元。试编程完成。
(简答题)
将十进制数279.85转换成BCD码数为多少?
(单选题)
设q(n,m)是将正整数n划分成最大加数不大于m的若干不同正整数之和的划分数,则q(n,m)为()
(填空题)
两个原码数相乘,其积的符号位为相乘两数的符号位()。其积的数值为相乘两数的()之积。
(简答题)
编写一汇编语言程序:将字节存储单元BUF中两个压缩BCD码(XYH)拆成两个非压缩BCD码,并转换成两个对应的ASCII码,分别存放在ABC1和ABC2单元中.
(简答题)
编写一短程序段:将AL中两压缩的BCD码分解为两位压缩的BCD码,分别装入A(高位BCD码)和B(低位BCD码)两个变量中。要求用到无符号除法指令DIV来实现编程功能。