好吧,所以我对组装很新,事实上,我对组装很新.我写了一段代码,它只是意味着从用户那里获取数字输入,乘以10,并通过程序退出状态将结果表示给用户(通过在终端中输入echo $?)问题是,它是没有给出正确的数字,4x10显示为144.所以我认为输入可能是一个字符,而不是一个整数.我的问题是,如何将字符输入转换为整数,以便它可以用于算术计算?
如果有人能够回答我记得我是初学者,那将是很棒的:)另外,我怎样才能将所述整数转换回字符?
section .data
section .bss
input resb 4
section .text
global _start
_start:
mov eax, 3
mov ebx, 0
mov ecx, input
mov edx, 4
int 0x80
mov ebx, 10
imul ebx, ecx
mov eax, 1
int 0x80
Run Code Online (Sandbox Code Playgroud) 此代码用于获取文本文件中的名称列表,并转换为电子邮件表单
所以凯特琼斯成为kate.jones@yahoo.com这个代码在linux mint 12上运行良好,但现在完全相同的代码在arch linux上给出了段错误.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
FILE *fp;
fp = fopen("original.txt", "r+");
if (fp == NULL )
{
printf("error opening file 1");
return (1);
}
char line[100];
char mod[30] = "@yahoo,com\n";
while (fgets(line, 100, fp) != NULL )
{
int i;
for (i = 0; i < 100; ++i)
{
if (line[i] == ' ')
{
line[i] = '.';
}
if (line[i] == '\n')
{
line[i] = '\0';
}
}
strcat(line, mod); …Run Code Online (Sandbox Code Playgroud)