распечатать привет мир в сборке, используя MSDN API - PullRequest
0 голосов
/ 26 ноября 2018

Я начинаю изучать ассемблер только сегодня и использую masm.Я попытался напечатать hello world, используя msdn api

, вот мой код:

1 .386
2 .model flat, stdcall
3 option casemap :none
4
5 include \masm32\include\kernel32.inc
6 include \masm32\include\masm32.inc
7 includelib \masm32\lib\kernel32.lib
8 includelib \masm32\lib\masm32.lib
9
10 .data
11 stroutput db "Hello World",0
12
13 .code
14 main:
15      push stroutput
16      call printf                    ; print hello world
17      add esp, 4
18      end main

, но я получил ошибку:

hello.asm (15):ошибка A2070: недопустимые операнды инструкции
hello.asm (16): ошибка A2006: неопределенный символ: _printf

РЕДАКТИРОВАТЬ Я пытался изменить свой код на основе предложений:

.686
.model flat, stdcall

EXTERN printf : proc

include \masm32\include\kernel32.inc
include \masm32\include\user32.inc
includelib \masm32\lib\kernel32.lib    
includelib \masm32\lib\user32.lib

.data
msgCaption db 'Try', 0

.code
Main:                      
push offset msgCaption  
call printf
push eax       

End Main

но все равно получена ошибка: hello.obj: ошибка LNK2001: неразрешенный внешний символ _printf

...