mirror of
https://github.com/samsonjs/compiler.git
synced 2026-03-25 08:45:52 +00:00
updated .gitignore, removed generated asm for tests
This commit is contained in:
parent
dc23e23b92
commit
ead7e52e92
4 changed files with 7 additions and 257 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
|
@ -1,3 +1,5 @@
|
|||
test
|
||||
*.o
|
||||
test.asm
|
||||
test*.asm
|
||||
test_lt
|
||||
test_print
|
||||
|
|
|
|||
7
Makefile
7
Makefile
|
|
@ -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
|
||||
|
||||
|
|
|
|||
54
test_lt.asm
54
test_lt.asm
|
|
@ -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
|
||||
199
test_print.asm
199
test_print.asm
|
|
@ -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
|
||||
Loading…
Reference in a new issue