проблема с выводом числа (NASM_assembler)

Модератор: Модераторы разделов

Аватара пользователя
UTeHok
Сообщения: 354
Статус: Антиглобалист
ОС: Debian GNU/Linux

проблема с выводом числа

Сообщение UTeHok »

Привет, сетяне!

Добрался таки до ассемблера
Подскажите пожалуйста, почему в этой проге строка выводится, а значение, которое в numer ,нет?

Код: Выделить всё

SECTION .text
global _start:

_start:

mov eax, 5
mov [numer], eax

mov eax, 4
mov ebx, 1
mov ecx, numer
mov edx, 2
int 0x80

mov eax, 4
mov ebx, 1
mov ecx, hello
mov edx, 6
int 0x80

mov eax, 1
mov ebx, 0
int 0x80

SECTION .data

hello db "Hello", 0xa
numer db 0

Заранее спасибо!

З.Ы. новичок в асме...
«Make love, not war!»
Спасибо сказали:
Аватара пользователя
Attila
Сообщения: 125
Статус: Тролль-Лѣсовичокъ
ОС: Свободная aka ArchLinux

Re: проблема с выводом числа

Сообщение Attila »

Я полагаю, Ваша проблема в том, что 5 - не является удачным символом для вывода на стандартный вывод. Попробуйте, например, заменить 5 на 0x35. Тогда, наверное, Вам будет сопутстовать удача :)
Обобщая на другие цифры: для вывода цифр следует прибавлять к числовому значению 0x30. Обычно это помогает.

Ещё: непонятна роль двоеточия во второй строке. Зачем оно там?
Спасибо сказали: