Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2013, 00:48   #1
deathz0r
Пользователь
 
Регистрация: 25.05.2010
Сообщений: 24
По умолчанию приложения для masm32 ошибка при компиляции

Доброго времени суток. Есть задание написать под Win32 программу, которая должна выводить в консоль 5 простых чисел. Ниже приведена программка и ошибка, которая вылетает при компиляции. Прошу указать на ошибку или может другой способ вывода. Заранее спасибо
Код:
.386
.model flat, stdcall
option casemap: none
include C:\WinAsm\include\windows.inc
include C:\WinAsm\include\user32.inc
include C:\WinAsm\include\kernel32.inc
includelib C:\WinAsm\lib\kernel32.lib
includelib C:\WinAsm\lib\user32.lib
GetStdHandle PROTO :DWORD
writeconsoleA PROTO :DWORD, :DWORD, :DWORD, :DWORD, :DWORD
ExitProcess PROTO :DWORD

.data
mas dw 5 dup (0)
chislo dd 1
sch db 0
stdout DWORD ?
cWritten DWORD ?

.code
start:
  xor	eax,eax	
  cmp sch,5
  jne @d1
  jmp @d4
  
@d1:
  mov eax,chislo
  sub eax,2
  div eax
  cmp eax,0
  jz @d2
  mov eax,chislo
  sub eax,3
  div eax
  cmp eax,0
  jz @d2
  mov eax,chislo
  sub eax,5
  div eax
  cmp eax,0
  jz @d2
  jnz @d3
  
@d2:
  inc chislo
  jmp @d1
 
@d3:
  inc sch
  jmp start
  
@d4:
  invoke GetStdHandle, -11
  mov stdout, eax
  invoke writeconsoleA, stdout, ADDR mas, sizeof mas, addr cWritten,0
  invoke ExitProcess,0

end start
1.obj error LNK2001: unresolved external symbol _writeconsoleA@20
1.exe fatal error LNK1120: 1 unresolved externals
deathz0r вне форума Ответить с цитированием
Старый 01.11.2013, 09:05   #2
simples
Форумчанин
 
Регистрация: 03.10.2013
Сообщений: 142
По умолчанию

Цитата:
Сообщение от deathz0r Посмотреть сообщение
invoke writeconsoleA, stdout, ADDR mas, sizeof mas, addr cWritten,0
[/CODE]
1.obj error LNK2001: unresolved external symbol _writeconsoleA@20

[/COLOR]
пишет же Вам почти по русски - "че за фигню ты мне тут написал?!".

Прочитайте еще раз где брали эту ф-цию/макрос или что там еще в асме нынче можно - и уточните имя и что подключать надо.
simples вне форума Ответить с цитированием
Старый 01.11.2013, 15:08   #3
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

Должно работать без этих строк

Код:
GetStdHandle PROTO :DWORD
writeconsoleA PROTO :DWORD, :DWORD, :DWORD, :DWORD, :DWORD
ExitProcess PROTO :DWORD
Они прописаны в inc-файлах.
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при компиляции. OlgaLeon Общие вопросы Delphi 2 04.05.2013 11:13
Ошибка при компиляции Climber-18 Общие вопросы C/C++ 2 15.04.2013 02:14
Ошибка при компиляции приложения под MacOS demiancz Общие вопросы Delphi 2 02.03.2012 02:18
Ошибки при компиляции приложения Autosrv из эгзамплов Lich87 Общие вопросы C/C++ 2 02.06.2010 09:48
Ошибка при компиляции CrazyRabbit Общие вопросы C/C++ 3 25.12.2008 18:41