我刚刚开始组装,我想创建一个简单的程序,添加两个数字并打印结果
这是我到目前为止:
.globl main
.type main, @function
main:
movl $14, %eax
movl $10, %ebx
add %eax, %ebx
call printf
Run Code Online (Sandbox Code Playgroud)
根据我的理解,这里是逐行发生的事情
第1行:我正在创建一个可以由链接器访问的标签main
第2行:我正在为函数指定标签main的类型
第3行:我开始对main进行定义
第4行:我将数值14存储到通用寄存器eax中
第5行:我将数值10存储到通用寄存器ebx中
第6行:我在eax和ebx上添加值并将结果存储在ebx中
第7行:我调用函数printf(这里是我感到困惑的地方)
如何指定打印寄存器的值?
另外,如何完成此程序,目前运行时,程序会导致分段错误?