我是汇编语言的新手,所以我正在关注保罗·卡特博士的pcasm教程( http://pacman128.github.io/pcasm/ )。
完全是pdf文件(http://pacman128.github.io/static/pcasm-book.pdf)第33页和书籍第23页
从该网站,我下载了Linux示例(http://pacman128.github.io/static/linux-ex.zip)
并在终端输入
答案 0 :(得分:1)
我发现错误来自asm_io.asm。您必须修改asm_io.asm或检查paths_to_files <- c("./path/to/this.RData", "./another/path/to/that.RData")
tools::file_path_sans_ext(
basename(
paths_to_files
)
)
## Returns:
## [1] "this" "that"
行。
答案 1 :(得分:1)
对于Linux asm_io
不适用于64位。您必须创建32位程序。使用-m32
选项将 C 文件编译为32位。您还必须使用特殊定义asm_io.asm
汇编-d ELF_TYPE
,以便在Linux上运行。不要使用coff
。像这样的命令应该有效:
nasm -f elf -d ELF_TYPE asm_io.asm
nasm -f elf first.asm
gcc -m32 -c driver.c
gcc -m32 -o first driver.o first.o asm_io.o
如果您真的使用32位Linux,则可以省略-m32