mov指令用法

发布网友 发布时间:2022-04-23 08:14

我来回答

5个回答

热心网友 时间:2022-06-18 05:32

1.立即数送寄存器或主存
MOV
reg/mem
,
im
mov
al
,
4

al←4,字节传送
mov
cx
,
0ffh

cx←00ffh,字传送
mov
si
,
200h

si←0200h,字传送
mov
byte
ptr
[si]
,
0ah

byte
ptr
说明是字节操作
mov
word
ptr
[si+2
],
0bh

word
ptr
说明是字操作
#
注意立即数是字节量还是字量
#
明确指令是字节操作还是字操作
2.寄存器送(段)寄存器或主存
MOV
reg/mem/seg
,
reg;
mov
ax
,
bx

ax←bx,字传送
mov
ah
,
al

ah←al,字节传送
mov
ds
,
ax

ds←ax,字传送
mov
[bx]
,
al

[bx]←al,字节传送
3.主存送(段)寄存器
MOV
reg/seg
,
mem;
mov
al
,
[bx]
mov
dx
,
[bp]

dx←ss:[bp]
mov
es
,
[si]

es←ds:[si]
#
不存在存储器向存储器的传送指令
4.段寄存器送寄存器或主存
MOV
reg/mem
,
seg;
mov
si
,
ds
mov
ax
,
es

ax←es
mov
ds
,
ax

ds←ax←es
#
对段寄存器的操作有一些*MOV指令传送功能:






1.两个操作数的类型不一致
–-----例如源操作数是字节,而目的操作数是字;或相反

绝大多数双操作数指令,除非特别说明,目的操作数与源操作数必须类型一致,否则为非法指令
MOV
AL
,
050AH;非法指令:050Ah为字,而AL为字节

寄存器有明确的字节或字类型,有寄存器参与的指令其操作数类型就是寄存器的类型

对于存储器单元与立即数同时作为操作数的情况,必须显式指明;
byte
ptr
指示字节类型

word
ptr
指示字类型。
2.两个操作数不能都是存储器
–------传送指令很灵活,但主存之间的直接传送却不允许

8086指令系统不允许两个操作数都是存储单元(除串操作指令),要实现这种传送,可通过寄存器间接实现
mov
ax
,
buffer1;ax←buffer1(将buffer1内容送ax)
mov
buffer2
,
ax;buffer2←ax;这里buffer1和buffer2是两个字变量、;实际表示直接寻址方式
3.段寄存器的操作有一些*
–----段寄存器属专用寄存器,对他们的操作能力有限

不允许立即数传送给段寄存器
MOV
DS,100H;非法指令:立即数不能传送段寄存器

不允许直接改变CS值
MOV
CS,[SI]
;不允许使用的指令

不允许段寄存器之间的直接数据传送
MOV
DS,ES;非法指令:不允许段寄存器间传送

热心网友 时间:2022-06-18 05:32

MOV指令可以在CPU内或CPU和存储器之间传送字或字节,它传送的信息可以从寄存器到寄存器,立即数到寄存器,立即数到存储单元,从存储单元到寄存器,从寄存器到存储单元,从寄存器或存储单元到除CS外的段寄存器(注意立即数不能直接送段寄存器),从段寄存器到寄存器或存储单元。
虽然这个问题有点喜剧,但我还是给你最详细的解答:
解:mov指令是汇编里使用最频繁的指令,它相当于高级语言中的赋值语句。
指令格式如下:
mov
reg/mem,reg/mem/Imm
该指令的功能是:把源操作数(第二操作数)的值传给目的操作数(第一操作数)。指令执行后,目的操作数的值被改变,而源操作数的值不变。

热心网友 时间:2022-06-18 05:33

MOV BL,AX(数据长度不匹配)
MOV DS,2000H(不允许给段存储器用立即数赋值)
MOV CS,AX(禁止用MOV指令给CS赋值)
MOV [AX],[2000H](禁止直接在存储器间传送)
MOV [2000H],20H(数据长度不确切,应改为
MOV BYTE PTR [2000H],20H)
太多了,不说了。

热心网友 时间:2022-06-18 05:33

MOV BL,AX(数据长度不匹配)
MOV DS,2000H(不允许给段存储器用立即数赋值)
MOV CS,AX(禁止用MOV指令给CS赋值)
MOV [AX],[2000H](禁止直接在存储器间传送)
MOV [2000H],20H(数据长度不确切,应改为
MOV BYTE PTR [2000H],20H)
太多了,不说了!

热心网友 时间:2022-06-18 05:34

SEE

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com