Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [ideras@localhost EasyASM (master)]$ ./EasyASM --x86
- --- EasyASM x86 mode (little endian) ----
- Global base address = 0x10000000
- Stack pointer address = 0x7fffeffc
- Global memory size = 256 dwords
- Stack size = 256 dwords
- ASM> mov eax, 0x11223344
- eax = 0x11223344 287454020 287454020
- ASM> push eax
- dword [0x7FFFEFF8] = 0x11223344 287454020 287454020
- ASM> #show esp hex
- esp = 7FFFEFF8
- ASM> pop ebx
- ebx = 0x11223344 287454020 287454020
- ASM> #show esp hex
- esp = 7FFFEFFC
- ASM> pop ebx
- Line 1: Runtime exception: fetch address out of limit 0x7fffeffc
- Line 1: Invalid address '0x7FFFEFFC'.
- ASM> pushad
- Line 2: Syntax error. Unexpected end of input
- ASM> mov eax, 10
- eax = 0xA 10 10
- ASM> mov ebx, 20
- ebx = 0x14 20 20
- ASM> add eax, ebx
- eax = 0x1E 30 30
- ASM> add eax, 30
- eax = 0x3C 60 60
- ASM> add eax, dword [0x10000000]
- eax = 0x3C 60 60
- ASM> add eax, -30
- eax = 0x1E 30 30
- ASM> mov eax, 10
- eax = 0xA 10 10
- ASM> mov ebx, 20
- ebx = 0x14 20 20
- ASM> mul ebx
- eax = 0xC8 200 200
- ASM> #show edx hex
- edx = 00000000
- ASM> mul eax
- eax = 0x9C40 40000 40000
- ASM> #show edx hex
- edx = 00000000
- ASM> mul eax
- eax = 0x5F5E1000 1600000000 1600000000
- ASM> #show edx hex
- edx = 00000000
- ASM> mul eax
- eax = 0xC1000000 -1056964608 3238002688
- ASM> #show edx hex
- edx = 2386F26F
- ASM> mul 10
- Line 1: Invalid arguments '10' in Mul instruction
- ASM> mul dword [0x10000000]
- eax = 0x0 0 0
- ASM> mul byte [0x10000000]
- ax = 0x0 0 0
- ASM> mov al, 10
- al = 0xA 10 10
- ASM> mov bl, 20
- bl = 0x14 20 20
- ASM> mul bl
- ax = 0xC8 200 200
- ASM> mov bx, 20
- bx = 0x14 20 20
- ASM> mov ax, 10
- ax = 0xA 10 10
- ASM> mul bx
- ax = 0xC8 200 200
- ASM> #show eax hex
- eax = 000000C8
- ASM> #show eax decimal
- eax = 200
- ASM> mov ax, 100
- ax = 0x64 100 100
- ASM> mov bx, 200
- bx = 0xC8 200 200
- ASM> mul bx
- ax = 0x4E20 20000 20000
- ASM> mul bx
- ax = 0x900 2304 2304
- ASM> #show eax decimal
- eax = 2304
- ASM> #show ax decimal
- ax = 2304
- ASM> #show dx decimal
- dx = 61
- ASM> imul eax, eax, ebx
- Line 1: IMUL instruction with three argument not supported.
- ASM> imul eax, ebx
- eax = 0x70800 460800 460800
- ASM> mov eax, 10
- eax = 0xA 10 10
- ASM> mov edx, 0
- edx = 0x0 0 0
- ASM> mov ebx, 2
- ebx = 0x2 2 2
- ASM> div ebx
- eax = 0x5 5 5
- ASM> mov eax, 100
- eax = 0x64 100 100
- ASM> mov ebx, 3
- ebx = 0x3 3 3
- ASM> div ebx
- eax = 0x21 33 33
- ASM> #show edx
- edx = 1
- ASM> mov ebx, 0
- ebx = 0x0 0 0
- ASM> div ebx
- Line 1: Divide error in Div instruction, divide by zero not supported.
- ASM> lea eax, ebx
- Line 1: Second argument of instruction 'lea' should be a memory reference.
- ASM> lea eax, [ebx]
- eax = 0x0 0 0
- ASM> lea eax, [ebx+8]
- eax = 0x8 8 8
- ASM> lea eax, [ebx+4*ecx]
- eax = 0x0 0 0
- ASM> lea eax, [ebx+4*ecx+9]
- eax = 0x9 9 9
- ASM> lea eax, [ebx+7*ecx+9]
- Line 1: Invalid scalar multiplier 7 in address expression '7*ecx'. Valid values are 1, 2, 4, 8.ASM>
- ASM> lea eax, [ebx+8*ecx-ecx]
- Line 1: Invalid expression 'ebx+8*ecx-ecx' in memory reference.
- ASM> lea eax, [ebx+4*ecx]
- eax = 0x0 0 0
- ASM> lea eax, [2*ebx+4*ecx]
- Line 1: Invalid expression '2*ebx+4*ecx' in memory reference.
- ASM> lea eax, [ebx+4*ecx+ecx]
- Line 1: Invalid expression 'ebx+4*ecx+ecx' in memory reference.
- ASM> lea eax, [ebx+4*ecx+10]
- eax = 0xA 10 10
- ASM> lea eax, [4*ecx]
- eax = 0x0 0 0
- ASM> lea eax, [ebx+4+ecx+10]
- Line 1: Syntax error. Unexpected operator '+'
- ASM> lea eax, [ebx+4+ecx]
- Line 1: Invalid expression 'ebx+4+ecx' in memory reference.
- ASM> lea eax, [ebx+4+1*ecx]
- eax = 0x4 4 4
- ASM> mov ebx, [0x10000000]
- ebx = 0x0 0 0
- ASM> lea eax, [ebx+ecx+4]
- Line 1: Invalid expression 'ebx+ecx+4' in memory reference.
- ASM> lea eax, [ebx+1*ecx+4]
- eax = 0x4 4 4
- ASM>
- ASM>
- ASM> mov eax, 0x10000000
- eax = 0x10000000 268435456 268435456
- ASM> mov ebx, 0x10000000
- ebx = 0x10000000 268435456 268435456
- ASM> mov eax, 0
- eax = 0x0 0 0
- ASM> mov ecx, 10
- ecx = 0xA 10 10
- ASM> mov dword [ebx+4*eax], ecx
- dword [0x10000000] = 0xA 10 10
- ASM> inc eax
- eax = 0x1 1 1
- ASM> mov ecx, 20
- ecx = 0x14 20 20
- ASM> mov dword [ebx+4*eax], ecx
- dword [0x10000004] = 0x14 20 20
- ASM> #show dword [ebx][2] decimal
- dword [0x10000000] = 10
- dword [0x10000004] = 20
- ASM> inc eax
- eax = 0x2 2 2
- ASM> mov dword [ebx+4*eax], 30
- dword [0x10000008] = 0x1E 30 30
- ASM> #show dword [ebx][3] decimal
- dword [0x10000000] = 10
- dword [0x10000004] = 20
- dword [0x10000008] = 30
- ASM>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement