汇编语句的理解??

mosan 2005-08-24 11:35:05
push eax
push [ebx]
push 1234
怎么理解??

...全文
170 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zara 2005-08-25
  • 打赏
  • 举报
回复
1. esp 指向的是栈顶
2. 压栈数据时, 堆栈是有高地址向低地址方向长大的
3. 存入内存相应数据, 就是数据压栈操作了, 应该是从低地址到高地址方向的. 如果是就一个 dword 而言, 它的 4 个 byte 的存储顺序的话, push 操作和一般的 mov 操作对数据的存储顺序是一致的, 即 lsb 在低地址, msb 在高地址 (lsb: less significant byte; msb: most significant byte)
bulala 2005-08-24
  • 打赏
  • 举报
回复
push eax
push [ebx]
push 1234
怎么理解??

push eax ---- 将 eax的内容压栈
push [ebx] ----将 ebx存贮的地址的内容压栈
push 1234 ------将1234 压栈
mosan 2005-08-24
  • 打赏
  • 举报
回复
具体的过程呢?
好像不只是这么简单吧??
这是PUSH指令的执行步骤:
[1]esp<-esp-4
[2][sp]<-src
有几个幼稚的问题:
【1】esp始终指向栈顶,还是栈顶的下一个地址?
【2】就是说堆栈是从高地址向低地址方向长大的,是不是?
【3】那么存入内存相应数据时,是从低地址到高地址的方向存,是不是?
snowbirdfly 2005-08-24
  • 打赏
  • 举报
回复
支持楼上大哥说法~~
tpxc 2005-08-24
  • 打赏
  • 举报
回复
楼上说的对

21,453

社区成员

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

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