汇编语言王爽第六部分(数据传输指令,mov,push,pop,pushf,popf)

数据传输指令

实现寄存器和内存,寄存器和寄存器之间的单个数据传送。

mov

(1)MOV 寄存器 , 寄存器/内存单元/段寄存器/立即数
(2)MOV 内存单元 , 寄存器/段寄存器/立即数
(3)MOV 段寄存器, 寄存器/内存单元

非法指令
(1)操作数类型不一致,例如mov ax,bl
ax是十六位寄存器,bl是8位寄存器
(2)不能修改cs段寄存器内容
(3)不能在内存之间直接传输数据
(4)不能用立即数修改DS

push

push ax表示将ax数据入栈,入栈以字单位进行。

push ax执行过程
在这里插入图片描述
(1)SP=SP-2
(2)将ax中的内容送入SS:SP指向的内存单元处,SS:SP指向新栈顶

pop

pop ax表示从栈顶取出数据送入ax,出栈以字单位进行

pop ax执行过程
在这里插入图片描述
(1)将SS:SP指向的内存单元处的数据送入ax
(2)SP=SP+2,以当前栈顶下面的单元为新的栈顶

pushf和popf

(1)pushf是将标志寄存器的值压栈
(2)popf是从栈中弹出数据
(3)原理与push和pop类似

发布了8 篇原创文章 · 获赞 0 · 访问量 93

猜你喜欢

转载自blog.csdn.net/qq_41955402/article/details/104267260