王爽汇编+1

前面都是基础,但很多我都过目既忘,所以在此留下记录日后翻看,目前记得的有:

8086机器的地址总线有20根,但cpu的位数是16位,一次只能处理16位数

8086CPU的寻址范围是0-ffff

8086物理地址寻址方式是段地址*16+偏移地址

下面有3道题

%title插图%num

题1,给定段地址为0001h,仅变化偏移地址寻址,CPU的寻址范围是多少到多少

解题:  最小是:1h*10h+0h=10h 最大是1h*10h+ffffh=1000fh 范围是10h到1000fh

%title插图%num
%title插图%num

题2,有一数据存放在20000h内存单元中,现给定段地址为SA,若想用偏移地址寻到此单元,则SA应满足的条件最小是多少,最大是多少

解题: 先求最小,min=(20000h-ffffh)/10h 再求最大,max=(20000h-0h)/10h 只接用python计算得出min=0x1001  max=0x2000

%title插图%num

思考题,当段地址给定为多少的时候,无论怎么变化偏移地址都无法寻到20000h内存单元

解题: 已知8086cpu的寻址范围是0-ffff,20000h的段地址最小地址是1001h,最大是2000h,所以当段地址小于1001h或者大于2000h的时候无论偏移地址怎么变化都无法寻到20000h内存单元。

发表回复