问答题 在单元A中有一个无符号数,要求将该数乘10运算。结果存回字单元B中。请使用两种方法实现,并比较它们的差异。
【正确答案】方法一:
   DATA  SEGMENT
     A  DB 5
     B  DW 0
   DATA  ENDS
   CODES SEGMENT
     ASSUME CS: CODE,DS: DATA
   START: MOV  AX,DATA
          MOV  DS,AX
          MOV  AL,10   直接乘10
          MUL  A
          MOV  B,AX    ;结果存于B中
          MOV  AH,4CH
          INT  21H
   CODE  ENDS
   END   START
   方法二:
   DATA  SEGMENT
     A DB 5
     B DW 0
   DATA  ENDS
   CODE  SEGMENT
     ASSUME CS: CODE,DS: DATA
   START: MOV    AX,DATA
          MOV    DS,AX
          MOV    AL,A    ;扩展AL为AX
          MOV    AH,0
          SHL    AX,1   ;AX×2
          MOV    BX,AX    保存
          SHL    AX,1   AX×4
          SHL    AX,1   ;AX×8
          ADD    AX,BX    ;AX等于AX×10
          MOV    B,AX
          MOV    AH,4CH
          INT    21H
   CODE   ENDS
   END    START
   两种方法比较,第二种预算速度比第一种明显要快。
【答案解析】