Update program.s

This commit is contained in:
Martin Vrhovšek 2025-01-03 11:58:14 +01:00
parent c3d67c63b1
commit 3e1b14c35d

View File

@ -5,7 +5,7 @@ izvorna_koda: .asciz " \n\n stev1: .var 0xf123 @ komentar 1\n @prazna vrstica \n
\nstev3: .var 128\n_start:\n mov r1, #5 @v r1 premakni 5\nmov r2, #1\nukaz3: add r1, #1\nb _start"
.align
buffer: .space 50
buffer: .byte
.align
izvorna_koda_pocisceno: .space 120
@ -27,6 +27,7 @@ mov r3, #0
ADR R0, izvorna_koda
ADR R2, izvorna_koda_pocisceno
SUB R0, R0, #1 @ da lahko pri iteraciji cez adreso zacnemo pri nicli
SUB R2, R2, #1
@ tukaj bomo vrgli ven \n, whitespace dokler ne dosezemo prvega "proper" znaka
PRECISTI_ZACETEK:
@ -44,7 +45,11 @@ SUB R0, R0, #1
PRECISCEVANJE:
LDRB R1, [R0, #1]!
CMP R1, #0
BEQ _end
BEQ PREPISI_KODO
@ pogledamo za presledek
CMP R1, #32 @ presledek
BEQ PRESLEDEK_KOMENTAR
@ pogledamo za @
CMP R1, #64
@ -59,6 +64,17 @@ BEQ NEWLINE_PRVIC
B POSODOBI_PRECISCENO
PRESLEDEK_KOMENTAR:
@ ce je naslednji znak @ ga ne zapisi
LDRB R3, [R0, #1]
@ pogledamo za @
CMP R3, #64
BEQ PRECISCEVANJE
STRB R1, [R2, #1]!
B PRECISCEVANJE
KOMENTAR:
@ iteracija do \n znaka da vidimo in prepisemo komentar z nulami
LDRB R1, [R0, #1]!
@ -110,4 +126,23 @@ POSODOBI_PRECISCENO:
STRB R1, [R2, #1]!
B PRECISCEVANJE
PREPISI_KODO:
ADR R0, izvorna_koda
ADR R2, izvorna_koda_pocisceno
SUB R0, R0, #1
SUB R2, R2, #1
ZANKA_PREPIS:
LDRB R3, [R2, #1]!
CMP R3, #0
BEQ ZAKLJUCEK
STRB R3, [R0, #1]!
B ZANKA_PREPIS
ZAKLJUCEK:
MOV R3, #0
STRB R3, [R0, #1]!
_end: b _end