第二章.md

第二章 寄存器

8086cpu寄存器:

  • AX BX CX DX SI DI
  • SP BP IP CS SS DS ES PSW

通用寄存器:[A-D]X

1566523879075

为保证兼容性,这四个寄存器可以分为独立8个寄存器使用

AX AH(HIGH) AL(LOW)
BX BH BL
CX CH CL
DX DH DL

1566524166141


汇编指令

1566524351250

如果 add al, 93H al 进位,则进位不会影响到 ah


物理地址

8086cpu外部为20BITS总线,寻址1M,内部为16BITS,寻址64K

16 -->20

1566524922518

物理地址 = 段地址*16 + 偏移地址

段地址*16 即 段地址左移4位


段地址

1566525549389

注意

1566525572859

1566525636835

1566525673900


段寄存器

8086cpu

  • CS CODE SEGMENT

  • DS DATA SEGMENT

  • SS STACK SEGMENT

  • ES EXTRA SEGMENT

    1566527865157

1566527956575

1566527990434

1566528108658

段地址改变

  1. jmp 1000:2 #执行之后 跳转到 1000h×16+2h ,cs = 1000h ip=2h
  2. jmp ax #执行之后 跳转到 cs×16+ax,ip=ax

CPU只认为cs:ip指向的内存单元为指令


1566528870867


Windows debug

1566529169009

原文地址:https://www.cnblogs.com/nsfoxer/p/14353810.html