level 5
我已将原图放大了,怎么一发上去就变得还是这么小啊,真是的
2009年04月16日 14点04分
4
level 5
只好用文字说了:“mov ax,[0]”这个指令执行后,为什么读入ax中的是10000H和10001H两个内存单元中的数据,而不是只有10000H中的数据被读入。是因为指令中的〔0〕不是“内存单元”,而是“字单元”吗?还是因为8086CPU是16位的,一次要读入16位数据,所以就一次读两个内存单元? 请高手指教。
2009年04月16日 15点04分
5
level 7
mov al,[0] 传送1个字节--[10000]
mov ax,[0] 传送2个字节 [10000][10001]
mov eax,[0] 传送4个字节 [10000][10001][10002][10003]
2009年04月16日 16点04分
7
level 7
mov al,[0]
相当于
mov al,byte ptr [0]
mov ax,[0]
相当于
mov ax,word ptr [0]
mov eax,[0]
相当于
mov eax,dword ptr [0]
2009年04月16日 16点04分
8
level 5
明白了,非常感谢! 另外,如果是32位CPU,那么类似的指令是不是一次就将读取32位数据呢?
您发的图为什么可以显示那么大呢?是因为您是图片小编,可以直接发送图片吗?(我是先将图片上传到空间相册,再粘贴图片链接才发上来的) 还是我没有进行相关设置呢?
2009年04月17日 02点04分
9
level 0
dy2003310 一来就带来好东西了,哈哈哈!
(我指的是那个链接)blueglass2
2009年04月17日 12点04分
12
level 5
汗颜!我把这个问题估计过高了,以为自己权限不够,没敢深究,无地自容啊,呵呵
2009年04月19日 10点04分
14
level 5
另外,您说“32位的CPU……还是读取一个字节,这是根据寄存器大小来传送数据的”,——寄存器不是CPU的组成部分吗?CPU是16位还是32位,跟寄存器大小是两码事吗?
2009年04月19日 10点04分
15
level 6
al:8位
ax:16位
eax:32位
在32位的CPU中
mov al,[10000]依然是读取ds:10000处的一个字节到8位寄存器al中
---
CPU里面当然含有寄存器
多少位是说能寻址多少多少
寄存器大小
一般是指一次能保存的字节数
如al 1字节
ax 2字节
eax 4字节
2009年04月21日 10点04分
16