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

  1. Прикрепил файл .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


textual

Код к задаче: «ASM + C++ Как вывести в консоль ? - Assembler»

.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

СДЕЛАЙТЕ РЕПОСТ

5   голосов, оценка 3.400 из 5



Похожие ответы
  1. Нужно заменить в строке все символы # на &&. Нужно применять цепочечные команды. После первой замены исходная строка перестает копироваться в результирующую. При исходной строке 123#12345 в результат копируется только 123&&.

  1. Целочисленные переменные в MASM32 могут быть: 1-байтовые (8 бит), обозначаются byte или db 2-байтовые (16 бит), обозначаются word или dw 4-байтовые (32 бит), обозначаются dword или dd 6-байтовые (48 бит), обозначаются fword или df 8-байтовые (64 бит), обозначаются qword или dq 10-байтовые (80 бит), обозначаются tbyte или dt 16-байтовые (128 бит), обозначаются oword или ??? в этом списке у всех кроме 16-байтовой переменной есть маленький эквивалент размера большой эквивалент размера (16 байт) это - oword можно например задать 16-байтную переменную

  1. Имеется пример ((2*c)-(d/3)) / (b-(a/4)) При клике на Btn1 значение выводится в Edit1 В качестве тестовых чисел я взял: a - 20 b - 10 c - 10 d - 30.Итоговый ответ должен получиться (20-(30/3))/(10-(20/4))=10/5=2 Использую ассемблерную вставку в Delphi

  1. Сам я работаю на Масме для одной темы изучаю пример на Фасме в определённых частях кода мне интересно узнавать какое значение у определённого объекта Для этого сделал тандем функций wsprintf и MessageBox принцип я думаю всем понятный первая функция переводит значение в текстовый вид а вторая банально выводит это значение через месаджбокс всё работает нормально но каждый раз ставить этот тандем в нужном месте мягко говоря утомляет по этому решил завернуть этот тандем в функцию

  1. Здравствуйте! Нужна помощь с программой. Пишу под DOS. Условие: С клавиатуры вводятся две строки, вывести на экран символы, которые содержатся в обеих строках. Вот мой код, работает неправильно, не совсем разобрался с регистром si, а точнее тем, как с ним взаимодействовать.

  1. Создать массив из 10 заданных целых чисел, записать 5 элемент в стек, используя режим прямой адресации с индексированием. Переписать элемент из стека в переменную оперативной памяти Five. Не понимаю как из стека переписать в переменную

  1. Как рассчитать такую формулу на ассемблере, тот что в визуал студии? Как рассчитать такую формулу на ассемблере, тот что в визуал студии? Левую и правую часть отдельно.

  1. Задали вопрос. Что в данном фрагменте кода не соответствует соглашению stdcall? На мой взгляд всё соответствует

  1. Ребята, подскажите что не так начинающему. Изучаю язык самостоятельно, писал программу для задания по лабораторной работе (/ заменить на \, все заглавные строчными). Не получается заменить / на \, не понимаю, что не так. Код: