x86_64汇编学习记述二

x86_64汇编学习记述二 2

bingliaolong Compilation 1年前 (2023-08-07) 8 0

大小端 可以将内存想象为一个大数组。它包含字节。 每个地址存储内存“数组”的一个元素。每个元素都是一个字节。 例如我们有 4 个字节:AA 56 AB FF 小端字节序 低地址存低位字节 0 FF 1 AB 2 56...

汇编记述三

汇编记述三

bingliaolong Compilation 1年前 (2023-08-07) 14 0

关于栈空间大小 反汇编代码中的栈大小 栈帧的大小通常是由编译器在编译阶段计算出来的。 编译器在编译源代码时会分析函数的局部变量、函数参数、寄存器的使用情况等信息,然后根据这些信息计算出每个函数所需的栈帧大小。 自己写...

汇编记述二

汇编记述二

bingliaolong Compilation 1年前 (2023-08-07) 9 0

关于比较与跳转 cmp eax,ebx会比较两个寄存器,然后根据两个比较结果来来设置处理器标志位(例如“大于”标志) 执行到jg .L2时,这条指令会检查处理器中“大于”的标志位 如果“大于”标志位被设置了,则跳转到...

x86_64汇编学习记述一

x86_64汇编学习记述一

bingliaolong Compilation 1年前 (2023-08-06) 7 0

数据部分 数据部分用于声明常量。 该数据在运行时不会改变。 section .data 代码部分 文本部分用于代码。 该部分必须以声明 global _start 开始,它告诉内核程序执行的开始位置。 section...

汇编记述一

汇编记述一

bingliaolong Compilation 1年前 (2023-08-04) 12 0

通用寄存器 RAX 是一个 64 位寄存器,可以存储 64 位的数据。 RAX 寄存器在 x86 架构中广泛用于存储操作数、函数返回值以及执行算术和逻辑操作。它是通用寄存器,可以用于多种目的。 调用约定: 在函数调用...

基础知识

基础知识

bingliaolong Compilation 4年前 (2021-03-22) 5 0

汇编 关于汇编的知识。 基础知识 汇编语言是人和计算机沟通的最直接的方式,它描述了机器最终所要执行的指令序列。 汇编语言是直接在硬件之上工作的编程语言。 机器语言 机器语言是机器指令的集合 机器指令展开来讲就是一台机...

寄存器

寄存器

bingliaolong Compilation 4年前 (2021-03-27) 6 0

汇编 寄存器部分。 寄存器 一个典型的CPU由运算器、控制器、寄存器等器件组成 这些器件靠内部总线相连,之前所说的地址总线、数据总线、控制总线相对CPU内部而言,是外部总线 内部总线实现CPU内部各个器件之间的联系,...

寄存器和内存访问

寄存器和内存访问

bingliaolong Compilation 4年前 (2021-03-28) 11 0

汇编 寄存器和内存访问部分。 字的存储 CPU中,用16位的寄存器来存储一个字 寄存器的高8位(高位单元)存放字的高位字节,寄存器的低8位(低位单元)存储字的低位字节 由于内存单元是字节单元(一个单元存放一个字节),...

扫一扫二维码分享