鱼C论坛

 找回密码
 立即注册
查看: 1620|回复: 4

求解一道题

[复制链接]
发表于 2013-5-2 10:42:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
初始条件cs=2300H DS=2400H

PUSH CS
POP DS


CS=?  DS=?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-2 11:18:17 | 显示全部楼层
1. OPRD为16位(字)操作数,可以是寄存器或存储器操作数.
----
       2. PUSH的操作过程是: (SP)<--(SP)-2,((SP))<--OPRD 即先修改堆栈指针SP(压入           时为自动减2),然后,将指定的操作数送入新的栈顶位置.
          此处的((SP))<--OPRD,也可以理解为:
          [(SS)*16+(SP)]<--OPRD 或 [SS:SP]<--OPRD

       3. 示例: PUSH DX
                PUSH BP
                PUSH CS
                PUSH DATA1
                PUSH ALFA[BX][SI]
          注意: 每进行一次压入操作,都压入一个字(16位).
  
       4. PUSH和POP指令对状态标志位没有影响。

       5. 什么是堆栈
          堆栈被定义为一种先进后出的数据结构,即最后进栈的元素将被最先弹出来.这            很像许多人进入一条窄得只能容纳一个人通过的小道,如果要从这条道往回退出           来的话,那么最先退出来的人是最后一个进入小道的人.
CS和DS的值不变.
我也是刚学,不知道说的对不对.如果不对,不要骂我.请教我.O(∩_∩)O谢谢
                                                      学习!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2013-5-2 17:20:18 | 显示全部楼层

额 、。。。答案不对,答案是DS变为2400H,我感觉是如果不变的话应该
POP  cs,
这里没有push ds
而  pop ds了
那么 pop 出来的是栈顶的数据  即把cs赋值成ds
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-2 20:54:42 | 显示全部楼层
本帖最后由 liuyy886 于 2013-5-2 20:56 编辑
『冰河洗劍』 发表于 2013-5-2 17:20
额 、。。。答案不对,答案是DS变为2400H,我感觉是如果不变的话应该
POP  cs,
这里没有push ds


真是被感动的痛哭流涕……高手,O(∩_∩)O谢谢,指导:handshake
是我忽略了.
                      PUSH CS
                      POP DS


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-4 16:19:34 | 显示全部楼层
cs=ds=2300h
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-7 20:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表