|
主题 : : 关于监测点3.2的第2题的问题 [待解决] |
回复[ 7次 ]
点击[ 578次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2010-12-03 00:50 ]
[引用]
[回复]
[ top ] | |
荣誉值:6
信誉值:2
注册日期:2010-12-02 13:35 |
题目是这样的:
补全下面的程序,使其可以将10000H-1000FH中的8个字,逆序复制到20000H-2000FH中。
mov ax,2000H
mov ds,ax
____________
____________
____________
pop [E]
pop [C]
pop [A]
pop [8]
pop [6]
pop [4]
pop [2]
pop [0]
我在横线那填上了以下内容:
mov ax,1000H
mov ss,ax
mov sp,000FH
为了验证自己的结果是否正确,我在debug中查看了内存地址10000H-1000FH的内容并记录下来,然后在内存地址10010F处开始键入以上汇编代码,最后我设置段寄存器CS=1000H,ip=0010F,设置完后我想用r命令想看下cs、ip是否如已设置成想要的数,结果键入r后就退出了debug,还原为dos窗口,这是怎么回事,困惑得很,求高手指点,不胜感激! | | |
|
|
|
|
[第1楼]
[ 回复时间:2010-12-03 19:20 ]
[引用]
[回复]
[ top ] | |
荣誉值:6
信誉值:2
注册日期:2010-12-02 13:35 |
“然后在内存地址10010F处开始键入以上汇编代码”上面内容中的“10010F”中应该更正为“10010H”,一时不查错写了。 | | |
|
|
|
|
[第2楼]
[ 回复时间:2010-12-03 19:22 ]
[引用]
[回复]
[ top ] | |
荣誉值:6
信誉值:2
注册日期:2010-12-02 13:35 |
又发现“最后我设置段寄存器CS=1000H,ip=0010F”这里的ip设置也写错了,应该更正为“ip=0010H” | | |
|
|
|
|
[第3楼]
[ 回复时间:2010-12-17 12:11 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-05-23 12:24 |
首先,未存数据,所以浅是空的,ip应该为0010h.
浅的机制还是未真的明白!
pop [E]
pop [C]
pop [A]
pop [8]
pop [6]
pop [4]
pop [2]
pop [0]
改为
pop [0]
pop [2]
pop [4]
pop [6]
pop [8]
pop [a]
pop [c]
pop [e] | | |
|
|
|
|
[第4楼]
[ 回复时间:2010-12-17 12:18 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-05-23 12:24 |
上面的
pop [E]
pop [C]
pop [A]
pop [8]
pop [6]
pop [4]
pop [2]
pop [0]
是对的!本人也犯了一个严重错误!也陷入浅的泥潭中! | | |
|
|
|
|
[第5楼]
[ 回复时间:2010-12-19 17:23 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:4
注册日期:2010-10-31 08:38 |
mov ax,1000H
mov ss,ax
mov sp,0000H
栈是满的,sp应该为0000H
出栈时,sp慢慢增加到000FH | | |
|
|
|
|
[第6楼]
[ 回复时间:2010-12-21 18:12 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-05-30 21:46 |
|
|
|
|
|
[第7楼]
[ 回复时间:2016-04-14 23:24 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2016-03-27 21:52 |
回复:[第5楼]
------------------
mov ax,1000H
mov ss,ax
mov sp,0000H
栈是满的,sp应该为0000H
出栈时,sp慢慢增加到000FH 出栈时SP慢慢增加,当栈里所有数据出栈后SP应该为10 而不是000FH | | |