Я работаю в Microsoft Visual Studios 2017 с 32-битным 8086 MASM.Этот точный код работал для меня раньше, но теперь по какой-то причине он больше не будет собираться.Вот сообщение об ошибке, которое я получаю:
ошибка LNK2019: неразрешенный внешний символ _putchar, указанный в функции _main
ошибка LNK2019: неразрешенный внешний символ _exit, указанный в функции _main
фатальная ошибка LNK1120: 2 неразрешенных внешних сообщения
Я видел подобные сообщения раньше, но они исчезли после того, как я перешел к отладке -> параметры -> символы, а затем поставил флажок "Серверы символов Microsoft"
Одна вещь, которая изменилась, это то, что мое интернет-соединение постоянно падает.Может ли это вызвать проблемы с доступом к серверам символов?
Если это не интернет-соединение, у меня нет идей.Я был на всем сайте и перепробовал все, что смог найти.
.586
option casemap :none
.Model FLAT, C
.DATA
array DWORD 44h, 61h, 6Eh, 69h, 65h, 6Ch, 0 ;Array storing 'Daniel' in Ascii
.CODE
includelib MSVCRT
extrn putchar:near
extrn exit:near
main PROC
mov esi, 0 ;Set esi to 0
printChar:
mov eax, array[esi] ;Load the array value at index esi into eax
push eax ;Push the value in eax onto the stack
call putchar ;Print character
inc esi ;increment esi
mov eax, array[esi] ;eax was emptied when we pushed the contents onto the stack, so we need to refill it.
cmp eax, 0
je endProgram ;End program if eax equals 0
jmp printChar ;Otherwise, continue the loop
endProgram:
call exit
main ENDP
END