给定段地址,用偏移地址寻址,寻址范围如何计算?

luck3 2005-11-26 04:30:40
纯新手,刚看到寄存器(cpu工作原理)一章。

偏移地址16位,变化范围为0~FFFFH.
如果给定段地址1000H,用偏移地址寻址,cpu寻址范围为10000H~1FFFFH.

请问cpu寻址范围为10000H~1FFFFH是如何计算出来的啊?

唉,千里之行始于足下阿。。。
...全文
569 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Flacls 2005-11-26
  • 打赏
  • 举报
回复
简单的说,就是把段基址1000后面加个0变成10000H,再加上偏移地址0~FFFFH就得到物理地址:10000H~1FFFFH。也就是cpu寻址范围。
WYlslrt 2005-11-26
  • 打赏
  • 举报
回复
在x86实模式下,地址线只是用了20根,也就是说地址只有20位,而此时cpu最大只能处理16位的数据,因此寻址时则采用段基址*16+偏移的寻址方式,因此偏移最大只能为0xFFFF了,1000H*16+0FFFFH=1FFFFH
汇编语言程序设计练习。好东西大家共享.1、简述标志寄存器各个位的含义。(2.1) 2、简述8086机器代码格式。 (2.2) 3、分别指出下列指令中源操作数和目的操作数的寻址方式。(2.2)  (1)MOV SI,100  (2)MOV CX,DATA[SI]  (3)MOV [SI],AX  (4)PUSHF 4、假定DS=2000H,SS=1500H,SI=00A0H,BX=0100H,BP=0010H,数据变量VAL的偏移地址为0050H,请指出下列指令中源操作数字是什么寻址方式?它的物理地址是多少?(2.2)  (1)MOV AX,100H  (2)MOV AX,[100H]  (3)MOV AX,[BP]  (4)MOV AX,VAL[BX][SI] 5、试分别说明下列各指令中源操作数和目的操作数使用的寻址方式。(2.2)  (1)AND AX,0FFH  (2)AND BL,[0FFH]  (3)MOV DS,AX  (4)CMP [SI],CX  (5)MOV DS:[0FFH],CL  (6)SUB [BP][SI],AH  (7)ADC AX,0ABH  (8)OR DX,-35[BX][DI]  (9)PUSH DS 6、给定(BX)=637DH (SI)=2A9BH 位移量D=7237H,试确定下列各种寻址方式下的有效地址是什么?(2.2)  (1)直接寻址   (2)使用BX的寄存器寻址   (3)使用BX的间接寻址  (4)使用BX的寄存器相对寻址   (5)基址变址寻址   (6)相对基址变址寻址 7、指出下列指令中的错误。(2.3)  (1)MOV AH,BX  (2)MOV [BX],[SI]  (3)MOV AX,[SI][DI]  (4)MOV BYTE PTR[BX],1000  (5)MOV CS,AX 8、计算下列4条指令中操作数的地址并指出执行结果。(2.3)  (1) MOV 1[BX+SI],AX  (2) MOV 2[BP+SI],BX  (3) MOV 3[BX+DI],CX  (4) MOV 4[BP+DI],DX 假定执行前: (DS)=1000H, (SS)=2000H, (BX)=300H, (BP)=400H, (SI)=50H, (DI)=60H, (AX)=12H, (CX)=13H, (DX)=15H. 9、指出下列指令的功能。(2.3) MOV BX,OFFSET TAB MOV AL,4 XLAT TAB 10、分别指出下列各条指令的功能。(2.3) MOV SI,OFFSET NUM LEA SI,NUM MOV AX,[SI] LEA AX,[SI] LEA DI,4[SI]

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