masm32v12编译器自带库masm32.lib在nasm中的使用。

修改了masm32.inc文件在nasm中使用。

;╔═══════════════════════════════╗
;║ MASM32 库改nasm             ║
;╚═══════════════════════════════╝
;                      ruYYLYLsYsYsLsYuY:
;                  :::vdQRggDgDgDgDgDRRMUi.:.
;                .IQBg1:................7bBBZr
;              .1dJrrr...................irrvXK7
;            .rj27: ..................... . .r1UL:.
;            LBZ:        . . . . . . ...       UQE.
;            7ZI:       . .............       .vZI.
;          v5j:. iBBBBQ.  .... . .....  2BBBBZ  .75U:
;         .5Q1.  LBBBBB:  ...       .   BBBBBB   iggr
;          jZ1.  :BBBBR.     .:i:.      LBBBB5   rbP:
;          YDJ...           .vBBBK:           ...rPKi
;          uZJ...:.     .75EDQBBBBDEKs:      ... rPb:
;         .5B2:.rv7:..rSBBBBBQMEgRBBBQBZY...rvv:.rMgr
;          isuvLvYr: .rbREqDQBBBQBBRPPgMJ. .ivLv7sJ7.
;            rMdr.::.      :2bRRQZq7.     ..:.:uQ5.
;            vMd:  ....      . .       .....  .uRP.
;             :vSs: .........   . ......:....rSui.
;               i1uvi..:.:...:.....:.:....:7Y27.
;                .IEJ.......:.....:.......rqPr
;          rSPSKIsr:..     ... . ...     ..:ivuXXPqJ.
;        iYrrsPKs:..  iLY:    ...    .rs7.  .:72d27rv7.
;      .ijYriJKJ.....ivj7:     .     .iJYr:. . r55ri727:.
;     rPS:.iKdK7:. .uPY    ..     ..    :XPi  .i1bdL:.vEU.
;     ibS:.:rr.... .jbv   .j5r   :uSi   :qXi ....:ri..vZs.
;      .iJIvi...... .:7jX5u7r7UXSL7rYUqUYi:.......:rUU7..
;        ijqI7.....   .YXXr. :YKUr  :1X2i.   ....iJPIr.
;          iur:....                       . .....iY7.
;             ...... .     . . . . . .   . ......
;          .i:........... . ..... . . ... .......:r:
;        :sQgJ.....:.. ... . ...........  .......rbBqr.
;       .LEPILr:....... ... . . . ..............:ruXD5i
;            7dqi......... . . . . . ..........jDS.
;             .JE5i ....................... .YZ5r.
;               r2I1j7:. ................rsI25v:
;                 7gBBdr::..::iii::...::2QBQ2.
;                   rgQgdZEZZgMQMMDDdDdDRQ2.
;          :qdbPbr      :KBBBs...idBBM7      .SbbPEv
;        .vDBBBBQRv:... :SBBP.    LBBZ7. ...iPBBBBBBI:
;       :gBQBgMgQBBBBBBQBQQQgi   .5QBRBBBBBBBBQgMgRBBBJ ;
;                   by Pierre.Y 2021/5/16%ifndef NASM_INC
%define NASM_INC;╔═══════════════════════════════════════╗
;║ 必选的宏定义 nvoke 函数引用 ,x1,...,x2  ║
;╚═══════════════════════════════════════╝
%macro invoke 2-*%define _j %1%rep %0-1%rotate -1push dword %1%endrepinvoke _j
%endmacroextern AssociateColorProfileWithDeviceA
; 命令行两个参数 字串 和 数
extern ArgCl    ;图形模式
extern ArgClC   ;终端模式
extern GetCL    ;128 字节缓冲版本
extern getcl_ex ;不限制尺寸版本
extern Alloc
extern Free
;╔═══════════════╗
;║ 数字和文本转换 ║
;╚═══════════════╝
extern a2dw
extern atodw ;返回值在EAX
extern htodw ;返回值在EAX
extern dwtoa ;值在缓冲区
extern dw2a
extern dw2hex extern ustr2dw
extern udw2str extern GetErrDescription ;╔══════════════════╗
;║ 字串和浮点指针转换 ║
;╚══════════════════╝
;extern FloatToStr stdcall fpin:QWORD, szDbl:PTR CHAR
;extern FloatToStr2     stdcall fpin:QWORD, szDbl:PTR CHAR
;extern StrToFloat      stdcall szIn:PTR BYTE, fpout:PTR DWORD;〓〓〓〓〓〓〓〓〓〓
;▓    搜索功能     ▓
;〓〓〓〓〓〓〓〓〓〓
extern InString
extern BinSearch
extern partial ; Boyer Moore 基本功能
; ~~~~~~~~~~~~~~~~~~~~
extern BMBinSearch
extern BMHBinsearch
extern SBMBinSearch
extern WordCount  ;〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
;▓  "one shot"或 "one pass" 逻辑解码    ▓
;〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
extern XorData
extern RolData
extern RorData  extern StrLen ; Agner Fog's 快速字串求长度;〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
;▓    字串后为0的转换处理函数    ▓
;▓       (必须和旧名相等)      ▓
;〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
extern szappend
extern szCatStr
extern szCmp
extern szCmpi
extern Cmpi
extern szCopy
extern szLeft
extern szLen
extern szLower
extern szLtrim
extern szMid
extern szMultiCat
extern szMonoSpace
extern szRemove
extern szRep
extern szRev
extern szRight
extern szRtrim
extern szTrim
extern szUpper
extern szWcnt ;〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
;▓   必须和原名类型等相等    ▓
;〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
%define lnstr   szLen
%define cmpstr  szCmp
%define cmpsi   szCmpi
%define revstr  szRev
%define lcase   szLower
%define ucase   szUpper
%define ltrim   szLtrim
%define rtrim   szRtrim
%define trim    szTrim
%define lstr    szLeft
%define rstr    szRight
%define midstr  szMid;╔═════════════╗
;║ shell 处理  ║
;╚═════════════╝
extern shell
extern shell_ex extern StripRangeI
extern StripRangeX  extern MemCopy
extern memfill extern GetAppPath
extern GetAppPathW extern NameFromPath
extern NameFromPathWextern GetPathOnly
extern GetPathOnlyW extern exist
extern existW extern filesize
extern filesizeWextern FrameCtrl
extern FrameWindow
extern FrameGrp extern Frame3D
extern line
extern circle extern DisplayBmp
extern DisplayIcon
extern VerticalTile
extern SetBMcolor extern BmpButton extern _Stdout
extern StdOutWextern StdErr
extern StdErrWextern StdIn
extern StdInWextern locate
extern ClearScreen
extern StripLF
extern wait_key
extern ret_key extern BrowseForFolder
extern FontDialog
extern ColorDialog
extern PageSetupDialog
extern PrintDialog extern Read_File_In
extern ofCallBack
extern Write_To_Disk
extern sfCallBack
extern RichEd1
extern RichEd2  extern GetPercent
extern IntMul
extern IntDiv
extern IntSqrt extern nrandom
extern nseed  ;╔═══════════════╗
;║ 预建对话框类型 ║
;╚═══════════════╝
extern GetTextInput
extern AboutBox
extern GetFile
extern LoadList
extern IPtoString
extern GetIP  ;╔═══════════════════════════╗
;║Ernie Murphy 的图像读取处理 ║
;╚═══════════════════════════╝
;〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
;▓    使用 BitmapFromMemory, BitmapFromFile 和 BitmapFromResource 函数  ▓
;▓    源码要包括在下面两个函数之间                                        ▓
;▓                                                                     ▓
;▓           invoke CoInitialize, NULL  源码开始                        ▓
;▓           invoke CoUninitialize      源码结束                        ▓
;〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
extern BitmapFromFile
extern BitmapFromMemory
extern BitmapFromPicture
extern BitmapFromResource ;╔════════════════╗
;║ 文件输入输出处理║
;╚════════════════╝
extern read_disk_file
extern read_disk_fileW extern write_disk_file
extern write_disk_fileW;╔═════════════════╗
;║ 内存图表文件处理 ║
;╚═════════════════╝
extern CloseMMF
extern CreateMMF ;╔═══════════╗
;║  排序处理  ║
;╚═══════════╝
extern nrQsortA
extern nrQsortD extern CombSortA
extern CombSortD extern testreg  extern HexDump
extern AsciiDump ;╔═════════════════════════╗
;║ ASCII 和 32位长整数转换  ║
;╚═════════════════════════╝
extern atol
extern ltoa ;╔══════════════════════╗
;║ 文件打开和关闭对话框   ║
;╚══════════════════════╝
extern OpenFileDialog
extern SaveFileDialog ;╔═══════════════╗
;║ ASCII到宽字符  ║
;╚═══════════════╝
extern a2wc ;╔══════════════╗
;║ 数组计算处理  ║
;╚══════════════╝
extern arr_add
extern arr_mul
extern arr_sub ; -------------------
; create dynamic aray
; -------------------
;╔═══════════════╗
;║ 建立动态数组   ║
;╚═══════════════╝
extern create_array ;╔═════════════════╗
;║ 文件字节计数处理  ║
;╚═════════════════╝
extern byte_count ;╔═════════════════╗
;║ 读入驱动列表字符 ║
;╚═════════════════╝
extern load_drives ;╔═════════════════╗
;║ C风格字符测试处理 ║
;╚═════════════════╝
;extern isalpha
;extern isupper
;extern islower
;extern isnumber
;extern isalphanum ;╔════════════════╗
;║ hybrid 快速排序 ║
;╚════════════════╝
extern assort
extern dssort  ;╔════════════════╗
;║ hybrid 快速排序 ║
;╚════════════════╝
extern asqsort
extern dsqsort   ;╔════════════════╗
;║ hybrid 快速排序*║
;╚════════════════╝
extern acisort
extern dcisort ;╔════════════════╗
;║ hybrid 插入排序 ║
;╚════════════════╝
extern aissort
extern dissort ;╔═══════════════════╗
;║ sharker 排序(安全) ║
;╚═══════════════════╝
extern ccsorta
extern ccsortd ;╔═══════════════╗
;║ 快速排序       ║
;╚═══════════════╝
extern qssorta
extern qssortd ;╔═══════════════╗
;║ Shell 字串排序 ║
;╚═══════════════╝
extern ssorta
extern ssortd  ;╔═══════════════╗
;║ Comb 字串排序  ║
;╚═══════════════╝
extern cstsorta
extern cstsortd ;╔═══════════════╗
;║ 冒泡排序法     ║
;╚═══════════════╝
extern bstsorta
extern bstsortd ;╔═══════════════╗
;║ 读写内存文本行 ║
;╚═══════════════╝
extern readline
extern writeline
extern tstline
extern parse_line
extern lfcnt   ;╔═══════════════╗
;║UNICODE字串处理 ║
;╚═══════════════╝
extern ucappend
extern ucArgByNum
extern ucCatStr
extern ucCopy
extern ucCmdTail
extern ucCmp
extern ucFind
extern ucGetCL
extern ucgetline
extern ucLen
extern ucLeft
extern ucLtrim
extern ucMid
extern ucMonoSpace
extern ucRemove
extern ucRep
extern ucRight
extern ucRtrim
extern ucLower
extern ucUpper
extern ucRev
extern ucMultiCat
extern ucWcnt  extern ucOpenFileDialog
extern ucSaveFileDialog ;╔═════════╗
;║ 单词覆盖 ║
;╚═════════╝
extern wordreplace ;╔═════════╗
;║ 扩展函数 ║
;╚═════════╝
extern atodw_ex
extern byt2bin_ex
extern wrd2bin_ex
extern dw2bin_ex
extern bin2byte_ex
extern dw2hex_ex
extern hexflip32  ;╔═══════════════════════════╗
;║ 高速二进制/十六进制转换     ║
;╚═══════════════════════════╝
extern bin2hex
extern hex2bin ;╔════════════════╗
;║ 附加 shell 函数 ║
;╚════════════════╝
extern wshell ;╔════════════════════╗
;║ 比较已知长度的内存块 ║
;╚════════════════════╝
extern cmpmem ;╔══════════════╗
;║ 代码结构定义  ║
;╚══════════════╝
;struc RUN_SYNCH_PROCESS_EX\
;
;   .priority dd ? ; priority setting
;   .timeou   dd ? ; timeout interval
;   .rvcreate dd ? ; CreateProcess() return value
;   .exitcode dd ? ; GetExitCodeProcess() exit code
;   .rvwait   dd ? ; WaitForSingleObjectEx() return value
;
;endstruc;extern run_synch_process_ex ;╔══════════════════════════════╗
;║ 返回 CreateFont 函数的字体句柄 ║
;╚══════════════════════════════╝
extern RetFontHandle extern ArgByNumber
extern get_ml
extern decomment ;╔═════════╗
;║ 文本函数 ║
;╚═════════╝
extern ltok
extern wtok ; --------------------
; clipboard text algos
; --------------------
;╔═══════════════╗
;║ 剪贴板文本处理 ║
;╚═══════════════╝
extern GetClipboardText
extern SetClipboardText ;〓〓〓〓〓〓〓〓〓〓〓〓
;▓    动态数组函数     ▓
;〓〓〓〓〓〓〓〓〓〓〓〓
extern arralloc
extern arrealloc
extern arrfree
extern arrset
extern arrget
extern arrcnt
extern arrlen
extern arrtrunc
extern arrextnd
extern arrtotal
extern arr2file
extern arr2mem
extern arr2text
extern arrtxt
extern arrfile
extern arrbin %else
%warning "〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓"
%warning "▓    nasm 的 masm32.lib 库文件头       ▓"
%warning "〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓"
%endif

