![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
汇编学习笔记
怪味巧克力
安全技术爱好者:https://www.cnblogs.com/Jleixin/
展开
-
汇编—EFLAGS寄存器
1. EFLAGS寄存器 两个数相加,如果最高位向高位进位,结果忽略这个位,那么这个位要放到 CF 里面。 Carry Flag,进位标志。 减法运算,如果最高位向高位借位,则 CF 位为 1。 CF 表示加满了之后,向高位进位,但是计算机限制宽度,没法表示,所以把进的这个位暂时放在标志寄存器里面的一个位 CF,以后有待查证,减法同理。 CF 在 eflag 里面第 0 位。运算的宽度可以自定义...原创 2020-04-28 18:11:45 · 2351 阅读 · 0 评论 -
汇编—汇编指令
1.汇编指令 复合指令: lea esp,[esp-4] mov [esp],eax 使用 vc6 调试观察内存的变化: 这两条指令的组合就是我们学的新指令:push eax。 mov eax,[esp] lea esp,[esp+4]就是指令 pop eax。 在 80x86CPU 中,eip 寄存器指向的是将要执行代码的位置, 代码本身也是数据,也是由二进制构成。 Intel 指令的长度不同,...原创 2020-04-28 18:08:58 · 532 阅读 · 0 评论 -
汇编—内存
2.内存 寄存器和内存有什么区别呢? 计算器也有算的快的和算的慢的,那么,计算速度快的叫做寄存器,计算速度慢的叫做内存。它们的结构差不多,都是定宽。但是寄存器由于速度快,所以价格贵,那么在CPU内部,寄存器的数量就会非常有限,只有8个,所以我们可以命名。然而内存速度慢,便宜,所以数量比较多,那么久没必要取名字了,所以只能取个编号。内存中寄存器的编号是32位的。 ds:[个数],表示内存单元。 ...原创 2020-04-27 18:26:53 · 348 阅读 · 0 评论 -
汇编—通用寄存器
1.通用寄存器 1)寄存器 存储数据: CPU > 内存 > 硬盘 32位CPU: 8 16 32 64位CPU:8 16 32 64 2)32位通用寄存器: EAX ESP ECX EBP EDX ESI EBX EDI 计算机最常见的指令就是移动指令:mov ecx eax 在mov,ecx,eax中,后面的是源,前面的是目标,中间是逗号,不区分大小写。寄存器间相互...原创 2020-04-27 16:12:20 · 1489 阅读 · 0 评论