试题详情
- 简答题数组LIST2内存有20个压缩BCD码表示的单字节十进制数,写出完整程序,求这20个BCD数之和,结果(压缩BCD码)存入SUM2双字单元。
-
CODESEGMENT
ASSUME CS:CODE
LIST2 DB
12H,34H,56H,15H,82H,52H,48H,19H,31H,63H
DB22H,33H,44H,55H,66H,77H,88H,99H,11H,39H
SUM2DD ?
START: XOR AX,AX;累加器清零
XOR BX,BX;地址指针置初值
MOV CX,20;循环计数器置初值
ONE://ADD AL,LIST2[BX];加入一个压缩BCD数
DAA;调整
XCHG AH,AL;交换AH和AL
ADC AL,0;收集进位(百位、千位)
DAA;高位(百位、千位)调整
XCHG AH,AL;恢复AH和AL;(AH)=千位、百位,(AL)=十位、个位
INC BX;修改指针
LOOP ONE;循环控制
MOV WORD PTR SUM2,AX;保存千、百、十、个位
MOV WORD PTR SUM2+2,0;高位清零
MOV AX,4C00H
INT 21H
CODEENDS
END START 关注下方微信公众号,在线模考后查看
热门试题
- 编写程序,从键盘输入一个字符串到BUFF
- 源程序在汇编过程中,系统是如何获知程序从
- 清除AX寄存器的一条逻辑指令是()或()
- 移位类指令使用时,若需移动多位,则应先将
- 编写程序,求20元素无符号字数组ARRA
- 在scanf函数语句中可用的修饰符有()
- 将AX和BX进行加、减、乘或除的运算,每
- 伪指令语句与指令语句的区别是什么?伪指令
- 指令JMP DWORD PTR[SI][
- 用直接写显存的方法显示字符,把3行1列上
- TYPE运算符的功能是取得变量或标号的(
- 指令IMUL CL,表示()。
- 将AL的第4位置1,其余位不变,指令为(
- 列出INT指令执行的操作,列出CPU响应
- 已知ARRAY是5行5列的有符号字数组,
- 若a是int型变量、且a的初值为6,则执
- 通常主程序和子程序间参数传送的方法有三种
- 编写循环结构程序,进行下列计算,结果存
- 在数据段中定义了三个有符号数A、B、C,
- 把下列十进制数转换为进制数(127)