库文件:m32lib.zip

使用方法 asm 文件中包含include “masm32.inc”,

使用golink链接器例子:

把函数的obj文件直接加到主程序之后,可以和动态链接库一起链接。

GoLINK /mix /console /entry start ID.obj stdout.obj strlen.obj msvcrt.lib kernel32.dll user32.dll [msvcrt.dll]可选
关于库文件的使用参考http://www.nantz.top/index.php/post/138.html

masm32v12编译器自带库masm32.lib在nasm中的使用。相关推荐

  1. linux格式化gat分区,Linux 下使用udev永久绑定带库设备方法

    Linux 下使用udev永久绑定带库设备方法 在Linux 系统下配置带库设备,传统的方法是当安装完lin_tape驱动后会在/dev/路径下生成IBMtape,IBMchanger 这样的驱动设备 ...

  2. 一步一步制作yaffs/yaffs2根文件系统(三)---使用glibc库构造 /lib

    开发环境:Ubuntu 12.04 开发板:mini2440  256M NandFlash   64M SDRAM glibc库:点此下载 交叉编译器:arm-linux-gcc 4.4.3 点此可 ...

  3. 我自己关于C语言,编译器,标准库,GUN glibc,CRT ,API之类的理解。

    先声明,只是我自己看了一些东东的想法. 因为以前这一套东东太缠绕人了. C语言,是一种语言标准,和它对照的是C++,JAVA,BASIC,FORTRAN,PASCAL等等概念.它定义的是自己一套适用于 ...

  4. 十大被低估的python库_小白必读!十大被低估的Python自带库!

    原标题:小白必读!十大被低估的Python自带库! 大家在学习python的过程中,都会了解到python的一个强大的功能在于各种强大的第三方库函数,大家只需要通过pip install 即可安装我们 ...

  5. c语言将程序写为动态库,VS下生成C程序静态库(LIB)及动态库(DLL)的方法

    一.前言 工作中有时候因为分工合作的原因需要让别人调用自己写的代码去完成某项功能,但是又不想让别人看到具体的实现过程,只是提供一个API形式的接口供别人调用:又或者是其他的一些原因,有必要学习静态库及 ...

  6. 静态库(lib)和动态库(dll)的使用

    静态库(lib)和动态库(dll)的理解与使用 前言 一.函数重载的理解 二.extern "C" 的理解 三.静态库的调用 1.静态库的生成 2.静态库的调用 四.动态库的调用 ...

  7. 十大被低估的Python自带库!

    大家在学习python的过程中,都会了解到python的一个强大的功能在于各种强大的第三方库函数,大家只需要通过pip install 即可安装我们需要的库函数. 大家往往只是关注自己安装的pytho ...

  8. cygwin编译生成hello world_自己动手实现Lua:虚拟机、编译器、标准库(一)——搭建开发环境...

    该系列是笔者在学习张秀宏编写的<自己动手实现Lua:虚拟机.编译器.标准库>过程中的笔记总结 开发环境 操作系统:MacOS 文本编辑器:IntelliJ IDEA2019.2.2 CE ...

  9. UE4链接第三方库(lib和dll)

    摘要: 写这个文章主要是被UE官方的wiki和answerhub误导了很久,这本来是一个很常见和基本的问题,但是无论是官方的wiki或者是论坛上的提问都十分散乱并且充斥各种错误,因此记录下这个在开发中 ...

  10. 【Android 逆向】Android 中常用的 so 动态库 ( /system/lib/libc.so 动态库 | libc++.so 动态库 | libstdc++.so 动态库 )

    文章目录 一.拷贝并分析 Android 中的 /system/lib/libc.so 动态库 二.拷贝并分析 Android 中的 /system/lib/libc++.so 动态库 三.拷贝并分析 ...

