注册 登录
编程论坛 汇编论坛

求SmallWin.inc文件

诸葛修勤 发布于 2011-03-06 15:13, 1220 次点击
intel 汇编 第 5 版的 第一个程序
INCLUDE\irvine32.inc(5) : fatal error A1000: cannot open file : SmallWin.inc

include 文件夹下找不到

2 回复
#2
zaixuexi2011-03-06 15:24
程序代码:
; #########################################################################

;     include files
;
     ~~~~~~~~~~~~~
      include \masm32\include\windows.inc

externdef _imp__BeginPaint@8:PTR pr2
BeginPaint equ <_imp__BeginPaint@8>

externdef _imp__DispatchMessageA@4:PTR pr1
DispatchMessage equ <_imp__DispatchMessageA@4>

externdef _imp__DrawTextA@20:PTR pr5
DrawText equ <_imp__DrawTextA@20>

externdef _imp__EndPaint@8:PTR pr2
EndPaint equ <_imp__EndPaint@8>

externdef _imp__GetClientRect@8:PTR pr2
GetClientRect equ <_imp__GetClientRect@8>

externdef _imp__GetMessageA@16:PTR pr4
GetMessage equ <_imp__GetMessageA@16>

externdef _imp__DefWindowProcA@16:PTR pr4
DefWindowProc equ <_imp__DefWindowProcA@16>

externdef _imp__MessageBoxA@16:PTR pr4
MessageBox equ <_imp__MessageBoxA@16>

externdef _imp__PostQuitMessage@4:PTR pr1
PostQuitMessage equ <_imp__PostQuitMessage@4>

externdef _imp__RegisterClassExA@4:PTR pr1
RegisterClassEx equ <_imp__RegisterClassExA@4>

externdef _imp__ShowWindow@8:PTR pr2
ShowWindow equ <_imp__ShowWindow@8>

externdef _imp__UpdateWindow@4:PTR pr1
UpdateWindow equ <_imp__UpdateWindow@4>

externdef _imp__LoadCursorA@8:PTR pr2
LoadCursor equ <_imp__LoadCursorA@8>

externdef _imp__LoadIconA@8:PTR pr2
LoadIcon equ <_imp__LoadIconA@8>

externdef _imp__CreateWindowExA@48:PTR pr12
CreateWindowEx equ <_imp__CreateWindowExA@48>

externdef _imp__ExitProcess@4:PTR pr1
ExitProcess equ <_imp__ExitProcess@4>

externdef _imp__SetBkMode@8:PTR pr2
SetBkMode equ <_imp__SetBkMode@8>

;     libraries
;
     ~~~~~~~~~
      includelib \masm32\lib\masm32.lib
      includelib \masm32\lib\user32.lib
      includelib \masm32\lib\kernel32.lib
      includelib \masm32\lib\gdi32.lib

; #########################################################################

        ;=================
        ; Local prototypes
        ;=================
        WinMain          PROTO :DWORD,:DWORD,:DWORD,:DWORD
        WndProc          PROTO :DWORD,:DWORD,:DWORD,:DWORD
        Main             PROTO

      ;=============
      ; Local macros
      ;=============

      szText MACRO Name, Text:VARARG
        LOCAL lbl
          jmp lbl
            Name db Text,0
          lbl:
        ENDM

      m2m MACRO M1, M2
        push M2
        pop  M1
      ENDM

      return MACRO arg
        mov eax, arg
        ret
      ENDM

      DisplayWindow MACRO handl, ShowStyle
        invoke ShowWindow,handl, ShowStyle
        invoke UpdateWindow,handl
      ENDM

masm32里找的,不知道合不合适,呵呵
#3
诸葛修勤2011-03-06 16:48
不行啊   谢谢
windows.inc包含这个后就是大堆的error

//Irvine32.inc文件
; Include file for Irvine32.lib             (Irvine32.inc)

;OPTION CASEMAP:NONE        ; optional: make identifiers case-sensitive
;INCLUDE SmallWin.inc        ; MS-Windows prototypes, structures, and constants
includelib kernel32.lib
includelib irvine32.lib
includelib user32.lib
;INCLUDE VirtualKeys.inc

注释点上面两个 可以有 exe 文件出来但是 没效果(书上的)
ml.exe /c /coff /nologo /Fo"CONSOLE.obj" "D:\hb\masmplus\Project\CONSOLE.asm"
link.exe /SUBSYSTEM:WINDOWS /nologo /OUT:"CONSOLE.exe" "CONSOLE.obj"
准备就绪:D:\hb\masmplus\Project\CONSOLE.exe
1