逆向学习笔记(一)

部分内容摘自《汇编语言》王爽著

1.CPU由运算器、控制器、寄存器等器件构成,这些器件靠内部总线相连

  • 运算器进行信息处理
  • 寄存器进行信息存储
  • 控制器控制各种器件进行工作

寄存器是CPU中程序员可以用指令读写的部件。不同CPU,寄存器的个数和结构是不同的

2.8086CPU的所有寄存器都是16位的,AX、BX、CX、DX这四个寄存器通常用来存放一般性的数据,被称为通用寄存器

这四个寄存器的每个寄存器又可以分为两个独立使用的8位寄存器:

  • AX可分为AH和AL
  • BX可分为BH和BL

H代表高8位,L代表低8位

3.出于对兼容性的考虑,8086CPU可以处理字节这两种尺寸的数据:

1 byte = 8 bit
1 word = 2 byte

1字等于2字节,这两个字节又分别称为这个字的高位字节和低位字节

4.认识一些汇编指令:

汇编指令 高级语言描述 解释
mov ax,18 AX = 18 将18送入寄存器AX
add ax,8 AX = AX+8 将寄存器AX的数值加上8,结果存在AX中
mov ax,bx AX = BX 将寄存器BX中的数据送入寄存器AX

在写汇编指令或寄存器名称时不区分大小写

进行指令传递数据时,指令的两个操作对象的位数应该是一致的,例如:

mov ax,18H

下面这中是错误的:

mov al, 20000

因为低8位寄存器最大可放数值为255

5.什么是16位结构的CPU?

  • 运算器一次最多可以处理16位的数据

  • 寄存器的最大宽度为16位

  • 寄存器和运算器之间的通路为16位