最新文章

  1. 如何弄一个IPHONE 添加到桌面的图标
  2. UML分析AsyncDisplayKit框架-ASMuplexImageNode异步下载时序图。
  3. nginx比较apache
  4. 项目验收文档合并技巧
  5. synchronized 加锁 this 和 class 的区别!
  6. 行为模式之备忘录模式
  7. Java 将HTML转为Word
  8. 开源LitCAD:一个使用C#编写的非常简易的CAD小程序。
  9. 五大理由!建议你选择中国电信 CTWing 物联网平台?
  10. java中j是什么意思_i 1 j 是什么意思 i.j.k是什么意思
  11. 图片如何转化为pdf格式?
  12. 七牛云图片外链失效的解决办法
  13. RefineDet算法笔记
  14. mac恢复出厂设置_如何恢复Mac的出厂设置
  15. 免费分享:4个不为人知的手机APP,1个资源丰富的网站
  16. 《三体》里的超级计算机,我们今天能造出来吗?
  17. 将本地docker镜像推送到阿里云仓库
  18. 本地windows启动redis集群
  19. 第1章 基础:逻辑和证明 部分内容
  20. 技术汇之物联网设备网关技术架构设计

热门文章

  1. 小猫爪:PMSM之FOC控制01-Clark变换
  2. mysql 批量导入_MySQL快速大量导入
  3. EBSD Channel5软件
  4. 45+最佳免费WordPress主题(2021年)
  5. 简述计算机配件选购的一般原则和流程,计算机维护与维修教学全套课件(刘云霞)(已检查完11 18)教学单元五选购与配置计算机.doc...
  6. Session的详解与使用
  7. 一套5A数据中心机房建设方案(143页),可作投标技术方案模板
  8. 支持向量回归预测怎么做_使用支持向量回归进行Facebook股票预测
  9. 101到200之间有多少个质数/素数 -java编程
  10. Django 菜鸟教程(跑通流程)