关于Nisy坛主发表的内存高高低低原则的一些疑惑
坛主发贴地址是https://www.chinapyg.com/viewthread.php?tid=14289&page=1#pid116440,小弟回复后几天不见回贴,有点急了,所以新作为主题重贴一下,请大家原谅我的重复!坛主讲的很明白明了,但是小弟初学,还是傻傻的说一下自己的理解,请各位指点纠正:内存堆栈是先进后出的原则,进(push)就是从寄存器写入椎栈,出(pop)就是从堆中读入到寄存器中,并且进栈出栈都按双字节为单位进行,堆栈的进出都发生在栈顶(系统分配的内存段中低地址的地方),不知道这里面有哪些理解错误的地方???
还有一个题外话,从外存中读入一个文件到内存,这个文件是先经过CPU的寄存器还是直接就映射到内存里了??我想好像应该是先映射到内存里了(但是又想没有CPU的处理怎么读进去内存的啊??)
就是这方面的问题还真的不少,不了解计算机工作的内部原理,想看书吧,不知道应该看哪一方面的?数据结构??微机原理?汇编??请各位高手赐教啊 先从汇编学起吧,建议!!! 王爽老师有一本不错的汇编教程..适合初学
http://www.asmedu.net/ 感谢两位高手回贴,小弟正在看关于王爽老师的书的那个论坛,只是感觉不好啃,呵呵,不过放心,小弟有信心和足够的耐下把它啃下去/:good
[ 本帖最后由 hrx521 于 2007-8-12 00:05 编辑 ] /:L我也没看懂楼主的问题。
高高低低原则 我们使用最多的就是这点:
内存中的地址:01 02 03 04 (这个代表内存中的地址)
内存中的数据:1A 2B 3C 4D (1A就是低位 4D就是高位 )
如果把这个数据放到EAX中:
OD的EAX寄存器的数值; EAX=4D3C2B1A(1A就是低位 4D就是高位 )(相当与 123 是一百二十三 3是个位 1是百位 )
==》寄存器中左边是高位,内存中左边(前边)是低位。 谢谢NISY总坛主的回复,其实是由于功力不行小弟没能描述清自己想要问的问题,最近正按前面两位所说,正在看王爽老师的书,啃上一段时间我会回来再看这个问题的!
再次感谢NISY!/:good
页:
[1]