问答题 在A址起有4位非压缩BCD被乘数,在B单元有一个非压缩型的乘数,求此两数乘积且存于C起的单元中,试编程实现之。
【正确答案】DATA  SEGMENT
     A  DB    1,2,3,4   ;被乘数4321
     B  DB    6   ;乘数6
     C  DB    5DUP(0)
     N  EQU    4
   DATA  ENDS
   CODE  SEGMENT
     ASSUME CS: CODE,DS: DATA
   START: MOV  AX,DATA
          MOV  DS,AX
          CLD
          MOV  SI,OFFSET A    ;置数据区地址指针
          MOV  DI,OFFSET C    ;置结果地址指针
          MOV  CX,N    ;置计数初值
   LP:    LODSB    ;取乘数到AL
          MUL  B
          AAM    ;乘法调整
          ADD  AL,[DI]
          AAA    ;加法调整
          STOSB    ;存结果
          MOV  [DI],AH    ;存进位标志
          LOOP  LP    ;未完,转LP
          MOV   AH,4CH
          INT   21H
   CODE  ENDS
   END    START
【答案解析】