题目一: 有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小为____,最大为____。 我的问题: 段地址=(物理地址-偏移地址)/10H 偏移地址范围:0000H—FFFFH SA最小为(20000H-FFFFH)/10H=1000.1H,肯定不对,答案是1001H。答案1001H,是怎么计算出来的? 题目二: 下面的指令执行完后,CPU修改几次IP?都是在什么时候?最后IP中的值是多少? mov ax,bx sub ax,ax jmp ax 我的问题: 最后IP中的值应该是ax中的值,答案说是0?我认为答案错了~~ 虽然CPU默认CS:IP=FFFFH:0000H,但是这里是用ax寄存器内容修改IP寄存器内容,并没有将IP恢复默认。 所以最后IP应该是ax中的值。 请问我的理解对吗? |
[考研|报考科大软院] 请教两个问题,关于段地址和指令执行
fighting
· 发布于 2014-11-01 09:31
· 438 次阅读
转载文章时务必注明原作者及原始链接,并注明「发表于 软院网 RuanYuan.Net 」,并不得对作品进行修改。
第一题,最大为2000H,2000*10H+0H=20000.最小为sa*10H+FFFFH=20000H。SA=1001H.因为1000*10H+FFFFH=10000+FFFFH=1FFFF<20000H。所以取1001H。画图最直观。也就是说当段地址为1000H时,他无法取得到20000H,当段地址为1001H时,他地址可取的范围为10010+0~10010+FFFF。而20000在其范围内。 第二题sub后ax不是等于0么?jmp ax=jmp 0不对? |
标-子 发表于 2014-11-4 03:24 手贱~~~电脑卡了下,不小心点了反对~~ |
标-子 发表于 2014-11-4 03:24 sub ax,ax 这个指令,我把sub当成自加了.....失败失败~~ |
标-子 发表于 2014-11-4 03:24 第一题懂了,谢谢学长~~没学习微机所以基础比较薄~~ |
楼主相关话题