diff options
author | polwex <polwex@sortug.com> | 2025-10-05 21:56:51 +0700 |
---|---|---|
committer | polwex <polwex@sortug.com> | 2025-10-05 21:56:51 +0700 |
commit | fcedfddf00b3f994e4f4e40332ac7fc192c63244 (patch) | |
tree | 51d38e62c7bdfcc5f9a5e9435fe820c93cfc9a3d /vere/ext/nasm/macros/masm.mac |
claude is gud
Diffstat (limited to 'vere/ext/nasm/macros/masm.mac')
-rw-r--r-- | vere/ext/nasm/macros/masm.mac | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/vere/ext/nasm/macros/masm.mac b/vere/ext/nasm/macros/masm.mac new file mode 100644 index 0000000..f476364 --- /dev/null +++ b/vere/ext/nasm/macros/masm.mac @@ -0,0 +1,82 @@ +;; -------------------------------------------------------------------------- +;; +;; Copyright 2019 The NASM Authors - All Rights Reserved +;; See the file AUTHORS included with the NASM distribution for +;; the specific copyright holders. +;; +;; Redistribution and use in source and binary forms, with or without +;; modification, are permitted provided that the following +;; conditions are met: +;; +;; * Redistributions of source code must retain the above copyright +;; notice, this list of conditions and the following disclaimer. +;; * Redistributions in binary form must reproduce the above +;; copyright notice, this list of conditions and the following +;; disclaimer in the documentation and/or other materials provided +;; with the distribution. +;; +;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +;; CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, +;; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +;; MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +;; DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +;; CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +;; NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +;; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +;; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +;; CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +;; OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +;; EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +;; +;; -------------------------------------------------------------------------- + +;; +;; masm.mac +;; +;; Very limited MASM compatibility package; intended to be used +;; primarily with machine-generated code. It does not include any +;; "programmer friendly" shortcuts, nor does it in any way support +;; ASSUME, symbol typing, or MASM-style structures. +;; + +USE: masm + +%unimacro segment 1+ + +%imacro segment 0-1+.nolist + %define __?SECT?__ [segment %00 %1] + __?SECT?__ +%endmacro + +%imacro ends 0+.nolist + %null ends %00 +%endmacro + +%imacro proc 0-*.nolist + %rep %0 + %ifidni %1,far + %idefine ret retf + %else + %idefine ret retn + %endif + %rotate 1 + %endrep +%endmacro + +%imacro endp 0.nolist + %null endp %00 + %undef ret +%endmacro + +%idefine ptr __?masm_ptr?__ +%idefine flat __?masm_flat?__ ; is %idefine really correct here? +%idefine offset + +%imacro end 0+.nolist + ; Nothing +%endmacro + +%idefine tbyte tword + + default rel |