通用寄存器:AX,BX,CX,DX,为16位寄存器,都可分为两个八位寄存器(A,B,C,D)H,(A,B,C,D)L
汇编指令格式:[指令][目的地][出发地] 如:mov ax,18
mov:给寄存器赋值
add:将寄存器内值加上一个值,如果溢出了就会把多的直接舍弃,注意操作如AL时是把AL当成单独的寄存器使用的,溢出部分会直接舍弃而不是放到AH里面。sub与add类似,另外,如果减出了负值,就会按照0-1=ffff,然后继续减(2-5=(0-1)-2=ffff-2=fffd)。也可以给内存单元加减值。
地址偏移:8086cpu寄存器为16位,而地址总线有20位,为了使用16位来寻址20位而搞出来的东西。
物理地址=段地址*10H+偏移地址
这导致了物理地址不会唯一对应一个段地址和偏移地址,理论上只要保证物理地址相同即可。
代码段寄存器CS:记录当前要读取的指令的段地址
指令指针寄存器IP:记录当前要读取的指令的偏移地址
jmp [段地址]:[偏移地址]:修改CS,IP为指定内容
jmp [寄存器]:将IP修改为该寄存器的内容