Запись hello world на консоль с прерываниями DOS с использованием MASM в Visual Studio - PullRequest
0 голосов
/ 30 марта 2019

Я пишу код, но он выдает ошибки в visual studio.

В emu он работает, но в visual studio он не работает.

Я видел разные учебники по отображению программы hello world, ноникто не работает над моей визуальной студийной маской ..

Как правильно выполнить этот код?

. MODEL SMALL
. STACK 100H
.DATA 
MSG DB "HELLO! $"
.CODE
MAIN PROC
MOV AX, @DATA
MOV DS, AX
LEA DX, MSG
MOV AH, 9
INT 21H
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN

Скажите мне.Как правильно выполнить процедуру

1 Ответ

3 голосов
/ 30 марта 2019

Код, который вы показываете, является 16-битным кодом для MSDOS.64-разрядные версии Windows не могут запускать 16-разрядный код, кроме как через эмулятор или виртуальный компьютер.Я не знаю о версии Visual Studio, которая может производить 16-битный код.Вы можете попытаться найти загружаемую версию 16-битного набора инструментов для сборки кода, такого как Masm 6.11 (выполните поиск в Интернете).

Если вы заинтересованы в 16-битном C или C ++, Microsoft Visual C / C ++4.1 обычно включает в себя 16-битный набор инструментов, но не Masm, поэтому вам все равно понадобится Masm 6.11, и вы можете объединить файлы в общие каталоги.16-разрядные наборы инструментов Microsoft могут работать в 32-разрядных версиях Windows, на эмуляторе MSDOS или на виртуальном ПК с MSDOS (с настройкой emm386, так как набор инструментов dos используется в наборе инструментов).Если вы используете виртуальный компьютер, я рекомендую использовать USB-накопитель для передачи файлов на виртуальный компьютер или с него.

Полный 16-битный набор инструментов Microsoft включает MASM (ml.exe), компилятор C / C ++, Linker, CodeView (cv.exe - отладчик исходного уровня), QuickHelp (qh.exe) - утилита справки), инструментальные средства программиста (pwb.exe - IDE), H2INC (преобразует включаемый файл C .h в включаемый файл MASM .inc, NMAKE (makeутилита), DOSXNT (dos extender, используемый самим набором инструментов), ... Я не уверен, где можно найти полный набор инструментов.

...