CODESEGMENT
ASSUME CS:CODE
LIST1DB “6705762998”;20个非压缩BCD数
DB “4322687310”SUM1DD ?;存放结果(20个数之和)
START:XOR AX,AX;累加器清零
MOV CX,20;循环计数器置初值
LEA BX,LIST1;地址指针置初值
ONE://ADD AL,CS:[BX];加入一个非压缩BCD数
AAA;调整,结果在AH(百位、十位),AL(个位)中
INC BX;修改指针
LOOP ONE;循环控制
MOV BYTE PTR SUM1,AL;保存个位
MOV AL,AH
MOV AH,0;百位、十位(二进制)存入AX
AAM;分解百位到AH,十位到AL
MOV WORD PTR SUM1+1,AX;保存百位、十位
MOV BYTE PTR SUM1+3,0;千位清零(和最大为9*20=180)
MOV AX,4C00H
INT 21H
CODEENDS
END START
(简答题)
数组LIST1内存有20个非压缩BCD码表示的单字节十进制数,写出完整程序,求这20个BCD数之和,结果(非压缩BCD码)存入SUM1双字单元。
正确答案
答案解析
略
相似试题
(简答题)
数组LIST3内存有20个压缩BCD码表示的双字节十进制数,写出完整程序,求这20个BCD数之和,结果(压缩BCD码)存入SUM3双字单元。
(简答题)
数组LIST2内存有20个压缩BCD码表示的单字节十进制数,写出完整程序,求这20个BCD数之和,结果(压缩BCD码)存入SUM2双字单元。
(单选题)
内存某字节单元中存放的二进制代码为94H,若将它看作是一个压缩的BCD码,则对应的数为()。
(简答题)
编写一短程序段:将AL中两压缩的BCD码分解为两位压缩的BCD码,分别装入A(高位BCD码)和B(低位BCD码)两个变量中。要求用到无符号除法指令DIV来实现编程功能。
(简答题)
用压缩BCD码计算(结果用二进制、BCD码、十进制表示): 29+53; 73-24; 66+18; 132+75。
(单选题)
将93H看成一个压缩BCD码,其结果是()
(简答题)
有一个8位机器数为10010111,若此数表示的是压缩(或组合)BCD码,则相应的十进制数的真值为多少?
(简答题)
把二进制代码1001011101011000分别“看作”是:二进制无符号数、二进制补码、压缩BCD码、非压缩BCD码,哪一种情况下它代表的“值”最大?
(简答题)
编写一汇编语言程序:将字节存储单元BUF中两个压缩BCD码(XYH)拆成两个非压缩BCD码,并转换成两个对应的ASCII码,分别存放在ABC1和ABC2单元中.