回 帖 发 新 帖 刷新版面

主题:intel汇编语言程序设计 的一个问题。

看到 intel汇编语言程序设计 3.2.3.1的一个例子
TITLE Add and Subtract    (AddSub.asm)
; This program adds and subtracts 32-bit integers.
.386
.MODEL flat,stdcall
.stack 4096

ExitProcess PROTO, dwExitCode:DWORD
DumpRegs PROTO

.code
main    PROC
    
    mov eax,10000h
    add eax,40000h
    sub eax,20000h
    call DumpRegs
    INVOKE ExitProcess,0

main endp
end    main
我编译通过但是连接失败  以下是错误信息
F:\RadASM\Masm32\Bin\LINK.EXE /SUBSYSTEM:WINDOWS /RELEASE /VERSION:4.0 /LIBPATH:"F:\RadASM\Masm32\Lib" /OUT:"dsd.exe" "dsd.obj" "dsd.res"
Microsoft (R) Incremental Linker Version 5.12.8078
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

dsd.obj : error LNK2001: unresolved external symbol _ExitProcess@4
dsd.obj : error LNK2001: unresolved external symbol _DumpRegs@0
dsd.exe : fatal error LNK1120: 2 unresolved externals

构建时发生错误.
总共编译时间 140 毫秒
书上还说
DumpRegs是Irvine32连接库中的一个显示寄存器的函数
我晕哟。。怎么找不到这个函数呢。还有这个ExitProcess也是,。
找不到。

回复列表 (共3个回复)

沙发

加上 
include       Irvine32.inc

includelib    Irvine32.lib

板凳

F:\RadASM\Masm32\Bin\ML.EXE /c /coff /Cp /nologo /I"F:\RadASM\Masm32\Include" "dsd.asm"
 Assembling: dsd.asm
dsd.asm(1) : fatal error A1000: cannot open file : Irvine32.inc

构建时发生错误.
总共编译时间 266 毫秒

我加了过后就是这样。晕 啊。Irvine32.inc是系统的吗还是我看的这本书的库啊?

3 楼

www.aogosoft.com,去那里学汇编.
在那里下个MASMPLUS编译器,RadASM入门难.

我来回复

您尚未登录,请登录后再回复。点此登录或注册