【发布时间】:2014-12-15 14:42:33
【问题描述】:
我必须在汇编中编写一个简短的程序,但我的版本不起作用。 它应该打印 ASCII 字符,然后通过 atoi 函数将其更改为整数值并打印出该值。重要的是使用 C 中的程序:puts() 和 atoi()。
我做错了什么?请尽可能清楚地为我解释。 我正在使用 gcc,并且正在 intel_syntax 汇编中编写代码。
这是我的代码:
.intel_syntax noprefix
.text
.globl main
main:
mov eax, offset msg
push eax
call puts
pop eax
push eax
call atoi
pop eax
push eax
call puts
pop eax
.data
msg:
.asciz "a"
提前谢谢你
【问题讨论】:
-
此类问题应使用正确的架构进行标记。另外,你卡在哪里了?正如这里所写,这不是一个问题。
-
提供更多信息。问题是什么 ?您使用的是什么编译器/汇编器?什么是架构?您使用的是什么操作系统?根据您的问题,这可能会发生很大变化。猜测可能很累...
-
我更正了我的问题。对此我很抱歉,但我是大会的新手
-
你还没有说出你的问题。你能编译这个还是在运行时崩溃?你得到什么错误?了解目标 (gcc -v) 和操作系统也会有所帮助。
-
它有效,但不像我写的那样正确。
标签: c assembly x86 gnu-assembler intel-syntax