微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

什么是错误的程序集错误 [未定义符号]

如何解决什么是错误的程序集错误 [未定义符号]

使用 MASM32

我不知道这里的错误是什么我尽力了但仍然有错误 我正在通过 masm32 在 cmd 中运行它 有coff和没有,没有固定! 那我该怎么办。

代码的目的是通过输入两个整数找到GCD然后显示GCD值。

这是我的代码

代码

 includelib Irvine32.inc
.386
.model flat,stdcall
.stack 4096
ExitProcess proto,dwExitCode:dword

.data
intReqStr BYTE "Enter integer: ",0
ansstr BYTE "GCD is: ",0

.code
main PROC
L1:
    mov edx,OFFSET intReqStr ; display integer request
    call WriteString
    call ReadInt
    jz QUIT
    mov ebx,eax ; assign to y
    call WriteString
    call ReadInt
    jz QUIT

    call CalcGCD

    mov edx,OFFSET ansstr
    call WriteString
    call WriteDec
    call Crlf
    call Crlf
    jmp L1
QUIT:
    invoke ExitProcess,0
main ENDP

CalcGCD PROC
    push ebx
    push edx

    cmp eax,0 ;if x >= 0 jump over negate
    jge LX
    neg eax ; x was negative so negate
LX:
    cmp ebx,0 ;if x >= 0 jump over negate
    jge LY
    neg ebx ; x was negative so negate
LY:
DO: mov edx,0
    div ebx ; edx = eax % ebx (n = x & y)
    mov eax,ebx ; eax = ebx (x = y)
    mov ebx,edx ; ebx = edx (y = n)

    cmp ebx,0  ; while ebx > 0
    jg DO   ; jump to do line
        ; x to be returned is in EAX
    pop edx
    pop ebx
    ret
CalcGCD ENDP

end main

错误

file.asm(15) : error A2006: undefined symbol : WriteString
file.asm(16) : error A2006: undefined symbol : ReadInt
file.asm(19) : error A2006: undefined symbol : WriteString
file.asm(20) : error A2006: undefined symbol : ReadInt
file.asm(26) : error A2006: undefined symbol : WriteString
file.asm(27) : error A2006: undefined symbol : WriteDec
file.asm(28) : error A2006: undefined symbol : Crlf
file.asm(29) : error A2006: undefined symbol : Crlf

帮助我:(

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。