📄 standard.mac
字号:
; Standard macro set for NASM -*- nasm -*-; Macros to make NASM ignore some TASM directives before the first include; directive. %idefine IDEAL %idefine JUMPS %idefine P386 %idefine P486 %idefine P586 %idefine END; This is a magic token which indicates the end of the TASM macros*END*TASM*MACROS*; Note that although some user-level forms of directives are defined; here, not all of them are: the user-level form of a format-specific; directive should be defined in the module for that directive.; These two need to be defined, though the actual definitions will; be constantly updated during preprocessing.%define __FILE__%define __LINE__%define __SECT__ [section .text] ; it ought to be defined, even if as nothing%imacro section 1+.nolist%define __SECT__ [section %1] __SECT__%endmacro%imacro segment 1+.nolist%define __SECT__ [segment %1] __SECT__%endmacro%imacro absolute 1+.nolist%define __SECT__ [absolute %1] __SECT__%endmacro%imacro struc 1.nolist%push struc%define %$strucname %1[absolute 0]%$strucname: ; allow definition of `.member' to work sanely%endmacro %imacro endstruc 0.nolist%{$strucname}_size:%pop__SECT__%endmacro%imacro istruc 1.nolist%push istruc%define %$strucname %1%$strucstart:%endmacro%imacro at 1-2+.nolist times %1-($-%$strucstart) db 0 %2%endmacro%imacro iend 0.nolist times %{$strucname}_size-($-%$strucstart) db 0%pop%endmacro%imacro align 1-2+.nolist nop times ($$-$) & ((%1)-1) %2%endmacro%imacro alignb 1-2+.nolist resb 1 times ($$-$) & ((%1)-1) %2%endmacro%imacro extern 1-*.nolist%rep %0[extern %1]%rotate 1%endrep%endmacro%imacro bits 1+.nolist[bits %1]%endmacro%imacro use16 0.nolist[bits 16]%endmacro%imacro use32 0.nolist[bits 32]%endmacro%imacro global 1-*.nolist%rep %0[global %1]%rotate 1%endrep%endmacro%imacro common 1-*.nolist%rep %0[common %1]%rotate 1%endrep%endmacro%imacro cpu 1+.nolist[cpu %1]%endmacro%imacro org 1+.nolist[org %1]%endmacro
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -