汇编简单入门

柔情只为你懂 2021-12-09 15:21 244阅读 0赞

基础

程序虚拟内存:

568153-20190621172544297-253157482.png

地址自底向上增加,程序虚拟内存自底向上分为代码段、数据段、堆、栈

编程语言

568153-20190621172958463-1031860829.png

寄存器

568153-20190621172802602-1117487545.png

早起X86 CPU 8个寄存器(前7个通用,最后一个专用于保存栈顶地址),现代CPU已很多寄存器,但上述名字仍保留。

C源码及对应汇编

(gcc -S input.c )

568153-20190621173122381-947239914.png

568153-20190621173242972-1804031474.png

可以看出个问题:函数调用前是从后到前将实参入栈的,而函数内是从近到远(从而相当于从前到后)引用实参旳。所以与源码找中实参的书写顺序的关系是:前缀相反、后者相同

http://www.ruanyifeng.com/blog/2018/01/assembly-language-primer.html

转载于:https://www.cnblogs.com/z-sm/p/11065918.html

发表评论

表情:
评论列表 (有 0 条评论,244人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Windows X64汇编入门(2)

    tankaiha     五一长假就要结束了,总算有时间好好睡了几个懒觉。今天醒来后想到的第一件事就是,该写第二篇了。     64位技术现在还不成熟,没有好调试

    相关 Windows X64汇编入门

    Windows X64汇编入门(1) tankaiha     最近断断续续接触了些64位汇编的知识,这里小结一下,一是阶段学习的回顾,二是希望对64位汇编新手有

    相关 (五)ARM汇编 简单了解

    > 汇编语言在最底层,只有电路的电信号,可以用电压表示电路状态,所以用0和1来代替高低电平。也就有了二进制。处理器处理二进制序列,有时候也成为机器码。 > 假设 > 有

    相关 GNU ARM汇编快速入门

    以前用ARM的IDE工具,使用的是ARM标准的汇编语言。现在要使用GNU的工具,当然要了解一点GNU ARM汇编的不同之处。其实非常的简单,浏览一下文档然后再看看程序就完全可以