汇编语言之 通过标号在程序的段内的任意位置实现跳转

org 100h
start:
mov ax,0xb800
mov ds,ax   

mov  [0x00],0x41    ;字符A
mov  [0x01],0x04    ;颜色为红色
            
mov  [0x02],'s'
mov  [0x03],0x14

mov  [0x04],'s'
mov  [0x05],0x24    

jmp_e:

mov  [0x06],'e'
mov  [0x07],0x34

mov  [0x08],'m'
mov  [0x09],0x44

mov  [0x0a],'b'
mov  [0x0b],0x54   

jmp_l:   

mov  [0x0c],'l'
mov  [0x0d],0x64

mov  [0x0e],'y'
mov [0x1f],0x74        

mov  [0x10],'.'
mov [0x11],0x84    

jmp 0100:0000+jmp_e

注意这里的jmp_e和jmp_l标号,程序执行到最后一行jmp 0100:0000+jmp_e执行后会跳转到jmp_e的地方,同理也可以跳转到别的地方。

另一种写法是定义地址到bx中,不过这种写法只有在nasm中才有效,masm是直接报错的。

mov bx,0100:0000+jmp_e
jmp bx

在masm中需要写成这种样子

mov bx,offset jmp_e
jmp bx

还有一种写法最简单,就是可以直接jmp jmp_e。推荐这种写法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值