
汇编复习
smb_yy
一枚来自无名的it男
展开
-
intel专用寄存器EFLAGS标志寄存器
0x01之前在上一篇文章说到ZF,CF,SF,OF,这几个位,这几个控制位是上一条语句的执行结果的状态,这些状态对于执行是非常重要的,那么是什么来保存和控制着这些值呢? 答案就是EFLAGS寄存器,两个专用寄存器之一,一个是eip,一个就是eflags了eflags组成6个状态寄存器OFZFSFCFAF :辅助进位标志 ;若加法时,低四位向前进位,或者减法时错位,AF = 1...原创 2020-03-09 22:19:06 · 647 阅读 · 0 评论 -
06 08x86汇编编程
汇编纲领:与硬件进行交互,将其他语言转换成汇编Hello World以. 开头的都是汇编指示,指导汇编器如何进行汇编 其中.file 和 .def用于调试(通常可以忽略) .text 代码段 .p2align a,b,c 指定下一行代码的对齐方式 a: 2^a次幂对齐 b: 使用b来填充 c: 最多填充多少字节 ...原创 2020-03-09 22:00:15 · 296 阅读 · 0 评论 -
05 汇编中while
汇编需要考虑的四个要素- 寄存器与寄存器堆 - 条件码- 存储器- 指令寄存器条件码 :上一条指令运行结果反应在条件码中- CF carry clag 进位 - 用于检测无符号整数运算溢出- ZF zero flag 等于零- SF sign flag 符号位- OF overflow flag 溢出位 - 补码运算的溢出(带符号整数运算)算术和...原创 2020-03-06 10:48:22 · 480 阅读 · 0 评论 -
04 指令及其表示
大纲汇编与c之间的数据类型常见的汇编语法(AT&T)汇编语言的数据格式 字 2bytsc声明Intel数据类型汇编代码后缀大小(字节x86-32)char字节b1short节w2int双字l4unsigned双字l4char *双子l4long int双字l4double双精度...原创 2020-02-27 11:00:34 · 1705 阅读 · 0 评论 -
03c语言中数组和结构体
汇编中的数据类型ascii 文本字符串asciz 以空字符结尾的字符串byte 字节值double 双精度浮点值float 单精度浮点值int 32 32位整数long 32 32位整数,和int相同octa 16字节整数quad 8字节整数short 16位整数single 单精度浮点数(与float相同...原创 2020-02-27 10:56:13 · 202 阅读 · 0 评论 -
02 寄存器和描述符
描述符GDT;全局描述符表:主要存放操作系统和个任务公用的描述符非常重要:在计算机转换成保护模式之后,gdt就用来表示内存中的位置 公用的数据和代码段描述符,各任务的TSS描述符和LDT描述符 tss是任务状态段,存放各个任务私有运行状态信息描述符GDTR : ,48位LDT;局部描述符表,主要存放各个任务的私有描述符段寄存器:高13位表示索引号,低2位表示特权级别寄存...原创 2020-02-25 22:46:00 · 535 阅读 · 0 评论 -
一.汇编基础知识
ISA:指令系统—>是程序员看到的计算机属性CISC:x86 80X86处理器 16位 80386 1985年第一个32位的处理器80386有三种工作模式 实模式:相当于一个可以进行32为快速运算的8086 保护模式:主模式,通过对程序使用的存储区采用分段,分页的存储管理机制,达到分级使用,互不干扰的保护目的,能为每个认为提供一台虚拟处理器,使每个任务单独执行...原创 2020-02-24 09:39:22 · 315 阅读 · 0 评论