Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %macro sum 3
- pushf
- pusha
- mov eax,[%1]
- add eax,[%2]
- mov [%3],eax
- popa
- popf
- %endmacro
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- %macro readnum 1
- pusha
- pushf
- mov eax,3
- mov ebx,2
- mov ecx,%1
- mov edx,15
- int 0x80
- mov edi,%1
- %%lll:
- mov al,[edi]
- cmp al,10
- je %%kk
- inc edi
- inc esi
- loop %%lll
- %%kk:
- mov edi,%1
- mov bl,[%1]
- cmp bl,'-'
- jne %%f
- dec esi
- inc edi
- %%f:
- xor eax,eax
- mov ecx,esi
- add edi,esi
- dec edi
- %%ll:
- mov al,[edi]
- sub al,'0'
- push eax
- dec edi
- loop %%ll
- pop eax
- mov ecx,esi
- dec ecx
- cmp ecx,0
- jle %%r
- %%l:
- mov ebx,10
- mul ebx
- pop edx
- add eax,edx
- cmp ecx,0
- loop %%l
- %%r:
- mov bl,[%1]
- cmp bl,'-'
- jne %%f1
- neg eax
- %%f1:
- mov ebp,esp
- add ebp,32
- mov [ebp],eax
- popf
- popa
- %endmacro
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- %macro lowword_edx 1
- pushf
- pusha
- mov eax,%1
- add eax,3
- mov ch,[eax]
- dec eax
- mov cl,[eax]
- shl ecx,16
- mov eax,%1
- add eax,1
- mov ch,[eax]
- dec eax
- mov cl,[eax]
- mov ebp,esp
- add ebp,20
- mov [ebp],ecx
- popa
- popf
- %endmacro
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- %macro highword_edx 1
- pushf
- pusha
- mov eax,%1
- add eax,7
- mov ch,[eax]
- dec eax
- mov cl,[eax]
- shl ecx,16
- mov eax,%1
- add eax,5
- mov ch,[eax]
- dec eax
- mov cl,[eax]
- mov ebp,esp
- add ebp,20
- mov [ebp],ecx
- popa
- popf
- %endmacro
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- %macro sumq 3
- pushf
- pusha
- lowword_edx %1
- mov eax,edx
- lowword_edx %2
- mov ebx,edx
- highword_edx %1
- mov ecx,edx
- highword_edx %2
- add eax,ebx
- adc ecx,edx
- mov [%3],al
- mov [%3+1],ah
- shr eax,16
- mov [%3+2],al
- mov [%3+3],ah
- mov [%3+4],cl
- mov [%3+5],ch
- shr ecx,16
- mov [%3+6],cl
- mov [%3+7],ch
- popa
- popf
- %endmacro
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- %macro print4bitHIGH 1
- pushf
- pusha
- mov dx,%1
- cmp dh,1
- jne r1
- PRINT "1"
- r1:
- cmp dh,2
- jne r2
- PRINT "2"
- r2:
- cmp dh,3
- jne r3
- PRINT "3"
- r3:
- cmp dh,4
- jne r4
- PRINT "4"
- r4:
- cmp dh,5
- jne r5
- PRINT "5"
- r5:
- cmp dh,6
- jne r6
- PRINT "6"
- r6:
- cmp dh,7
- jne r7
- PRINT "7"
- r7:
- cmp dh,8
- jne r8
- PRINT "8"
- r8:
- cmp dh,9
- jne r9
- PRINT "9"
- r:
- cmp dh,10
- jne r10
- PRINT "A"
- r10:
- cmp dh,11
- jne r11
- PRINT "B"
- r11:
- cmp dh,12
- jne r12
- PRINT "C"
- r12:
- cmp dh,13
- jne r13
- PRINT "D"
- r13:
- cmp dh,14
- jne r14
- PRINT "E"
- r14:
- cmp dh,15
- jne r15
- PRINT "F"
- r15:
- popa
- popf
- %endmacro
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement