如题,我想用汇编引入二进制汉字库文件。
使用绝对路径可以,但是相对路径却怎么都无法找到该文件,求大神讲解。
图中绝对路径没有问题,但是相对路径不知道怎么写,直接写文件名报错。
.incbin "hzk16" 这样会报错
hzk16和该汇编文件在同一文件夹中
arm汇编如何引入二进制文件
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答
- 忘知一切 2019-08-01 19:47关注
写好汇编源文件1.s
$vi 1.s
.global add @ give the symbol add external linkage
add:
ADD r0, r0, r1 @ add input arguments
MOV pc, lr @ return from subroutine
@ end of program
其中这只是表示生成一个可供C语言调用的函数接口,本身不带main入口,只能生成.o文件$arm-linux-gcc -c -o 1.o 1.s
得到1.o这个文件$arm-linux-objdump -x -d -S 1.o 反汇编
1.o: file format elf32-littlearm
1.o
architecture: arm, flags 0x00000010:
HAS_SYMS
start address 0x00000000
private flags = 0: [APCS-32] [FPA float format]Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00000008 00000000 00000000 00000034 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000000 00000000 00000000 0000003c 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000000 00000000 00000000 0000003c 2**0
ALLOC
SYMBOL TABLE:
00000000 l d .text 00000000 .text
00000000 l d .data 00000000 .data
00000000 l d .bss 00000000 .bss
00000000 g .text 00000000 addDisassembly of section .text:
00000000 :
0: e0800001 add r0, r0, r1
4: e1a0f00e mov pc, lr然后把提取1.o这个文件的.text段,
$arm-linux-objcopy -O binary -j .text 1.o 1.bin$ls -la
-rw-r--r-- 1 wyc wyc 8 2010-07-02 15:00 1.bin
-rw-r--r-- 1 wyc wyc 488 2010-07-02 14:54 1.o
-rw-r--r-- 1 wyc wyc 146 2010-07-02 14:49 1.s最后提出来的1.bin只有8个字节,是由于text段中仅包含了两条指令。
$od -x 1.bin
0000000 0001 e080 f00e e1a0
00000100: e0800001 add r0, r0, r1
4: e1a0f00e mov pc, lr解决 无用评论 打赏 举报
悬赏问题
- ¥15 求daily translation(DT)偏差订正方法的代码
- ¥15 js调用html页面需要隐藏某个按钮
- ¥15 ads仿真结果在圆图上是怎么读数的
- ¥20 Cotex M3的调试和程序执行方式是什么样的?
- ¥20 java项目连接sqlserver时报ssl相关错误
- ¥15 一道python难题3
- ¥15 牛顿斯科特系数表表示
- ¥15 arduino 步进电机
- ¥20 程序进入HardFault_Handler
- ¥15 关于#python#的问题:自动化测试