GNU汇编 伪指令

伪指令 本身并没有所对应的机器码

它只是在编译的时候起作用,或者转换为其他的实际指令来运行

global

ascii

byte

word

data

equ

align

 

@ 下面的例子是在数据段存放数据

.section .data

            hello:

            .ascii "helloworld"

           bh:

           .byte 0x1

           ADD

          .word 0xff

.section .bss

       <未初始化的数据>

.section .text

.globl  _start

_start:

     <汇编代码>

 

.equ  DA, 0x89

mov r0,#DA

 

 

 

操作类伪指令

nop

反汇编看实质:mov r0,r0

ldr

mov 指令的立即数不能超过8位 (shift 12 位,其中4位作为左移右移的位)

ldr r0, =0x1ff

 

ldr 反汇编后,会发现其实是在内存里面定义了一个.word 的变量

然后通过 ldr r0, [PC,#-4]

 

反汇编: arm-linux-objdump -O -S xxx.elf

转载于:https://www.cnblogs.com/qifei-liu/p/10176770.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值