. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->INT指令
主题 : :  醒目!醒目!醒目!第13章汇编测试题目 (3)  靠!靠!靠! 这是什么怪题目啊!  [待解决] 回复[ 10次 ]   点击[ 1133次 ]  
zhenglxd
[帖 主] [ 发表时间:2009-06-08 11:46 ] 
荣誉值:30
信誉值:0
注册日期:2009-04-09 10:05
用7ch中断例程模拟loop指令的功能,指令序列如下:
                     lp: push bp
                      mov bp,sp
                      dec cx
                      jcxz lpret
                      add [bp+2],bx
                     lpret: pop bp
                      iret
                     关于7ch中断下列说法正确的是
        1、          此中断的最大转移位移为128
        2、          此中断的最大转移位移为1K
        3、          此中断根据bx中的偏移量实现跳转
        4、          此中断不能设定跳转的次数

我已经知道正确答案是 3. 但是我就选4

我认为 4是对的

我的理由是 cx决定了 跳转的次数 而cx 并不是放在中断例程中的
我的理由2 中断例程模拟 loop指令 他提供的功能也仅仅是跳转而已,或者条件转移

很多人觉得4是错误的 因为 4 的选项是 是此中断不能设定跳转的次数,实际上你可以通过修改栈内的数据达到设定跳转次数的目的。

但是如果 通过修改原始例程,或者仅仅从这个程序可以引申出的或者包含其内的角度来看 只有是代码 都有无限可能那么 1~4 全是对的 要么就是全是错误的!

我也可以同样在逻辑上 作出 3这个标准答案是错误的 推理

3.的答案是 此中断根据bx中的偏移量实现跳转
我觉得错误的原因是 实现跳转 偏移量起到的作用仅仅是 指示跳转地址的作用
但是 实现跳转不是仅给 偏移量就可以实现了 没有 中断例程的其他部分 请问他怎么实现跳转
这不是我 断章取义和咬文嚼字 实际上 单单从上面的中断例程
客观理解 bx的作用 就是 指明 跳转地址的偏移量
但是你因为他的作用是指明 跳转地址的偏移量 就能给出 此中断根据bx中的偏移量实现跳转
这样的结论荒谬不? 如果 是 执行跳转 或者 进行跳转 那么都说的过去
但是实现跳转,我就觉得错误! 不错我咬文嚼字了! 凡是 做检测题像我一样做到13章的 都知道检测题 最变态的就是咬文嚼字的题了
但本题 题目自己出问题了!从逻辑上 你们能推翻我 吗?
换个 比喻 一个句子 我靠筷子吃饭 ,和 有筷子就有饭吃 请问是一个意思吗

在说下4  此中断不能设定跳转的次数,请问,不修改 源代码不用代码直接改机器码前提下 怎么实现设定跳转的次数
如果不能,那么 4 就正确 我想即使王爽 老师来了 他也做不到吧!

本来一道题目我不需要发那么大的牢骚,但是说实话 越往后学人越少相应的管理越松散,我希望论坛检测题不要再出现这类模棱两可的题目了
凡是基于理论的题目,不要考概念,不然就变成应试教育了!
ilove
[第3楼] [ 回复时间:2009-06-09 15:24 ] 
荣誉值:14
信誉值:2
注册日期:2008-10-19 21:37
“越往后学人越少相应的管理越松散”-楼主的这句话,我觉得楼上说的很好,如果我们学过了第十章,还有很多问题,那就要问自己了,是不是真正把前面的知识掌握好了,是不是严格按照前言说的“两个必须”来学习的。

至于楼主上面说的这个题目,网站公布现在这个检测题已经很长时间了吧,应该很多人都做过这道题,而楼主的问题我是第一个看到。我觉得当别人都没有问题,而自己遇到的时候要先考虑自己的做题思路、想象出题者考察的知识。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved