Update program.s
This commit is contained in:
parent
c3d67c63b1
commit
3e1b14c35d
39
program.s
39
program.s
@ -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"
|
\nstev3: .var 128\n_start:\n mov r1, #5 @v r1 premakni 5\nmov r2, #1\nukaz3: add r1, #1\nb _start"
|
||||||
.align
|
.align
|
||||||
|
|
||||||
buffer: .space 50
|
buffer: .byte
|
||||||
.align
|
.align
|
||||||
izvorna_koda_pocisceno: .space 120
|
izvorna_koda_pocisceno: .space 120
|
||||||
|
|
||||||
@ -27,6 +27,7 @@ mov r3, #0
|
|||||||
ADR R0, izvorna_koda
|
ADR R0, izvorna_koda
|
||||||
ADR R2, izvorna_koda_pocisceno
|
ADR R2, izvorna_koda_pocisceno
|
||||||
SUB R0, R0, #1 @ da lahko pri iteraciji cez adreso zacnemo pri nicli
|
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
|
@ tukaj bomo vrgli ven \n, whitespace dokler ne dosezemo prvega "proper" znaka
|
||||||
PRECISTI_ZACETEK:
|
PRECISTI_ZACETEK:
|
||||||
@ -44,7 +45,11 @@ SUB R0, R0, #1
|
|||||||
PRECISCEVANJE:
|
PRECISCEVANJE:
|
||||||
LDRB R1, [R0, #1]!
|
LDRB R1, [R0, #1]!
|
||||||
CMP R1, #0
|
CMP R1, #0
|
||||||
BEQ _end
|
BEQ PREPISI_KODO
|
||||||
|
|
||||||
|
@ pogledamo za presledek
|
||||||
|
CMP R1, #32 @ presledek
|
||||||
|
BEQ PRESLEDEK_KOMENTAR
|
||||||
|
|
||||||
@ pogledamo za @
|
@ pogledamo za @
|
||||||
CMP R1, #64
|
CMP R1, #64
|
||||||
@ -59,6 +64,17 @@ BEQ NEWLINE_PRVIC
|
|||||||
|
|
||||||
B POSODOBI_PRECISCENO
|
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:
|
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]!
|
LDRB R1, [R0, #1]!
|
||||||
@ -110,4 +126,23 @@ POSODOBI_PRECISCENO:
|
|||||||
STRB R1, [R2, #1]!
|
STRB R1, [R2, #1]!
|
||||||
B PRECISCEVANJE
|
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
|
_end: b _end
|
Loading…
x
Reference in New Issue
Block a user