汇编8086寻址基础问题

举个例 MOV AX,[2000H] 已知物理地址(32000H) 且(32000)=1234H
书上图解析是 代码段存放:操作码 00 20
数据段存放:34 12 (34旁边标有地址32000)
然后在数据段调34 12 进AX
我想问的是 物理地址32000H不应该是存储器的地址,对应存储器中内容1234H
怎么成了数据段中内容
是不是存储器取值后都要先转入数据段寄存器中再计算
那34旁边标有地址32000怎么说了,这个不是存储器才有的地址吗

第1个回答  2010-12-09
存储区可以分为数据段、附加段、堆栈段和代码段,其中前三种都可以用来存储数据,最后一种存储指令的代码。在直接寻址方式中,你没有写段超越前缀的话,默认是数据段,所以数据的物理地址是32000H,同时由于8086存储是以字节为单位的,所以低地址存放低字节,高地址存放高字节,所以组合成一个字就是1234H
第2个回答  2010-12-10
这个问题不是编程方面的而是计算机组成原理方面的,你更应该在硬件板块中提问.不过我还是回答一下吧!
假设有这么一台计算机,它只有1跟地址线,那么请问它最多能对几个存储单元寻址?答案显然是2个.因为在任何2进制计算机中,所有物理元件只有0,1两种状态,对应这个例子,我们假设已经把这唯一的一根地址线与两个存储单元a和b连上了,那么究竟怎么确定何时读a何时读b?有一个办法,当地址线上的电压是高电压时我们读a,相反是低电压时,我们读b.如此一来,你应该明白-----一根地址线的情况下,只能对2个存储单元进行寻址
依次类推,2根地址线时可以对4个存储单元进行寻址,对应的电压情况可以是:低低,低高,高低,高高;继续想下去,3根地址线就可以对8个存储单元进行寻址,4根就是16个,也就是说,当有n根地址线时,可以对2的n次方个存储单元进行寻址
假如每个存储单元又可以存1个字节的东西,那么20根地址线可寻址的存储器空间就是1mb"2的20次方等于1mb"
就是这样!
第3个回答  2010-12-09
代码段存放的操作码,应该是:A1 00 20
其中A1是MOV AX的操作码,0020是操作数的偏移地址。
这条指令,涉及到了[2000H]这个地址,所以书上又给出了这个偏移地址及内容如下:
数据段存放:(32000)34 12
32000H应该是物理地址本回答被网友采纳

汇编8086寻址基础问题
存储区可以分为数据段、附加段、堆栈段和代码段,其中前三种都可以用来存储数据,最后一种存储指令的代码。在直接寻址方式中,你没有写段超越前缀的话,默认是数据段,所以数据的物理地址是32000H,同时由于8086存储是以字节为单位的,所以低地址存放低字节,高地址存放高字节,所以组合成一个字就是1234...

8086CPU和汇编的问题
8086 CPU 只能运行在实模式,这是当初设计 CPU 时就决定了的,也许当时没有想到保护模式吧,80386 开始,CPU 进入 32 位,数据线与地址线都是 32 位,其寻址能力为 2 的32 次方,即 4G,也就是 32 位 CPU 能支持的最大内存为 4G,超过这一界线的地址空间将不被识别。同时,32 位 CPU 不只...

王爽8086汇编的问题,请指教
8086CPU的问题,该CPU是16位的,段地址16位,偏移地址16位,物理地址通过地址加法器后变20位,到底这个寻址是20位的还是16位的???--什么是《这个寻址》?=== 问:给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为——— 到———。起始地址: 00010H + 0000H = 00010H 终止...

刚刚接触8086汇编 关于地址总线就把我难住了
1个2进制位是1bit --对。8根地址总线寻址不是才1字节吗?--错,宽度是1字节。虽然算出来是256字节 不过不知道为什么要算成256 --想想电话号码吧:1位十进制数,0~9,可以对10台电话进行编号。6位十进制数,000000~999999,可以对10^6台电话进行编号。8位十进制数,可以对10^8台电话进行...

关于8086汇编的寻址方式一题:MOV [1200],23H 请指出该指令的正误_百度...
要显式地给出段地址,如ds:[xxxxh ]才行,否则编译时会被处理成一个立即数xxxxh。[ ]里是什么进制这个无所谓的比如写10和写0aH效果一样,都可以。你同学是对的。因为不知道这个内存地址有多长。或者像上楼所说。用mov byte ptr ds:[xxxxh], 23h这样,或mov word ptr ds:[xxxxh], 23h。

微机原理8086系统,汇编基础问题:9880H+8000H为什么=31880H,如何计算的...
DS = 2000H吧,偏移地址 = DS*16+逻辑地址

汇编关于寻址的问题
这里面我觉得所有有立即数操作的好像都不对,拿第一个来说:MOV AX,3,感觉应该是立即数寻址,但对于8086的汇编来说应该是:MOV A,#3的写法,而且就算认为是对的,也在假设条件中找不到对应的值的,所以我认为是错的。我这里举个例子吧,其它的你自己:SUB [BP],AX 目的操作数地址:(SS<<4)...

关于汇编语言存储器的分段 一小段的首地址是啥?段起始地址?怎么看出 ...
8086CPU的内存寻址方式是段地址*16+偏移地址的方式的方式 比如说00000H这个地址,他的段地址是0000H偏移地址是0000H。段地址0000h*16(10H)也就是00000H 加上偏移地址也是0000H就是00000H。一个段的空间最大是64KB 也就是偏移地址从0000H-FFFFH。有一点要注意:段地址*16必然是16的整数倍所以一个...

寻址方式与用于寻址的寄存器小结(8086)
在8086\/8088处理器中,内存寻址方式多样化,包括直接寻址、寄存器间接寻址、寄存器相对寻址、基址间址寻址和相对基址间址寻址。每种方式都有其独特的特点和应用场景。首先,直接寻址以立即数形式给出地址,方便定位,但不具备动态地址变换能力。比如,汇编指令 MOV AX, [3],其中的内存地址3是直接嵌入在...

汇编语言基础问题
1、不同的CPU所具有的地址线数量是不一样的,像8086\/88只有20根地址线(即宽度为20),它的最高寻址为:2的20次方(即1048575B,寻址能力为1MB)。同理,对于8K来说,相当于8192B=2的13次方。所以它有13根地址线(即宽度为13)。2、一个存储单元为8Bit。而1KB=1024B,它的存储单元个数就...

相似回答
大家正在搜