mirror of
https://github.com/samsonjs/compiler.git
synced 2026-04-24 14:27:45 +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
|
test
|
||||||
*.o
|
*.o
|
||||||
test.asm
|
test*.asm
|
||||||
|
test_lt
|
||||||
|
test_print
|
||||||
|
|
|
||||||
7
Makefile
7
Makefile
|
|
@ -20,7 +20,8 @@ build: test.rb test.code
|
||||||
./test
|
./test
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@rm -f test.o
|
@rm -f test*.o
|
||||||
@rm -f test
|
@rm -f test test_lt test_print
|
||||||
@rm -f test.asm
|
@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