Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;;-------------------------------------------------------------------
- %macro .STARTUP 0
- ;group dgroup .data .bss
- global _start
- _start:
- %endmacro
- ;;-------------------------------------------------------------------
- ;;-------------------------------------------------------------------
- %macro .EXIT 0
- mov EAX,1
- xor EBX,EBX
- int 0x80
- %endmacro
- ;;-------------------------------------------------------------------
- ;;-------------------------------------------------------------------
- %macro .DATA 0
- segment .data
- %endmacro
- ;;-------------------------------------------------------------------
- ;;-------------------------------------------------------------------
- %macro .UDATA 0
- segment .bss
- %endmacro
- ;;-------------------------------------------------------------------
- ;;-------------------------------------------------------------------
- %macro .CODE 0
- segment .data
- segment .bss
- segment .text
- %endmacro
- ;;-------------------------------------------------------------------
- ;;-------------------------------------------------------------------
- %macro nwln 0
- call proc_nwln
- %endmacro
- ;;-------------------------------------------------------------------
- ;;-------------------------------------------------------------------
- %macro PutCh 1
- push AX
- mov AL,%1
- call proc_PutCh
- pop AX
- %endmacro
- ;;-------------------------------------------------------------------
- ;;-------------------------------------------------------------------
- %macro PutStr 1
- push ECX
- mov ECX,%1
- call proc_PutStr
- pop ECX
- %endmacro
- ;;-------------------------------------------------------------------
- ;;-------------------------------------------------------------------
- %macro GetStr 1-2 81
- push ESI
- push EDI
- mov EDI,%1
- mov ESI,%2
- call proc_GetStr
- pop EDI
- pop ESI
- %endmacro
- ;;-------------------------------------------------------------------
- ;;-------------------------------------------------------------------
- %macro GetCh 1
- push SI
- xor SI,SI
- %ifidni %1,AL
- ;inc SI
- call proc_GetCh
- %elifidni %1,AH
- mov SI,1
- call proc_GetCh
- %else
- push AX
- call proc_GetCh
- mov %1,AL
- pop AX
- %endif
- pop SI
- %endmacro
- ;;-------------------------------------------------------------------
- ;;-------------------------------------------------------------------
- %macro PutInt 1
- push AX
- mov AX,%1
- call proc_PutInt
- pop AX
- %endmacro
- ;;-------------------------------------------------------------------
- ;;-------------------------------------------------------------------
- %macro GetInt 1
- %ifnidni %1,AX
- push AX
- call proc_GetInt
- mov %1,AX
- pop AX
- %else
- call proc_GetInt
- %endif
- %endmacro
- ;;-------------------------------------------------------------------
- ;;-------------------------------------------------------------------
- %macro PutLInt 1
- push EAX
- mov EAX,%1
- call proc_PutLInt
- pop EAX
- %endmacro
- ;;-------------------------------------------------------------------
- ;;-------------------------------------------------------------------
- %macro GetLInt 1
- %ifnidni %1,EAX
- push EAX
- call proc_GetLInt
- mov %1,EAX
- pop EAX
- %else
- call proc_GetLInt
- %endif
- %endmacro
- ;;--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement