【发布时间】:2016-05-16 11:45:48
【问题描述】:
我正在编写一个程序来检查一个字符串是否是回文。我想将一个字符串作为用户的输入。字符串可以包含从数字到特殊字符的任何字符。我如何从用户那里获取输入。我试过下面的代码。
global _start
section .bss
string resb 9
section .text
_start:
mov rax,0 ;Am I doing this correct ?
mov rdi,0
mov rsi,string
mov rdx,8
syscall
xor rax,rax
mov rdx,[string]
mov rax,1
mov rdi,1
mov rsi,rdx
mov rdx,8
syscall
mov rax,0
mov rdi,0
syscall
上面的代码是否正确,因为当我输出字符串时它显示分段错误。错误是
Segmentation fault (core dumped)
我在 Linux(Ubuntu 14.04) 中使用 nasm 进行编码
【问题讨论】:
-
您也应该显示带有错误的代码...而且我假设您有一个
syscall指令并且您在 linux 上...但我不需要假设,您应该也告诉过我们。也就是说,读数看起来是正确的。
标签: linux assembly 64-bit nasm x86-64