| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 416 人关注过本帖
标题:谁讲解下转移指令。或者推荐个文章看看
只看楼主 加入收藏
tksfbz
Rank: 2
等 级:论坛游民
帖 子:6
专家分:20
注 册:2011-6-5
结帖率:0
收藏
已结贴  问题点数:5 回复次数:3 
谁讲解下转移指令。或者推荐个文章看看
谁讲解下转移指令。
为什么要分为远转移、近转移、短转移。
转的我都头晕了。
为什么有条件转移指令和循环指令必须是短转移?
为什么call指令不能是短转移?
搜索更多相关主题的帖子: 文章 头晕 
2012-11-02 13:41
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:3 
看这个吧 https://bbs.bccn.net/thread-321075-1-1.html
收到的鲜花
  • tksfbz2012-11-02 17:46 送鲜花  5朵   附言:好文章

梅尚程荀
马谭杨奚







                                                       
2012-11-02 14:06
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
补充个 可以看下call的介绍

 过程调用指令 CALL
 格式: CALL OPRD
 功能: 过程调用指令

 说明: 1. 其中OPRD为过程的目的地址.
       2. 过程调用可分为段内调用和段间调用两种.寻址方式也可以分为直接寻址和间接寻址两种.
       3. 本指令不影响标志位.

      . <1> 段内直接调用: CALL NEAR类型的过程名
              每一个过程在定义时,应指定它是近类型(NEAR),还是远类型(FAR).本指令是段内直接调用,因而过程与调用指令同处在一个代码段内.在执行该调用指令时,首先将IP的内容入栈保护,然后由指令代码给出的目的地址段内偏移量送入IP,从而实现过程调用,将程序转至过程入口.
          <2> 段内间接调用: CALL OPRD
              其中OPRD为16位通用寄存器或存储器数.
              本指令执行时,首先将IP的内容入栈保护,然后将目的地址在段内偏移量由指定的16位寄存器或存储器字中取至IP中,从而实现过程调用.
              例如: CALL BX
                    CALL WORD PTR [BX+SI+20]
              注意: 寄存器间接调用时,寄存器不用方括号括起来.如果用方括号,则为存储器操作数间接调用.
          <3> 段间直接调用: CALL FAR 类型的过程名 由于是段间调用,在指令执行时,应同是时将当前的CS及IP的值入栈保护,然后将FAR类型的过程名所在的段基址和段内偏移值送CS及IP, 从而实现过程调用.

          <4> 段间间接调用: CALL DWOPRD  
              其中DWOPRD为存储器操作数,段间间接调用只能通过存储器双字进行.本指令执行时,首先将当前的CS及IP的值入栈保护,然后将存储器双字操作数的第一个字的内容送IP,将第二个字的内容送CS,以实现段间调用.
              例如: CALL DWOPRD PTR[SI]

可以看到 call 最低限度是只修改IP   而IP的最低限度是16位 所以无法实现短转移(8位)

梅尚程荀
马谭杨奚







                                                       
2012-11-02 14:16
wdengtf
Rank: 2
等 级:论坛游民
帖 子:3
专家分:13
注 册:2012-11-7
收藏
得分:3 
建议你看看王爽 汇编语言 的第八章和第九章 还有附录里面有讲
2012-11-07 15:46
快速回复:谁讲解下转移指令。或者推荐个文章看看
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016845 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved