push al,push ip 为什么不能用?

sbamdanb02 2003-02-20 06:43:37
push al,push ip 为什么不能用?
...全文
2908 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
LittleStar 2003-03-12
  • 打赏
  • 举报
回复
push word ptr al
endurer 2003-03-12
  • 打赏
  • 举报
回复
在DOS下是PUSH的操作数16位的, AL是8位的寄存器.

在WINDOWS下PUSH的操作数是32位的.
swimmer2000 2003-02-22
  • 打赏
  • 举报
回复
ip是下一条指令的地址当然不能任意操作,否则后果不堪设想
nuaawenlin 2003-02-21
  • 打赏
  • 举报
回复
同意楼上的,PUSH 指令只是对16位的寄存器使用
cnzhzy 2003-02-21
  • 打赏
  • 举报
回复
不对啊,PUSH [BX]+SI+5H也可以啊,PUSH 可以将存储器字压栈,386后立即数也可以用PUSH,
如PUSH 5012H
POP AX
PUSH 必须是16位的字,AL是字节,当然不可以啊.可以用PUSH AX
IP 是不可以用PUSH的
Tiangua 2003-02-20
  • 打赏
  • 举报
回复
push 的时候 ,只能push字。
8086--80286以及以后的实模式下,自的长度是2字节~~
保护模式下是4字节~~~所以不能push al.

至于push ip
ip这一个寄存器十分特殊,不能读,不能写~~~

可以

call nnn
nnn:
pop ax(eax)
来得到ip的值~~

21,497

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