试题详情
简答题数组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
  • 关注下方微信公众号,在线模考后查看

热门试题