8086汇编push pop 易错点总结

8086汇编push pop 易错点总结

首先附代码

assume cs:code

code segment

dw 0123h,0456h

dw 0,0,0

start:

mov ax,cs

mov ss,ax ;设置栈段

mov sp,0Ah ;设置栈顶 A是栈偏移

mov bx,0 ;偏移

mov cx,2 ;设置

s:push cs:[bx]

add bx,2

loop s

mov bx,0

mov cx,2

s0:pop cs:[bx]

add bx,2

loop s0

mov ax,4c00h

int 21h

code ends

end start

观察汇编指令

这里出现命令 PUSH w.[BX]

我们的源命令 s:push cs:[bx]

疑问:w是什么?

解答:在8086环境下,汇编指令中的"w"通常表示"word",表示一个字(16位)。

疑问:push可以对字节操作吗?

实践:不可以对字节进行操作

搜索得出结论

1、push pop 只对字操作(不允许字节进栈)操作数长度为32位时进出栈为双字。

2、汇编语言中PUSH导致SP减2而不是加2。原因:栈在内存中实际存储结构是栈底在高地址,栈顶在低地址

3、8086push不可以使用立即数寻址方式(其他版本允许)

4、pop不可以使用立即数寻址方式,使用段寄存器时不可使用CS段寄存器。

————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/qq_36561697/article/details/80699450

相关推荐

2016俄罗斯动态
365体育app网址

2016俄罗斯动态

📅 07-15 👁️ 1957
黑神话悟空全球解锁时间大全 黑神话全球上线时间表一览
什么是渐进式框架
365bet体育投

什么是渐进式框架

📅 07-22 👁️ 4673
下楼英语怎么说
365体育app网址

下楼英语怎么说

📅 07-17 👁️ 8502
砭贴的功效与危害
365体育app网址

砭贴的功效与危害

📅 09-17 👁️ 825
地推是什么?地推真的能赚钱吗?去哪里对接地推项目?
【心得】寵物、變身道具取得來源整理表(*7/30新增) @幻想神域 Online 哈啦板
苹果手机用久了变卡?这6个方法让手机立马流畅
365bet取款要多久

苹果手机用久了变卡?这6个方法让手机立马流畅

📅 07-02 👁️ 1520
RSA密钥长度、明文长度和密文长度
365bet体育投

RSA密钥长度、明文长度和密文长度

📅 07-11 👁️ 6317