updated .gitignore, removed generated asm for tests

This commit is contained in:
sjs 2009-05-21 14:08:51 -07:00
parent dc23e23b92
commit ead7e52e92
4 changed files with 7 additions and 257 deletions

4
.gitignore vendored
View file

@ -1,3 +1,5 @@
test
*.o
test.asm
test*.asm
test_lt
test_print

View file

@ -20,7 +20,8 @@ build: test.rb test.code
./test
clean:
@rm -f test.o
@rm -f test
@rm -f test.asm
@rm -f test*.o
@rm -f test test_lt test_print
@rm -f test*.asm
@rm -f *.o

View file

@ -1,54 +0,0 @@
GLOBAL _start
SECTION .data
SECTION .bss
z: resd 1
x: resd 1
y: resd 1
SECTION .text
_start:
mov eax, 1
push eax
mov eax, 1
pop ebx
cmp ebx, eax
jl L000001_lt_1
xor eax, eax
jmp L000002_endlt_1
L000001_lt_1:
xor eax, eax
not eax
L000002_endlt_1:
mov dword [z], eax
mov eax, 1
push eax
mov eax, 3
pop ebx
cmp ebx, eax
jl L000003_lt_2
xor eax, eax
jmp L000004_endlt_2
L000003_lt_2:
xor eax, eax
not eax
L000004_endlt_2:
mov dword [x], eax
mov eax, 3
push eax
mov eax, 1
pop ebx
cmp ebx, eax
jl L000005_lt_3
xor eax, eax
jmp L000006_endlt_3
L000005_lt_3:
xor eax, eax
not eax
L000006_endlt_3:
mov dword [y], eax
;; The result in eax is the exit code, move it to ebx.
mov ebx, eax
mov eax, 1 ; _exit syscall
int 0x80 ; call Linux

View file

@ -1,199 +0,0 @@
GLOBAL _start
SECTION .data
SECTION .bss
DIGITS: resd 4
HEX: resd 3
xitcode: resd 1
SECTION .text
_start:
mov dword [DIGITS], 0x33323130
mov dword [DIGITS+4], 0x37363534
mov dword [DIGITS+8], 0x62613938
mov dword [DIGITS+12], 0x66656463
mov word [HEX], 0x7830
mov word [HEX+10], 0xa
mov eax, 0
lea esi, [DIGITS]
lea edi, [HEX+9]
mov ecx, 0x4
L000001:
movzx ebx, al
and bl, 15
movzx edx, byte [esi+ebx]
mov byte [edi], dl
dec edi
movzx ebx, al
and bl, 240
shr bl, 4
mov dl, byte [esi+ebx]
mov byte [edi], dl
dec edi
shr eax, 8
loop L000001
mov eax, 0x4
mov ebx, 0x1
lea ecx, [HEX]
mov edx, 0xb
int 0x80
mov word [HEX], 0x7830
mov word [HEX+10], 0xa
mov eax, 1
lea esi, [DIGITS]
lea edi, [HEX+9]
mov ecx, 0x4
L000002:
movzx ebx, al
and bl, 15
movzx edx, byte [esi+ebx]
mov byte [edi], dl
dec edi
movzx ebx, al
and bl, 240
shr bl, 4
mov dl, byte [esi+ebx]
mov byte [edi], dl
dec edi
shr eax, 8
loop L000002
mov eax, 0x4
mov ebx, 0x1
lea ecx, [HEX]
mov edx, 0xb
int 0x80
mov word [HEX], 0x7830
mov word [HEX+10], 0xa
mov eax, 1
neg eax
lea esi, [DIGITS]
lea edi, [HEX+9]
mov ecx, 0x4
L000003:
movzx ebx, al
and bl, 15
movzx edx, byte [esi+ebx]
mov byte [edi], dl
dec edi
movzx ebx, al
and bl, 240
shr bl, 4
mov dl, byte [esi+ebx]
mov byte [edi], dl
dec edi
shr eax, 8
loop L000003
mov eax, 0x4
mov ebx, 0x1
lea ecx, [HEX]
mov edx, 0xb
int 0x80
mov word [HEX], 0x7830
mov word [HEX+10], 0xa
mov eax, 123
lea esi, [DIGITS]
lea edi, [HEX+9]
mov ecx, 0x4
L000004:
movzx ebx, al
and bl, 15
movzx edx, byte [esi+ebx]
mov byte [edi], dl
dec edi
movzx ebx, al
and bl, 240
shr bl, 4
mov dl, byte [esi+ebx]
mov byte [edi], dl
dec edi
shr eax, 8
loop L000004
mov eax, 0x4
mov ebx, 0x1
lea ecx, [HEX]
mov edx, 0xb
int 0x80
mov word [HEX], 0x7830
mov word [HEX+10], 0xa
mov eax, 123
neg eax
lea esi, [DIGITS]
lea edi, [HEX+9]
mov ecx, 0x4
L000005:
movzx ebx, al
and bl, 15
movzx edx, byte [esi+ebx]
mov byte [edi], dl
dec edi
movzx ebx, al
and bl, 240
shr bl, 4
mov dl, byte [esi+ebx]
mov byte [edi], dl
dec edi
shr eax, 8
loop L000005
mov eax, 0x4
mov ebx, 0x1
lea ecx, [HEX]
mov edx, 0xb
int 0x80
mov word [HEX], 0x7830
mov word [HEX+10], 0xa
mov eax, 4096
lea esi, [DIGITS]
lea edi, [HEX+9]
mov ecx, 0x4
L000006:
movzx ebx, al
and bl, 15
movzx edx, byte [esi+ebx]
mov byte [edi], dl
dec edi
movzx ebx, al
and bl, 240
shr bl, 4
mov dl, byte [esi+ebx]
mov byte [edi], dl
dec edi
shr eax, 8
loop L000006
mov eax, 0x4
mov ebx, 0x1
lea ecx, [HEX]
mov edx, 0xb
int 0x80
mov word [HEX], 0x7830
mov word [HEX+10], 0xa
mov eax, 4096
neg eax
lea esi, [DIGITS]
lea edi, [HEX+9]
mov ecx, 0x4
L000007:
movzx ebx, al
and bl, 15
movzx edx, byte [esi+ebx]
mov byte [edi], dl
dec edi
movzx ebx, al
and bl, 240
shr bl, 4
mov dl, byte [esi+ebx]
mov byte [edi], dl
dec edi
shr eax, 8
loop L000007
mov eax, 0x4
mov ebx, 0x1
lea ecx, [HEX]
mov edx, 0xb
int 0x80
mov eax, 0
mov dword [xitcode], eax
;; The result in eax is the exit code, move it to ebx.
mov ebx, eax
mov eax, 1 ; _exit syscall
int 0x80 ; call Linux