【发布时间】:2017-04-23 16:31:12
【问题描述】:
我无法理解如何将此汇编代码翻译成 C。它很短,只有几行,答案应该是一行。
char_out:
subq $8, %esp
movsbl %dil, %edi # Parameter 1 in %dil / %edi
call putchar # put char is a C function that writes (prints)
addq $8, %rsp # a single char to stdout (the screen).
ret
void char_out(char P1)
{
//insert here
}
【问题讨论】:
-
只是
putchar(P1); -
请求某人做你的工作的问题不适用于 *。向我们展示您到目前为止所做的尝试以及您遇到的问题,我们很乐意为您提供帮助。
-
@olivercharlesworth 开个玩笑,但你为什么要更改链接?
-
我知道汇编代码中有一个指针。第一行 subq 设置标志。但我不确定下一行对 movsbl 做了什么。下一行将调用定义的 put char 方法,addq 将是 %rsp = %rsp + 8
-
请勿将代码作为图片发布。