我正在尝试学习汇编程序并且遇到本教程http://www.tutorialspoint.com/assembly_programming/assembly_file_management.htm
的问题 除了写出文件时,它才能正常工作。它名为myfile.txt
。,而不是myfile.txtWelcome to Tutorials PointWritten to file?
我似乎无法找出原因。我从教程中取出了源代码,它做了同样的事情。
有人可以告诉我为什么吗?
我正在使用nasm 2.12.02。我也在yasm 1.2.0上试过它,所以我很确定它是导致它的汇编程序代码。
我正在OpenSUSE Linux 3.16.7-35-default #1 SMP Sun Feb 7 17:32:21 UTC 2016 (832c776) x86_64 x86_64 x86_64 GNU/Linux
答案 0 :(得分:3)
您可能省略, 0
(零字节)来终止.rodata
部分中的字符串,在该部分中放置您用于文件名和文件数据的字符串常量。
采用open(2)
args的Linux系统调用(如char*
)接受零终止的C样式字符串,而不是接受字符串长度。