我正在尝试定义一些在其中调用printf的子例程。下面是一个非常简单的例子:
extern printf
LINUX equ 80H
EXIT equ 60
section .data
intfmt: db "%ld", 10, 0
segment .text
global main
main:
call os_return ; return to operating system
os_return:
mov rax, EXIT ; Linux system call
我想在RISCV ISA中添加新的指令,我遵循以下步骤:
模拟新指令。向模拟器添加指令需要两个步骤:
在riscv/insns/<new_instruction_name>.h文件中描述指令的功能行为。检查该目录中的其他说明作为起点。
将操作码和操作码掩码添加到riscv/opcodes.h。或者,将其添加到riscv-opcode包中,它将为您提供:$ cs ../riscv-opcodes;vi opcodes // add a line for the new instruction;make install。
重建吸血器。
我编写了简单
如何从交叉编译的二进制文件生成程序集?
使用的编译命令是:
arm-none-linux-gnueabi-gcc test.c -o test
如何解压缩二进制test?
我用过:
objdump -d test -m arm
但上面写着:
test: file format elf32-little
objdump: can't use supplied machine arm
有什么帮助吗?