数据传输指令
实现寄存器和内存,寄存器和寄存器之间的单个数据传送。
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类似
来源:CSDN
作者:无名至尊
链接:https://blog.csdn.net/qq_41955402/article/details/104267260