小编use*_*492的帖子

NASM程序集将输入转换为整数?

好吧,所以我对组装很新,事实上,我对组装很新.我写了一段代码,它只是意味着从用户那里获取数字输入,乘以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)

int x86 assembly nasm char

3
推荐指数
2
解决办法
2万
查看次数

先前使用的C代码的新分段错误

此代码用于获取文本文件中的名称列表,并转换为电子邮件表单

所以凯特琼斯成为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)

c linux file-io segmentation-fault

2
推荐指数
1
解决办法
485
查看次数

标签 统计

assembly ×1

c ×1

char ×1

file-io ×1

int ×1

linux ×1

nasm ×1

segmentation-fault ×1

x86 ×1