下面程序为什么不行??jmp指令不能越段转移吗??有什么方法越段呢??
可以放一个段的,但是你忘了有一条伪指令:ASSUME。更改后的如下:codesegmen :jmpfarptrsssax,0200hint21hmovax,4c00hint21hcodeendscode2segmen ,3adddl,30hjmpfarptrexitcode2endsendstart还有跳到code2执行后,没有和DOS接口的指令了,必须有jmpfarptrexit,回到code中,执行那里的和DOS接口的指令。另外,其它增加和改变的指令只是为了让你验证用的,不改没有关系。
e
第四个回答的很好
能越段转移你写的不规范而以JMP FAR PTR label 远转移(far jump) 执行操作:(IP) ← label的段内偏移地址 (CS) ← label所在段的段地址 远转移实现的是段间的跳转,即从当前代码段跳转到另一个代码段中,这意味着指令执行后,不仅要改变IP的值,CS也会得到一个新的段地址。在汇编指令中,远转移的目标地址也可以使用除立即寻址方式外的任何寻址方式来表示。
答:指令名详解 call 指令(过程调用)(控制指令-长转移) 详解: 段内直接调用 段内间接调用(寄存器) 段内间接调用(存储器) 段间直接调用 段间间接调用详情>>