lib.asm

来自「这是一个数字图像处理的matlab仿真程序」· 汇编 代码 · 共 78 行

ASM
78
字号
; #########################################################################
;
;             Small code replacement for Microsoft's LIB.EXE
;            This file is built as a console mode application
;
; #########################################################################

      .386
      .model flat, stdcall
      option casemap :none   ; case sensitive

      ArgClC PROTO :DWORD,:DWORD    ; console mode version
      Parse_Args PROTO

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

      include \masm32\include\windows.inc
      include \masm32\include\user32.inc
      include \masm32\include\kernel32.inc
      include \masm32\include\masm32.inc

      includelib \masm32\lib\user32.lib
      includelib \masm32\lib\kernel32.lib
      includelib \masm32\lib\masm32.lib

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

    .code

start:

    invoke Parse_Args

    invoke ExitProcess,0

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

Parse_Args proc

    LOCAL counter:DWORD
    LOCAL szBuffer[128]:BYTE
    LOCAL szCmdline[128]:BYTE

    jmp @F
        lead$       db "link -lib ",0
        quote$      db 34,0
        quotspc$    db 34,32,0
    @@:

    invoke GetAppPath,ADDR szCmdline
    invoke lstrcat,ADDR szCmdline,ADDR lead$

    mov counter, 1

  StLoop:
    invoke ArgClC,counter,ADDR szBuffer
      cmp eax, 0
      je do_it
      cmp eax, 2
      je do_it

      invoke lstrcat,ADDR szCmdline,ADDR quote$
      invoke lstrcat,ADDR szCmdline,ADDR szBuffer
      invoke lstrcat,ADDR szCmdline,ADDR quotspc$
      inc counter
      jmp StLoop
      
  do_it:

      invoke WinExec,ADDR szCmdline,SW_SHOWNORMAL

    ret

Parse_Args endp

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

end start

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?