2 / 2 / 0
Регистрация: 05.08.2016
Сообщений: 74
1

ASM + C++ Как вывести в консоль ?

17.09.2017, 17:35. Показов 4272. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Прикрепил файл .asm к проекту на с++ а в примере, который скачал указан лишь вывод в окно windows. А как вывести на консоль ? Вот код файла асм и файла с++

с++
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "stdafx.h"
 
extern "C"
{
    void hello_world_asm();
};
 
int main(int argc, char** argv)
{
    hello_world_asm();
    
    _getch();
    return 0;
}
asm
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
PUBLIC hello_world_asm
 
_TEXT   SEGMENT
 
EXTERN MessageBoxA: PROC
EXTERN GetForegroundWindow: PROC
 
hello_world_asm PROC
 
    push rbp ; save frame pointer
    mov rbp, rsp ; fix stack pointer
    sub rsp, 8 * (4 + 2) ; allocate shadow register area + 2 
    
    call GetForegroundWindow
    mov rcx, rax
 
    mov rdx, offset hello_msg
    mov r8, offset info_msg
    mov r9, 0 ; MB_OK
 
    and rsp, not 8 ; align stack to 16 bytes prior to API call
    
    call MessageBoxA
 
    mov rsp, rbp
    pop rbp
 
    ret 
hello_world_asm ENDP
 
_TEXT   ENDS
 
 
_DATA SEGMENT
    hello_msg db "HELLO ASM WORLD", 0
    info_msg  db "Info", 0
    buf dw 2048 DUP ('eb')
_DATA ENDS
 
END
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.09.2017, 17:35
Ответы с готовыми решениями:

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

Создание проекта с участием c++ и asm модулей. Ошибка asm модуля
Доброго времени суток! Подскажите, пожалуйста, как исправить данную ошибку (А2008)?

При сборке выдает ошибку "MASM: fatal error A1000: : 1.asm.asm"
"MASM : fatal error A1000: : 1.asm.asm :\1>link16 /TINY 1.asm.obj, 1.asm.com" Вопользовался...

Вывести текст в консоль
Всем привет) Опять мне нужна помощь. Изучаю простое консольное приложение под Win. Писал...

2
Модератор
Эксперт по электронике
8475 / 4334 / 1642
Регистрация: 01.02.2015
Сообщений: 13,455
Записей в блоге: 8
17.09.2017, 17:43 2
Создание консольных приложений в 64-разрядной Windows Seven
Скорее всего, нужна последовательность вызовов Win API
GetStdHandle(STD_OUTPUT_HANDLE)
WriteConsole
0
Asm/C++/Delphi/Py/PHP/VBA
6528 / 1973 / 228
Регистрация: 14.12.2014
Сообщений: 4,121
Записей в блоге: 12
21.09.2017, 16:35 3
Лучше WriteFile, чтобы можно было перенаправить в файл, если что.
Или просто printf, без заморочек (crt_printf он может называться в MASM).

Добавлено через 2 минуты
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
.686P
.MODEL Flat,StdCall
OPTION CASEMAP:NONE
 
INCLUDE         \MASM32\INCLUDE\WINDOWS.INC
INCLUDE         \MASM32\INCLUDE\KERNEL32.INC
INCLUDE         \MASM32\INCLUDE\USER32.INC
INCLUDE         \MASM32\INCLUDE\MSVCRT.INC
 
INCLUDELIB      \MASM32\LIB\KERNEL32.LIB
INCLUDELIB      \MASM32\LIB\USER32.LIB
INCLUDELIB      \MASM32\LIB\MSVCRT.LIB
 
.DATA
 
Text            DB      'Hello world!',0
 
.CODE
 
Start:
 
                invoke  crt_printf, ADDR Text
                invoke  ExitProcess, NULL
 
END             Start
С 64 битами аналогично...
0
21.09.2017, 16:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.09.2017, 16:35
Помогаю со студенческими работами здесь

Вывести сообщение на консоль
Ребят помогите пожалуйста новичку. Я нажимаю Компиляция === Компилировать с TASM ==Создать EXE32....

Вывести байты в консоль
Есть буффер, нужно вывести его содержимое в консоль функцией WriteConsole. Только нужно, чтобы в...

Не получается вывести результат в консоль
Сижу делаю лабораторную в институт. Одно из заданий звучит так:необходимо прочитать из файла строку...

Как вывести в окно Edit результат работы asm вставки!
Здравствуйте, Уважаемые Форумчане! Столкнулся с такой проблемой, потратил несколько суток,разбил...


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

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

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