微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 8086指令系统---算术指令(一)

8086指令系统---算术指令(一)

时间:11-27 来源:互联网 点击:

 例无符号数乘法 

    ; from the data segment
    DATA1  DB  25H
    DATA2  DB  65H
    RESULT DW ?
    ; from the code segment
      MOV   AL,DATA1
      MOV   BL,DATA2
      MUL   BL        ; register addressing mode
      MOV   RESULT,AX
    or
      MOV   AL,DATA1
      MUL   DATA2       ; direct addressing mode
      MOV   RESULT,AX
    or
      MOV   AL,DATA1
      MOV   SI,OFFSET DATA2
      MUL   BYTE PTR [SI]   ;register indirect addressing mode
      MOV   RESULT,AX

  本例25H×65H=0E99H,高16位不为0,所以CF=1,OF=1。
 
 
  例  

    DATA3  DW  2378H
    DATA4  DW  2F79H
    RESULT1 DW  2 DUP(?)
    …    …
      MOV   AX, DATA3   ; load first operand into AX
      IMUL   DATA4     ; multiply it by the second operand
      MOV   RESULT1, AX  ; store the lower word result
      MOV   RESULT1+2, DX ; store the higher word result

  本例2378H×2F79H=0693 CBB8H,即(DX)=0693H,(AX)=0CBB8H。因为高16位不是低16位的符号扩展,所以条件码设置为CF=1,OF=1。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top