
寄存器和内存访问
汇编 寄存器和内存访问部分。 字的存储 CPU中,用16位的寄存器来存储一个字 寄存器的高8位(高位单元)存放字的高位字节,寄存器的低8位(低位单元)存储字的低位字节 由于内存单元是字节单元(一个单元存放一个字节),...
汇编 寄存器和内存访问部分。 字的存储 CPU中,用16位的寄存器来存储一个字 寄存器的高8位(高位单元)存放字的高位字节,寄存器的低8位(低位单元)存储字的低位字节 由于内存单元是字节单元(一个单元存放一个字节),...
汇编 寄存器部分。 寄存器 一个典型的CPU由运算器、控制器、寄存器等器件组成 这些器件靠内部总线相连,之前所说的地址总线、数据总线、控制总线相对CPU内部而言,是外部总线 内部总线实现CPU内部各个器件之间的联系,...
汇编 关于汇编的知识。 基础知识 汇编语言是人和计算机沟通的最直接的方式,它描述了机器最终所要执行的指令序列。 汇编语言是直接在硬件之上工作的编程语言。 机器语言 机器语言是机器指令的集合 机器指令展开来讲就是一台机...
通用寄存器 RAX 是一个 64 位寄存器,可以存储 64 位的数据。 RAX 寄存器在 x86 架构中广泛用于存储操作数、函数返回值以及执行算术和逻辑操作。它是通用寄存器,可以用于多种目的。 调用约定: 在函数调用...
数据部分 数据部分用于声明常量。 该数据在运行时不会改变。 section .data 代码部分 文本部分用于代码。 该部分必须以声明 global _start 开始,它告诉内核程序执行的开始位置。 section...
关于比较与跳转 cmp eax,ebx会比较两个寄存器,然后根据两个比较结果来来设置处理器标志位(例如“大于”标志) 执行到jg .L2时,这条指令会检查处理器中“大于”的标志位 如果“大于”标志位被设置了,则跳转到...
关于栈空间大小 反汇编代码中的栈大小 栈帧的大小通常是由编译器在编译阶段计算出来的。 编译器在编译源代码时会分析函数的局部变量、函数参数、寄存器的使用情况等信息,然后根据这些信息计算出每个函数所需的栈帧大小。 自己写...
标志寄存器 CPU内部的寄存器中,有一种特殊的寄存器具有以下3种作用 用来存储相关指令的某些执行结果 用来为CPU执行相关指令提供行为依据 用来控制CPU的相关工作方式 这种特殊的寄存器在8086CPU种,被称为标志...
大小端 可以将内存想象为一个大数组。它包含字节。 每个地址存储内存“数组”的一个元素。每个元素都是一个字节。 例如我们有 4 个字节:AA 56 AB FF 小端字节序 低地址存低位字节 0 FF 1 AB 2 56...
汇编 指令相关部分。 转移指令 可以修改IP,或同时修改CS和IP的指令统称为转移指令 换而言之,转移指令就是可以控制CPU执行内存中某处代码的指令 8086CPU转移指令 只修改IP,如:jmp ax 同时修改CS...