有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元,则SA应满足的条件是: 最小为多少?最大为多少?
请大侠们些出具体的计算方法,我并非只想要答案。先谢谢!!!
段地址、偏移地址和物理地址,三者的关系式是:
20000H = 段地址 × 16 +偏移地址
当偏移地址取其最大值时,段地址,就能达到最小值。
该最小值,暂时写成:SA = minnH。
在后边添个零,代入公式,如下:
20000H = minn0H + 偏移地址最大值
横扫一眼,即可看出:
等式左边,20000H,其最低位是 0。
等式右边,其最低位,也必须是 0。
所以,偏移地址的最大值,只能是 FFF0H。
由此,即可轻松导出:SA (最小)=1001H。
--------------------
许多人,解此题时,都是用 FFFF 当做最大值!
用 FFFF,只能算出 2000FH,算不出来 20000H。
那么,20000H = ... +FFFF,这个等式,根本就不成立!
当然,就算不出正确结果。
结果,就是算出小数来了,怎么看,也不对。
--------------------
呵呵,这题目,也就是:小学的难度。
所以,王爽出题后,并没有给出答案或解题思路。
但是,他没有想到,学微机的人,如此缺乏小学知识。
汇编语言中数据段与偏移的问题
10010H\/10H = 1001H 此时“段地址*16”取得最大值10010H;所以段地址能取得的最大值是1001H 最大 当偏移量为0000H时,SA可取最大值 20000H - 0000H = 20000H 20000H\/10H = 2000H
汇编语言中定义的数据段的问题
那么结果就是变量名1的高16位是变量名2的段地址,低16位是变量名2在段内的偏移地址。就是这么规定的,记住就行了。
求助!汇编语言 段地址 偏移地址 物理地址问题!
把这个例子带到这个问题中,你可以这样理解,段地址相当于楼层地址,偏移地址相当于房间号,最后合成的就是物理地址。8086的地址线20根,数据线16根,物理地址的位数取决于8086地址线的数量,16位的数据线决定了8086的寄存器只能有16位,这样一来不管是段寄存器还是通用寄存器都是16位的,所以,段地址和偏...
汇编语言基础问题
首先, 物理地址 = 段地址 * 10H + 偏移地址 现在我们知道了物理地址为20000H, 且偏移地址的范围是0000H ~ 0FFFFH 所以段地址 * 10H = 20000H - 0000H 或者 20000H - 0FFFFH 所以段地址 = 20000H \/ 10H 或者 10001H \/ 10H 段地址 = 2000H(最大) 或者 1001H(最小, 有余数1, 向上...
关于汇编语言存储器的分段 一小段的首地址是啥?段起始地址?怎么看出 ...
一个段的空间最大是64KB 也就是偏移地址从0000H-FFFFH。有一点要注意:段地址*16必然是16的整数倍所以一个段的起始地址也应该是16的整数倍。但是好像并没有一个小段 的说法,段的提出只是我们在编程中的一种安排,比如我要在一个段中存放10个字节的数据,我们可以把123B0H-123B9H当作一个数据段...
汇编语言作业 :设有如下数据段,请给出美衣变量的偏移量
左移VAR2偏移量为43h ORG $+40H ;由于VAR2数据长度为2+2+5*(2+2)=24=18h,即$偏移为43h+18h=5Bh,即$+40h=9Bh;所以VAR3的偏移地址为9Bh VAR3 DD 1234H, 5678H VAR4 DB '12345678' ;由于VAR3数据长度为4+4=8h,所以VAR4偏移为9Bh+8=A3h DATA ENDS ...
...汇编语言中的物理地址,段基址和偏移地址的具体含义,及作用,要详 ...
而偏移量的范围就在0000H-FFFFH之间,就表示00000H-0FFFFH的实际内存单元.就是说一个段的大小在64Kb.SUB1 DB 03H,35H 这个命令中,SUB1表示存放03H,35H这两个数据的首地址,相当于C语言中字符串数组的首地址.假如这个SUB1在数据段中,有专门的数据段寄存器DS,它的实际地址就是DS:SUB1 ...
汇编语言问题
首先,这个题目本身有一点小错误。B2 DB B1是错误的,应当改为B2 DW B1。因为在数据定义的操作数里使用B1,代表是它的十六位的偏移地址,不能用在DB定义的8位变量中。分析一下数据段里的数据存储情况:物理地址 数据 20000H 20H ;W1首址,就是32 20001H 20H 20002H FFH ;...
王爽汇编语言有一点看不懂 求解
因段地址和偏移地址都 最长只有十六位,而你这的地址是二十位,因在实际应用中段地址的十六位就显示示你这高二十位的高十六位的部份,偏移地址就显示低十六位的部份。这二个地址移一位相加后才是你这实际地址。只要和相等就行了,固这时的段地址和偏移地址可有很多个,因只要和相等就行了。
段地址,偏移地址
数据是储存在内存里的,你说的物理地址其实就是实际内存地址。逻辑地址 是程序中使用的地址,它由段基址和段内偏移值所组成,段基址与段内偏移值都为16位的二进制数。物理地址 也叫实际地址或绝对地址,是CPU访问存储器时实际使用的地址,为20位地址。段地址指的是段起始地址的高16位 偏移地址指的是...