试题详情
- 简答题数组LIST1内存有20个非压缩BCD码表示的单字节十进制数,写出完整程序,求这20个BCD数之和,结果(非压缩BCD码)存入SUM1双字单元。
-
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 关注下方微信公众号,在线模考后查看
热门试题
- 指令TEST AX,ES:[1023H]
- 设(BX)=0E3H,变量VALUE中
- 分别指出每条指令执行结果:
- 如TABLE为数据段中0032单元的符
- 快速排序算法的平均时间复杂度为()。
- 解释下列宏的功能。
- V是变量,指出下列错误的指令,说出错误原
- 执行循环指令LOOPNZ END0时,若
- 如TABLE为数据段中0100单元的符号
- 写出对内存单元X中的补码求真值子程序,补
- 现有数据定义如下: 请说明这两个变量之
- 指令SCASB操作数的段地址一定在()寄
- 字节单元和字单元如何区分?若给出一个地址
- 子程序的参数传送方式有()、()、()等
- 什么是伪操作?简述伪指令和指令的区别?
- 已知各变量的类型说明如下: intk,
- 执行下面指令序列后,MOV AL,82H
- 求已知带符号数字节数组ARRAY的平均值
- 将DX的内容除以2,正确的指令是()。
- 将下列二进制数转换为十六进制数和十进制数