微型计算机启天A5000-B124说明,微型计算机原理及应用知识点总结

由mem/reg2所指定的存储单元或寄存器中的8位数据或16位数据传送到由mem/reg1所指定的存储单元或寄存器中,但不允许从存储器传送到存储器。

② MOV mem/reg,data

将8位或16位立即数data传送到由mem/reg所指定的存储单元或寄存器中。

③ MOV reg,data

将8位或16位立即数data传送到由reg所指定的寄存器中。

④ MOV ac,mem

将存储单元中的8位或16位数据传送到累加器ac中。

⑤ MOV mem,ac

将累加器AL(8位)或AX(16位)中的数据传送到由mem所指定的存储单元中。

使用MOV指令时要注意的问题:

CS不能做目的操作数

不能直接从存储器到存储器之间数据传送

2条伪指令:

WORD PTR表示字数据类型

BYTE PTR表示字节数据类型

(2)PUSH和POP

PUSH s:将源操作数(16位)压入堆栈

POP d:将堆栈中当前栈顶两相邻单元的数据字弹出到d

压栈指令PUSH AX:将AX(16位)中的数据压入栈,AX是源操作数,栈顶是目的操作数,由(SS:SP)指向。

出栈指令POP AX:将栈顶信息弹出到AX中,AX是目的操作数,栈顶是源操作数,由(SS:SP)指向。

设当前CS=1000H,IP=0020H,SS=1600H,SP=004CH,则该指令执行时,将当前栈顶两相邻单元1604CH与1604DH中的数据字弹出并传送到CX中,同时修改堆栈指针,SP+2→SP,使之指向新栈顶1604EH。

堆栈是内存中开辟的一个段,存放需要保护的信息(数据、地址)。堆栈操作时应遵循的5点原则:

堆栈的存取操作每次必须是一个字(即2个字节)。

执行压栈指令时,总是从高位地址向低位地址存放数据,而不象内存中的其他段,总是从低地址向高地址存放;执行出栈指令时,从堆栈中弹出数据则正好相反。

堆栈段在内存中的物理地址由SS和SP或SS和BP决定,其中,SS是堆栈段寄存器,它是栈区的最低地址,称为堆栈的段地址;SP是进栈或出栈指令隐含的堆栈地址指针,它的起始值是堆栈应达到的最大偏移量,即指向栈顶地址。堆栈段的范围是SS×16至SS×16+SP 的起始值。每执行一次压栈指令,则SP-2,推入堆栈的数据放在栈顶;而每执行一次弹出指令时,则SP+2。BP寄存器用于对堆栈中的数据块进行随机存取,例如,MOV AX,[BP][SI]指令执行后,将把偏移量为BP+SI的存储单元的内容装入AX。

堆栈指令中的操作数只能是寄存器或存储器操作数,而不能是立即数。

对CS段寄存器可以使用压栈指令PUSH CX,但却不能使用POP CS这种无效指令。

(3)XCHG d,s

该指令功能是将源操作数与目标操作数(字节或字)相互对应交换位置。交换可以在通用寄存器与累加器之间、通用寄存器之间、通用寄存器与存储器之间进行。但不能在两个存储单元之间交换,段寄存器与IP也不能作为一个源或目的操作数。

(4)XLAT

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值