Update program.s

This commit is contained in:
Martin Vrhovšek 2025-01-02 20:49:37 +01:00
parent bdbe8fc23f
commit 7bf92a6271

View File

@ -3,7 +3,9 @@
izvorna_koda: .asciz " \n\n stev1: .var 0xf123 @ komentar 1\n @prazna vrstica \n stev2: .var 15 izvorna_koda: .asciz " \n\n stev1: .var 0xf123 @ komentar 1\n @prazna vrstica \n stev2: .var 15
\nstev3: .var 128\n_start:\n mov r1, #5 @v r1 premakni 5\nmov r2, #1\nukaz3: add r1, #1\nb _start" \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
.align .align
izvorna_koda_pocisceno: .space 120 izvorna_koda_pocisceno: .space 120
@ -36,7 +38,6 @@ CMP R1, #10 @ \n
BEQ PRECISTI_ZACETEK BEQ PRECISTI_ZACETEK
SUB R0, R0, #1 SUB R0, R0, #1
B PRECISCEVANJE
PRECISCEVANJE: PRECISCEVANJE:
LDRB R1, [R0, #1]! LDRB R1, [R0, #1]!
@ -49,27 +50,40 @@ BEQ KOMENTAR
@ pogledamo za novo vrstico @ pogledamo za novo vrstico
CMP R1, #10 CMP R1, #10
BEQ NEWLINE BEQ NEWLINE_PRVIC
B POSODOBI_PRECISCENO B POSODOBI_PRECISCENO
KOMENTAR: KOMENTAR:
@ iteracija do \n znaka da vidimo in prepisemo komentar z nulami @ iteracija do \n znaka da vidimo in prepisemo komentar z nulami
LDRB R1, [R0, #1]!
@ preverimo ali je nova vrstica @ preverimo ali je nova vrstica
CMP R1, #10 CMP R1, #10
@ verjetno treba posodobiti, da ne bo neposrednih onelinerjev @ verjetno treba posodobiti, da ne bo neposrednih onelinerjev
BEQ PRECISCEVANJE BEQ KOMENTAR_EOL
@ ce ni damo povecamo naslov
LDRB R1, [R0, #1]!
B KOMENTAR B KOMENTAR
NEWLINE: @ ko dobimo \n pocisti vse whitespacee KOMENTAR_EOL:
LDRB R1, [R0, #1]! LDRB R3, [R2] @ ce je prejsnji znak \n potem ne bomo vstavili se enega
CMP R1, #32
CMP R3, #10 @ pogledamo za novo vrstico
BEQ NEWLINE BEQ NEWLINE
B POSODOBI_PRECISCENO
STRB R1, [R2, #1]!
B NEWLINE
NEWLINE_PRVIC:
@ prvi newline char prepisemo preostale pobrisemo
STRB R1, [R2, #1]!
NEWLINE: @ ko dobimo \n pocisti vse whitespacee
@ mislim da tukaj ne pocisti
LDRB R1, [R0, #1]!
CMP R1, #32 @ presledek
BEQ NEWLINE
SUB R0, R0, #1
B PRECISCEVANJE
POSODOBI_PRECISCENO: POSODOBI_PRECISCENO:
STRB R1, [R2, #1]! STRB R1, [R2, #1]!