汇编 课1
注:1.伪指令不会产生机器码
2.汇编语言中不区分大小写
寄存器 8086
Intel 8086是一个由Intel于1978年所设计的16位微处理器芯片,是x86架构的鼻祖。不久之后,Intel 就推出了 Intel 8088 (一个拥有8根外部数据总线的微处理器)。它是以8080和8085的设计为基础,拥有类似的寄存器组,但是数据总线扩充为16位。总线接口单元(Bus Interface Unit)透过6字节预存(prefecth) 的队列(queue)位指令给执行单元(Execution Unit),所以取指令和执行是同步的,8086 CPU有20条地址线,可直接寻址1MB的存储空间,每一个存储单元可以存放一个字节(8位)二进制信息。
14个16位寄存器:AX BX CX DX CS IP SL DL BP SP SS DS ES FLAGS
X位cpu:x指字长,字长16,即16位cpu
字长:单位时间内能一次处理的二进制位数
位宽:cpu通过外部数据总线与内存间一次能传送的数据位
16位cpu 字长16=位宽16
准32位cpu 字长32>位宽16
超32位cpu 字长32<位宽64
ISA:指令及体系结构
对cpu的不同的设计指令规则,不同cpu有不同的ISA,但存在市场标准,并保持向前兼容
X86:IA32指令集(x86)
cpu的差异:1.字长,速度不同
2.工作模式:实模式 (可任意探寻内存地址空间)
保护模式
3.指令丰富程度
8086中 寄存器16位--->可拆成两个8位寄存器独立使用(目的:与早期cpu兼容)
AX--->AH(high)+AL(low)
字的高八位——>AH
字的低八位——>AL
运算时超出寄存器表示的位数的情况:保留后位
例:AX=8226H BX=8226H ADD AX,BX后,AX=? (H表示十六进制)
8226H
+ 8226H 所以AX=044CH
1044CH