wswan:guide:c_assembly
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
wswan:guide:c_assembly [2024/02/29 18:55] – asie | wswan:guide:c_assembly [2025/08/15 14:43] (current) – [Useful macros] asie | ||
---|---|---|---|
Line 19: | Line 19: | ||
- Include the libws library' | - Include the libws library' | ||
- Tell the assembler to emit 16-bit code; this is useful as the GNU assembler supports all kinds of x86 code, including 32-bit and 64-bit. | - Tell the assembler to emit 16-bit code; this is useful as the GNU assembler supports all kinds of x86 code, including 32-bit and 64-bit. | ||
- | - Tell the assembler to emit 80186 code; this unlocks some additional 80186-exclusive opcodes supported on the NEC V30MZ | + | - Tell the assembler to emit 80186 code; this unlocks some additional 80186-exclusive opcodes supported on the NEC V30MZ. |
- Tell the assembler to emit Intel-syntax assembly; this is entirely optional, but the examples for external assembly files in this guide all make use of the Intel syntax, as opposed to the default AT&T syntax used in inline assembly. | - Tell the assembler to emit Intel-syntax assembly; this is entirely optional, but the examples for external assembly files in this guide all make use of the Intel syntax, as opposed to the default AT&T syntax used in inline assembly. | ||
Line 31: | Line 31: | ||
===== Useful macros ===== | ===== Useful macros ===== | ||
- | '' | + | '' |
- | * **WF_PLATFORM_CALL** - for portability between code models, you can use this macro in place of the '' | + | * **IA16_CALL** - for portability between code models, you can use this macro in place of the '' |
- | * **WF_PLATFORM_JMP** - for portability between code models, you can use this macro in place of the '' | + | * **IA16_JMP** - for portability between code models, you can use this macro in place of the '' |
- | * **WF_PLATFORM_RET** - for portability between code models, you can use this macro in place of the '' | + | * **IA16_RET** - for portability between code models, you can use this macro in place of the '' |
- | * **WF_PLATFORM_CALL_STACK_OFFSET(x)** - for portability between code models, you can use this macro to get a stack offset with the function return address accounted for. For exapmle, in a " | + | * **IA16_CALL_STACK_OFFSET(x)** - for portability between code models, you can use this macro to get a stack offset with the function return address accounted for. For exapmle, in a " |
wswan/guide/c_assembly.1709232938.txt.gz · Last modified: by asie