社区
汇编语言
帖子详情
汇编语句的理解??
mosan
2005-08-24 11:35:05
push eax
push [ebx]
push 1234
怎么理解??
...全文
200
5
打赏
收藏
汇编语句的理解??
push eax push [ebx] push 1234 怎么理解??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
楼上说的对
if
语句
的
汇编
表示
本文探讨了GCC编译器如何将简单的if
语句
转换为
汇编
代码,并介绍了条件跳转与条件传送指令的使用及其对程序效率的影响。
用
汇编
理解
C++
本文探讨了如何从
汇编
语言角度
理解
C++代码,详细介绍了C++代码编译为
汇编
代码的过程,包括变量存储、函数调用、类及成员函数的实现等方面。
汇编
和反
汇编
的
理解
本文详细介绍了
汇编
语言如何将高级语言转换为机器码,通过具体实例展示了68HC11处理器的手工编译过程。同时,文章还讲解了反
汇编
的概念,即如何将机器码转换回助记符,以便
理解
程序的功能和工作方式。
c++中switch
语句
的反
汇编
与优化
本文深入分析C++中switch
语句
在不同场景下的反
汇编
实现与编译器优化策略。针对case数量小于4、线性分布、非线性稀疏以及超过255种情况,分别探讨了顺序比较、跳转表、索引表结合地址表及判定树等底层机制,揭示了编译器如何通过空间换时间提升分支效率。
如何阅读
汇编
代码
理解
C程序?
本文系统讲解如何通过阅读x86-64
汇编
代码深入
理解
C程序行为,涵盖GCC/Clang生成
汇编
的方法、
汇编
与C
语句
的映射关系、循环/条件
语句
的底层实现、编译器优化(O3/O0)对指令序列的影响,以及GDB调试
汇编
的实战技巧。重点聚焦于寄存器使用、栈帧布局、内存访问模式及典型优化策略。
汇编语言
21,500
社区成员
41,617
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章