我在大学的汇编语言课程中,我们正在进行使用printf打印数据的作业。在课堂上我们使用Visual Studio Professional 2015但在我的笔记本电脑上我有2017年的Visual Studio社区。在课堂上我们更改必须将工具集更改为2013版本,但我的visual studio没有。这是我的代码:(它在课堂上完美运行,但在我的电脑上运行时出现错误):
; Author: Keenan Kaufman
; Date: 9/20/2017
.586
.MODEL FLAT, STDCALL
INCLUDELIB msvcrt.lib
EXTERN printf:NEAR
EXTERN exit:NEAR
.STACK 4096
.DATA
plain BYTE 'Hello, World!'
key BYTE 02h
cipher BYTE SIZEOF plain DUP(?)
.CODE
main PROC
sub eax, eax ; clear registers
sub ebx, ebx
sub ecx, ecx
mov ebx, 0 ; index into strings
mov ecx, SIZEOF plain ; number of chars in strings
lea esi, plain
lea edi, cipher
COPYCHAR:
mov al, [esi]
add al, key
mov [edi], al
inc esi
inc edi
loop COPYCHAR
lea eax, cipher
push eax
call printf ; call printf C function
add esp, 4 ; clean up stack
mov eax, 0 ; exit with
call exit ; return code 0
main ENDP
END
任何帮助将不胜感激!谢谢!