(9)转移指令的原理

1、跳转就是修改IP,或同时修改CS,这样达到指令到另一位置执行的目的。


2、offset偏移量

      就是段开始到标号处处的相对距离,,这个段不一定非得是CS

      mov ax,offset s

      mov cx,  offset s -  offset send   ;可见可以运算


3、三级跳远

      段内:  短跳(jump short, -128--127)   近跳(jump near,  -32768--32767)

      段间:  远跳(jump  far)


4、跳的形式

       jmp  标号   

       jmp  short  标号       ;相对位移,两个字节,后8位为相对位移

       jmp  near  ptr  标号   ;三个字节,后两个为16位相对位移

       jmp  far ptr  标号        ;5个字节。后四个字节为移动处,前两个为偏移量,后两个为段地址

    

       jmp  16位reg     ;16位相对位移


        jmp  word ptr  [内存单元]      ;内存单元的内容作为16位偏移量

        jmp  dword ptr  [内存单元]    ;内存单元的内容作为偏移量和段地址


5、jcxz    短跳

      直接判断cx是否为0,为0就短跳到标号处。(-128--127)


6、loop   循环

      先对cx减1,看结果,结果为0就循环到标号处。


7、这么多跳来跳去,会眼花么?

      不会,如果跳用错了,编译器自然会报错,所以放心用,错得多了就记得住了:)


8、回味过去

      Dos为25X80屏幕,25行,每行80字符,字符对应的视内存地址为B8000到BFFFF,每个字单元显示一个字符,字中第一单元为字符ASC码

       第二个字节为颜色。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值