不知道叫什么 发表于 2015-3-21 13:09:01

『求助』王爽汇编语言中有关入栈逆序存放数据的一个例题

6.2节的一个例题。是说将定义的数据存放在cs:0~cs:F中,共8个字单元,依次将8个字单元中的数据入栈,然后依次出栈到这8个字单元中,从而实现数据逆序存放。代码如图。问题来了。s这个循环体是将字型数据入栈。栈的机制不是先入到栈的最底层么,但是这里为什么是bx=0,从cs:0开始入栈,然后bx+2?不应该是从bx=15开始入栈,然后进行bx-2操作么?求大神指导。谢谢……:big

不知道叫什么 发表于 2015-3-21 13:09:48

图怎么一发上来就这么不清晰。。。

不知道叫什么 发表于 2015-3-21 13:10:50

不知道图片清晰度如何。。。

逆流杀 发表于 2015-3-21 14:22:08

额, 书上的意思是,将数据段的第一个字放到栈地,然后第二字再接着进入栈,bx=0,就是为了使cs:bx指向指向第一个数据,然后bx+2,指向下一个 字型数据( 定义的数据存放在cs:0~cs:F中),ss:sp才是指向栈的地址,书上写了,sp=30h,这是栈顶,push后,然后sp-2,指向下一个栈的地址,

WSWZ 发表于 2015-3-21 17:09:42

题的意思 是要将数据 逆序存放 所以要从cs :0开始存放 cs:0 的数据就在栈底了,cs:2的数据就在cs:0的上面,这样就逆序了!
页: [1]
查看完整版本: 『求助』王爽汇编语言中有关入栈逆序存放数据的一个例题