通用寄存器:16位AX、BX、 CX、 DX,均可分为 *H *L(*可为ABCD)
字在寄存器中的存储:(易混点)
8086(16位的CPU,运算器一次最多可处理16位,寄存器最大宽度16位以及寄存器与运算器之间的通路为16位)中,字的高位字节存在寄存器的高8位中,低位字节存在寄存器的低8位中
简单指令介绍(注意操作对象位数应一致,以及加法指令的伪溢出(进位在CF中)):
mov 移动指令
add 加法指令
jmp 转移指令
段(代码段则是人为定义的):
内存没有分段,划分来自于CPU,更方便的管理内存
8086中段最大长度为64KB(16位地址寻址能力)且段起始地址一定是16的倍数(见式1)
8086给出物理地址的方法:物理地址 = 段地址 * 16(相当于左移4个二进制位) + 偏移地址 (式1)
段寄存器:16位CS、DS、ES、SS
CS和IP:指示了CPU当前要读取指令的地址(CS:IP)
CS:代码段寄存器,IP:指令指针寄存器
CPU在读取指令将指令置于指令缓冲器未执行时便增加IP获得下一条指令地址
jmp指令简介:
1、jmp XXXX(段地址):YYYY(偏移地址) CS = XXXX、IP = YYYY
2、jmp 某一合法寄存器功能类似于 mov IP,合法寄存器(本指令实际不能运行)
实验:Debug模式:R命令:查看、修改寄存器(常用)
D命令:查看内存(常用)
E命令:修改内存
U命令:将内存中的内容解释为及其指令和对应的汇编指令(常用)
T命令:单步执行CS:IP指向的内存单元的指令(常用)
A命令:以汇编指令的形式向内存中写入指令