. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(内存访问)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  检测点3.2  [待解决] 回复[ 14次 ]   点击[ 929次 ]  
kingmoon
[帖 主]   [ 发表时间:2010-07-17 11:39 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-07-16 17:50
1.题目太长不抄了
mov ax,1000H
mov ds,ax
 <1>mov ax,2000H
 <2>mov ss,ax
 <3>mov sp,0011H
push [0]
push [2]
....

2.
mov ax,2000H
mov ds,ax
 <1>mov ax,0FFFH
 <2>mov ss,ax
 <3>mov sp,000EH (SS:SP=0FFFEH)
pop [E]
......
mouse
[第1楼]   [ 回复时间:2010-07-19 09:39 ]   [引用]   [回复]   [ top ] 
荣誉值:472
信誉值:12
注册日期:2007-10-16 15:34
答案错误,楼主积极画个图,按照指令的执行,模拟运行一下看看结果。

注意push pop对sp的操作,是先操作sp,还是先读写数据。
sleepinglion
[第2楼]   [ 回复时间:2010-07-19 12:31 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-07-13 23:22
楼主,你也太自信了吧。两个答案都是错的。
qplclxb
[第3楼]   [ 回复时间:2010-08-01 16:19 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-07-29 23:21
1.
 <1>mov ax,2000H 
 <2>mov ss,ax 
 <3>mov sp,0010H 

2. 
 <1>mov ax,1000H 
 <2>mov ss,ax 
 <3>mov sp,0
frogoscar
[第4楼]   [ 回复时间:2011-06-16 01:17 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-05-16 07:53
三楼的答案是对的
fujuncenme
[第5楼]   [ 回复时间:2011-06-17 18:42 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-12-26 19:27
不错,,
mydreamsha
[第6楼]   [ 回复时间:2011-08-06 20:43 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-07-20 20:52
楼主还是要谨慎啊
chinatree
[第7楼]   [ 回复时间:2011-08-06 23:26 ]   [引用]   [回复]   [ top ] 
荣誉值:118
信誉值:0
注册日期:2011-07-07 22:59
楼主的第二题括号内的Ss:sp=0fffe写错了,少写了一个f
boble
[第8楼]   [ 回复时间:2011-08-13 07:18 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-08-06 18:12
楼主和三楼请看下第二问 
MOV AX,2000H
MOV SS,AX
MOV SP,0010H
我认为SP在栈为空时应该指向F下面,也就是10H,而不是0,如果指向0的话,栈空间就是64K了(FFFF~0000)
0
1
2
.
.
E
F
10←
yipianyipian
[第9楼]   [ 回复时间:2011-08-21 21:48 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-08-21 21:07
三楼的答案是对的
------------------
回复:我跟三楼的答案一样,执行下来是错误的!MOV SS,AX之后会跳到PUSH [0]  何解?
yipianyipian
[第10楼]   [ 回复时间:2011-08-21 22:13 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-08-21 21:07
王爽老师在紧接下来的实验2中对此题中MOV SS,AX 执行后,为何会自动跳到PUSH [0],只是没有具体讲明白,说是后半部分课程中的一个主题:中断机制!

但是,后面出现的问题是为什么呢,我还是搞不明白!求高人解答!!
chinatree
[第11楼]   [ 回复时间:2011-08-21 23:15 ]   [引用]   [回复]   [ top ] 
荣誉值:118
信誉值:0
注册日期:2011-07-07 22:59
是中断,因为在设置栈的段寄存器和栈顶时不允许有可屏蔽中断被执行,因为栈还没有设置好,当前程序的一些寄存器无法保存。
knightno.1
[第12楼]   [ 回复时间:2011-09-05 12:22 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:1
注册日期:2011-08-06 16:07
三楼的答案是对的
------------------
回复:3楼答案有问题,
第1问答案应如下:
mov ax,1fffh
mov ss,ax
mov sp,0020h
javaimgod
[第13楼]   [ 回复时间:2012-01-18 02:32 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-01-10 21:29
支持8楼!
3楼第二问解答有问题
mov sp,0是不对的
应该是
mov sp,0010H
栈段偏移地址为0000H··000FH的话,栈顶应该指向000eH + 2=  0010H
yahwei
[第14楼]   [ 回复时间:2012-02-13 21:19 ]   [引用]   [回复]   [ top ] 
荣誉值:8
信誉值:0
注册日期:2012-02-13 18:24
3楼第二问才是错误的,第一问是正确的,你这个答案和他的没实质区别。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved