摘要: MOVS指令,可以由内存到内存移动数据。固定的是将ESI值对应的内存地址里面的值,移动到EDI值对应的内存地址里。 标志寄存器--EFL 32位,每一位都有特定的含义。 下标第10位,是DF位,方向标志位。 DF为0的时候,执行完MOVS指令,ESI EDI的值会加 1/2/4,(具体是1还是2还是 阅读全文
posted @ 2020-11-01 19:42 KeepMoving2018 阅读(686) 评论(0) 推荐(0)
摘要: 指令详情,可参考Intel的白皮书,里面有具体描述。 阅读全文
posted @ 2020-11-01 18:53 KeepMoving2018 阅读(223) 评论(0) 推荐(0)
摘要: 80x86绝大部分程序都是使用的小端存储;手机 ARM 绝大多数都是使用大端存储的。这个不是绝对的,编译器可以改存储模式。 观察手机QQ应用程序,使用的是小端存储。 阅读全文
posted @ 2020-11-01 16:16 KeepMoving2018 阅读(241) 评论(0) 推荐(0)
摘要: 内存地址的五种形式: 阅读全文
posted @ 2020-11-01 15:59 KeepMoving2018 阅读(145) 评论(0) 推荐(0)
摘要: 前面我们学了寄存器,它本身就是用来存储数据的。寄存器是位于CPU当中的,无论是16位,32位还是64位,他的寄存器数量都是非常有限的。 如果要存储较多数据,仅靠CPU里面的寄存器是不够的。 我们可以把数据存放在内存当中。 我们编程时提到的内存,指的是每个进程的虚拟的4GB内存。映射到实际的物理内存。 阅读全文
posted @ 2020-11-01 08:33 KeepMoving2018 阅读(226) 评论(0) 推荐(0)