Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler: Linux
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
punkvalera
Заблокирован
#1

Как вывести значение в консоль linux (ubuntu) на nasm

29.10.2012, 22:24. Просмотров 1533. Ответов 2
Метки нет (Все метки)

как быть? тут на сайте есть куча литературы но она вся для винды( MASM, TASM ) а для NASM нету(
вот например у меня есть код
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
section .data
msg: db "бла бла бла",10  
.len: equ $ - msg
l_byte: db 4
h_byte: db 12
 
section .text
global _start           
_start:
 
mov al,[l_byte]
mov bl,[h_byte]
add al,bl
 
 
        mov eax, 4      
        mov ebx, 1      
        mov ecx, msg   
        mov edx, msg.len 
   
        int 0x80        
        mov eax, 1    
        mov ebx, 0      
        int 0x80
вот как вывести значение al в консоль ? а не gdb , print $al так не пойдет
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.10.2012, 22:24
Ответы с готовыми решениями:

Прога для NASM (Linux)
Ребят в общем такая проблема... До конца июня нужно сдать лабу по асму (первый...

Команда NOT, nasm, linux x86_64
Не понятен результат исполнения команды not в следующем коде global...

[NASM] [Linux] Переименование Mp3 тегов
Кто может помочь написать данную программу?

Исправление ошибки при решении примера (linux nasm)
Привет, Всем) Не могли бы, Вы исправить ошибку в коде nasm (linux) Пример :...

Как вывести строку в консоль
Здрасьте всем кто смотрит,такая проблема:Есть пример из книги Владислава...

2
Kastaneda
Jesus loves me
Эксперт С++
4768 / 2971 / 342
Регистрация: 12.12.2009
Сообщений: 7,532
Записей в блоге: 2
Завершенные тесты: 1
31.10.2012, 12:11 #2
Лучший ответ Сообщение было отмечено как решение

Решение

Вот, правда немного не универсально, т.к. сделано конкретно под вывод al.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
section .data
msg: db "0x", 0, 0
l_byte: db 4
h_byte: db 12
 
section .text
global _start           
_start:
 
    mov al,[l_byte]
    mov bl,[h_byte]
    add al,bl
 
    mov rdi, msg ; у меня 64 битная ОС, поэтому rdi, если у тебя 32 битная, то используй edi
    add rdi, 3 ; смещаем на последний 0
    std
    
    mov cx, 2
    mov ah, al
lb:    
    and al, 0x0F
    cmp al, 9
    jbe isDig
    add al, 7
    jmp continue
isDig:
    add al, '0'
continue:
    stosb
    mov al, ah
    shr al, 4
    loop lb
    
    mov eax, 4      
    mov ebx, 1      
    mov ecx, msg   
    mov edx, 4
    int 0x80        
    
    mov eax, 1    
    mov ebx, 0      
    int 0x80
А так вывод чисел в различных сс уже написан.
Еще вот руководство по nasm.
1
punkvalera
Заблокирован
11.11.2012, 15:38  [ТС] #3
спасибо уже разобрался)) вот тут http://www.csee.umbc.edu/portal/help/nasm/sample.shtml очень хорошо написано)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.11.2012, 15:38

Tasm под windows и Linux (Ubuntu)
есть у кого-нибудь компилятор для tasm под windows и Linux. И как с ним...

Как через qDebug () вывести значение строковой переменной в консоль?
В QtCreator нужно сделать вывод через функцию qDebug(). Однако с этим возникают...

Не могу вывести значение в консоль (tasm)
Привет, коллеги. У меня есть код на tasm: .8086 .model small .stack 100h ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru