. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(内存访问)
主题 : :  检测点3.2实在不明白  [待解决] 回复[ 13次 ]   点击[ 1150次 ]  
hzkklook
[帖 主] [ 发表时间:2010-01-18 14:19 ] 
荣誉值:0
信誉值:0
注册日期:2009-11-22 13:11
我实在不能弄明白该问题应该怎么做。第一小题我看了答案后还好理解,第二小题就根本不能理解了。为什么最后的SP要等于0H?有哪位知道的朋友能把检测点3.2这道题详细的讲解一下?谢谢!
hygf99
[第1楼] [ 回复时间:2010-01-18 22:59 ] 
荣誉值:0
信誉值:4
注册日期:2009-10-17 21:41
将10000H-1000FH中的8个字,逆序拷贝到20000H-2000FH中。
MOV AX,2000H
MOV DS,AX

MOV AX,1000H
MOV SS,AX    ;将1000H设为堆栈段地址
MOV SP,0000H 
;为什么要把SP设为0呢,因为下面要执行的是出栈指令,出栈是SP+2;题目上说了,栈段中只有8个字,从1000:0000-1000:000F,当然要从0开始了。你试着把堆栈中的数据比作一串糖葫芦,从上到下依次是1,2,3……出栈就是吃糖葫芦,先吃0(如果有的话^_^),然后1,2,3……
POP ……
POP ……
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved