Форум программистов, компьютерный форум, киберфорум
Assembler: Linux
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
Заблокирован
1

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

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

Author24 — интернет-сервис помощи студентам
как быть? тут на сайте есть куча литературы но она вся для винды( 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)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.10.2012, 22:24
Ответы с готовыми решениями:

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

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

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

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

2
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,116
Записей в блоге: 2
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
Заблокирован
11.11.2012, 15:38  [ТС] 3
спасибо уже разобрался)) вот тут http://www.csee.umbc.edu/porta... mple.shtml очень хорошо написано)
0
11.11.2012, 15:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.11.2012, 15:38
Помогаю со студенческими работами здесь

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

Вывести в консоль значение типа BYTE
COLORREF pix=GetPixel(hdc,0,0); BYTE b=GetGValue(pix); std::cout<<b<<std::endl; В консоль...

[FASM] Вывести значение регистра на консоль
Нужно вывести значение регистра cl на консоль. Собственно сама задача заключается в том, чтобы...

как разобраться с компилятором c++. Linux Ubuntu 11.04
я понимаю, что возможно пишу не совсем туда, да и вопрос довольно простой для большинства местных,...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru