移动指令和运算指令

Posted ʚVVcatɞ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了移动指令和运算指令相关的知识,希望对你有一定的参考价值。

移动指令

mov 寄存器,数据         mov ax,10H 
mov 寄存器,寄存器        mov ax,bx
mov 寄存器,内存单元      mov ax,ds:[0] 取字型数据 mov al,ds:[0]取字节型数据
mov 内存单元,寄存器      mov ds:[0],ax
mov 段寄存器,寄存器      mov bx,1000H  →  mov ds,bx
mov 寄存器,段寄存器      mov bx,ds

注: mov ds,数据H 是错误的赋值方式
例如:

mov ds,1000H

运算指令

add 寄存器,数据             add ax,1
add 寄存器,寄存器           add ax,bx
add 寄存器,内存单元        add ax,ds:[0]
add 内存单元,寄存器         add ds:[0],ax


sub 寄存器,数据       sub ax,1
sub 寄存器,寄存器      sub ax,bx       sub ax,ax
sub 寄存器,内存单元    sub ax,ds:[0]
sub 内存单元,寄存器    sub [0],ax

注意:add ds,ax 是错误的运算方式

例1:写几条指令 将一段内存中连续的3个字型数据累加存放到AX中

20000H 12H → 3412H
20001H 34H
20002H 99H → 8899H
20003H 88H
20004H FFH → EEFFH
20005H EEH

mov bx,2000H
mov ds,bx
mov ax,0

add ax, ds:[0]
add ax,ds:[2]
add ax,ds:[4]   ;AX = ABAA

例2:将DS:[0]中的 FF、 DS:[1]中的FF与AX相加

20000H FFH → FFFFH
20001H FFH

mov ax,FFFF
mov bx,2000
mov ds,bx
add [0],ax    

最后得到的结果:
20000H FEH → FFFEH
20001H FFH


例3:将DS:[0]中的 FF与Al相加
20000H FFH

mov al,FF
mov bx,2000
mov ds,bx
add [0],al

最后得到的结果:
20000H FEH


例4:将DS:[0]中的 FF与AX相加
20000H FFH

mov ax,10
mov al,FF
mov bx,2000
mov ds,bx
add [0],ax

最后得到的结果:
20000H FEH
20001H 01H


0000:0010 62 26 E6 D6 CC 2E 3C CB - AB BA 00 00 26 06 66 88

mov ax,1                         AX = 1
mov ds,ax                        DS = 1
 
mov ax,ds:[0]       字型数据      AX = 2662H
mov bx,ds:[1]       字型数据      BX = E626H
mov ax,bx                       AX = E626H
mov ax,ds:[0]       字型数据      AX = 2662H

mov bx,ds:[2]       字型数据      BX = D6E6H
add ax,bx           字型数据相加   AX = FD48H  + 2ECCH

add ax,ds:[4]       字型数据相加   AX = 2C14H
mov ax,0                         AX = 0
mov al,ds:[2]       字节型数据     AX = 00E6H    AL = E6H
mov bx,0                         BX = 0000
mov bl,ds:[c]       字节型数据     BX = 0026H    BL = 26H
add al,bl           字节型数据相加  AX = 000CH  AL = 0CH

以上是关于移动指令和运算指令的主要内容,如果未能解决你的问题,请参考以下文章

这些角度电子邮件指令代码片段如何连接

编程基础——移动数据读入指令

算术和逻辑运算指令

汇编浮点指令

用三菱plc循环位移指令做8灯循环梯形图

IMUL 指令寄存器