汇编加减乘除指令

一、ADD ADC INC和SUB SBB DEC
       1.加法指令

         2.减法指令

 CF (进位计数器,存进位值)

sub和add指令要求:DST、SRC 不能同时为存储器,DST不能为立即数,运算结果对标志位有影响。
sbb和adc指令要求:DST、SRC 不能同时为存储器, SRC可为立即数,运算结果对标志位有影响。
 例:
date segment
    x dw 56abh,34cdh,?,?
    y db ?,?,?,?
date ends

code segment
    assume cs:code,ds:date
    start:
        mov ax,date
        mov ds,ax

        mov ax,x
        add ax,x+2
        mov x+4,ax

        mov ax,x
        sub ax,x+2 
        mov x+6,ax

        mov bl,byte ptr x
        add bl,byte ptr x+2
        mov y,bl
        mov bl,byte ptr x+1
        adc bl,byte ptr x+3
        mov y+1,bl

        mov bl,byte ptr x
        sub bl,byte ptr x+2
        mov y+2,bl
        mov bl,byte ptr x+1
        sbb bl,byte ptr x+3
        mov y+3,bl

        mov ah,4ch
        int 21h
    code ends
end start
View Code

 

二、MUL IMUL和DIV IDIV
       1.乘法指令

        2.除法指令

 

 
date segment
    buff1 db 36,10,20
    sum1  db ?,?,?
    buff2 dw 100,40,1h
    sum2 dw ?,?,?
date ends
code segment
    assume cs:code,ds:date
    start:
        mov ax,date
        mov ds,ax

        mov al,buff1+1
        mul buff1+2
        add ax,buff2
        mov dx,0
        div buff2+2
        sub ax,buff2+4
        mov sum2,ax

        mov ah,4ch
        int 21h
code ends
end start
View Code

 

三、数值位数扩展
新手学习,若有错误请留言,转载请附上博文连接,谢谢!
posted @ 2020-07-11 20:03  明亮先森  阅读(2403)  评论(0编辑  收藏  举报