CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他开发语言 >  汇编语言

在宏汇编里JMP或CALL指令后如何使用立即数作转移地址.

楼主pj19811024(彭骏)2001-11-14 15:46:19 在 其他开发语言 / 汇编语言 提问

在DEBUG中JMP   FFFF:0或JMP   FE00H(JMP   FE00H指令的地址与FE00H相距超过去100H)在宏汇编中怎么写,JMP指令如何跳到一表达式运算后的地址,如JMP   OFFSET   LOOP1+600H.我是先将转移后的地址送到一个寄存器后,再跳.如:  
  MOV   AX,F000+OFFSET   B-OFFSET   A  
  JMP   AX   (跳到F000)  
  直接跳怎么写. 问题点数:30、回复次数:8Top

1 楼snowingedge(下雪边界)回复于 2001-11-14 18:47:32 得分 0

直接插入mechine   code,我记得有一个near属性的绝对跳转的.mechine   code我忘了.:(Top

2 楼CNer(Leemaasn)回复于 2001-11-14 21:53:52 得分 15

我记得jmp指令有两种形式!  
  一个是相对的,一个是绝对的!  
  绝对的经常用于引导程序!  
  你可以查查boot代码!  
  好像是ea9,我看看。。。。Top

3 楼CNer(Leemaasn)回复于 2001-11-14 22:08:56 得分 0

呀,找不到了。。。  
  改天吧  
  等等别人的说法吧Top

4 楼CodeDemon(CWL)回复于 2001-11-15 22:19:05 得分 0

db     e9h  
  dd     xxxxh  
  dd     xxxxh  
   
  Top

5 楼CNer(Leemaasn)回复于 2001-11-15 23:41:58 得分 0

CodeDemon(CWL) ,好样的!!Top

6 楼totkid(皮耶德)回复于 2001-11-15 23:54:37 得分 0

对,这种形式也用于realmode与保护模式的互相切换Top

7 楼vBin(彬)回复于 2001-11-16 13:35:30 得分 15

下面是我在DOS编写程序时,所要用到的宏。  
  我想这些足够说明你的问题啦。  
  (好不容易打出来的,没想到TASM中带有这个文件,唉!)  
  ;-----------------------------------------  
  ;32位偏移的段间转移宏指令  
      JUMP32   MACRO   selector,offsetv  
                    DB   0EAH                   ;操作码  
                    DW   offsetv             ;32位偏移  
                    DW   0                         ;0  
                    DW   selector           ;选择子  
                    ENDM  
  ;-----------------------------------------  
  ;32位偏移的段间调用宏指令  
      CALL32   MACRO   selector,offsetv  
                    DB   09AH                 ;操作码  
                    DW   offsetv           ;32位偏移  
                    DW   0  
                    DW   selector         ;选择子  
                    ENDM  
  ;-----------------------------------------  
  ;16位偏移的段间转移宏指令  
      JUMP16   MACRO   selector,offsetv  
                    DB   0EAH                 ;操作码  
                    DW   offsetv           ;16位偏移  
                    DW   selector         ;段值/选择子  
                    ENDM  
  ;-----------------------------------------  
  ;16位偏移的段间调用宏指令  
      CALL16   MACRO   selector,offsetv  
                    DB   9AH                   ;操作码  
                    DW   offsetv           ;16位偏移  
                    DW   selector         ;段值/选择子  
                    ENDMTop

8 楼pj19811024(彭骏)回复于 2001-12-31 17:04:33 得分 0

I   know  
  Top

相关问题

  • 宏汇编资料
  • 汇编和宏汇编有什么区别?
  • 8086宏汇编,段的定位类型为什么可以是byte或word?
  • 新手求条件转移指令的例子!!!!!
  • 8086宏汇编,关于SS:SP的赋值问题,什么情况下系统自动赋值?等等
  • 宏汇编中的宏字我理解为就是可以调用windows API的意思。确切应该怎么理解?
  • JMP SHORT $+2 这条指令是啥意思?
  • 指令
  • 在转移指令中的大于和高于有什么区别,书上没有写,GOOGLE也查不到,求大虾指点!
  • xor指令

关键词

  • 指令
  • 转移
  • 选择
  • db
  • offsetv
  • 偏移
  • 宏指令
  • selector
  • dw
  • jmp

得分解答快速导航

  • 帖主:pj19811024
  • CNer
  • vBin

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo