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

热门试题