移动指令和运算指令

发布者:EternalSmile最新更新时间:2022-10-20 来源: csdn关键字:运算指令 手机看文章 扫描二维码
随时随地手机看文章

移动指令


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


关键字:运算指令 引用地址:移动指令和运算指令

上一篇:PUSH进栈指令和POP出栈指令
下一篇:数据段寄存器DS的使用

推荐阅读最新更新时间:2024-11-11 22:11

IC解密之单片机算术运算指令
  单片机算术运算指令汇总,不带进位位的单片机加法指令   ADD A,#DATA ;例:ADD A,#10H   ADD A,direct ;例:ADD A,10H   ADD A,Rn ;例:ADD A,R7   ADD A,@Ri ;例:ADD A,@R0   用途:将A中的值与其后面的值相加,最终结果否是回到A中。   例:MOV A,#30H   ADD A,#10H   则执行完本条指令后,A中的值为40H。   下面的题目自行练习   MOV 34H,#10H   MOV R0,#13H   MOV A,34H   ADD A,R0   MOV R1,#34H   ADD A,@R1
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved