логотип нашего сайта о программировании для начинающих

Программирование на ассемблере для начинающих. Ассемблер gas под linux, fasm под windows, tasm под dos, и многое другое.


Сайт для программистов, начинающих кодеров, и людей, желающих заняться программированием.



Меню невыпадающее
Программистам : Другое :

"Hello user!" с вводом имени юзера

.section .data

prompt_str:
    .ascii "Enter Your Name: "
pstr_end:
    .set STR_SIZE, pstr_end - prompt_str

greet_str:
    .ascii "Hello "

gstr_end:
    .set GSTR_SIZE, gstr_end - greet_str

.section .bss

// зарезервируем 32 байта
.lcomm buff, 32

// макрос с двумя параметрами: строка, и её размер
// вывод строки на экран
.macro write str, str_size
    movl $4, %eax
    movl $1, %ebx
    movl \str, %ecx
    movl \str_size, %edx
    int $0x80
.endm

// макрос ввода строки
.macro read buff, buff_size
    movl $3, %eax
    movl $0, %ebx
    movl \buff, %ecx
    movl \buff_size, %edx
    int $0x80
.endm

.section .text

.globl _start

_start:
    write $prompt_str, $STR_SIZE
    read $buff, $32

    pushl %eax

// выводим приветствие
    write $greet_str, $GSTR_SIZE

    popl %edx

    write $buff, %edx

_exit:
    movl $1, %eax
    movl $0, %ebx
    int $0x80

Непосредственно вводимый код выделен фиолетовым цветом , все остальное(зеленым) - комментарии.

Компилируем так
as -s -o hellouser.o hellouser.s
ld -s -o hellouser hellouser.o


скачать архив с исходным кодом и исполняемым файлом этого примера
tar.gz
zip


Здесь у нас используется для чтения с клавиатуры системный вызов read , номер которого 3, а для чтения с клавиатуры первым параметром указываем дескриптор файла stdin, то есть 0, вторым параметром указатель куда читать ( в нашем случае buff) и последний параметр - сколько читать - у нас buff_size, вот в принципе и все, чем отличается данная прога от helloworld, который вы наверно уже изучили и испробовали.

Здесь со времнем появятся ссылки дружественных и понравившихся сайтов

Информер ТИЦ

Free reverse phone lookup free lookup , reverse phone lookup.

Сайт создан Pauk_pv // Pauk@paukpv.pp.ru

Rambler's Top100 Каталог@MAIL.RU - каталог ресурсов интернет

При использовании информации с сайта обязательна ссылка на сайт
Pauk_pv ©