第3章 寄存器(内存访问)
3.1 内存中字的存储
在内存单元中,地址高的是高位,地址低的是低位。
我们在读取内存时喜欢从0开始读,但我们在读取数字的时候一定不喜欢从最低位开始读,所以如果这个分不清,那么是这个是相当“痛苦的”,所以,一个数据如果确定是一个字,那么直接从高位开始读取,这样更好理解。
3.2 字的传送
如果直接将内存单元送入寄存器中,那么默认送入一个字,即两个内存单元。比如从低到高依次是「1,2」,
那么,在ax中会把高位设为2,低位设为1。这个过程由相关硬件来完成,所以我们不必太多关注其内部的问题。
mov ax,[0]
的结果就是al==[0],ah==[1]
,其数字表示的是[1][0]
。
只要理解通顺这个,那么以后的相关内容就会很好理解了。
3.3 栈
操作系统为内存提供栈机制,注意,栈是一段空间,从高到低的内存地址顺序来形成的,所以,当栈为空是,栈指针指向其最高位。
所以,对于程序的阅读,你应该习惯从高到低开始阅读,比如0123H,这个数据进入栈,从高到低就是0123H,但如果你还开始从低往高的顺序,那么为 23 01,这个其实很别扭的!!