From 7ec1f85d51e0d3601c05210a61a4994d13970ef0 Mon Sep 17 00:00:00 2001 From: Marto Date: Wed, 1 Jan 2025 15:21:47 +0100 Subject: [PATCH] initial commit --- program.s | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 program.s diff --git a/program.s b/program.s new file mode 100644 index 0000000..85c7e49 --- /dev/null +++ b/program.s @@ -0,0 +1,66 @@ +.text +.org 0x20 + +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" + +.align +izvorna_koda_pocisceno: .space 120 + +.align +tabela_oznak: .space 100 + +.align + +.global _start +_start: +@ vas program napisite tu! + +@ pocistimo registre, ker jih cpulator ne +mov r0, #0 +mov r1, #0 +mov r2, #0 +mov r3, #0 +mov r4, #0 + +ADR R0, izvorna_koda +ADR R2, izvorna_koda_pocisceno +SUB R0, R0, #1 @ da lahko pri iteraciji cez adreso zacnemo pri nicli + +PRECISCEVANJE: +LDRB R1, [R0, #1]! + +CMP R1, #0 +BEQ _end + +@ pogledamo za @ +CMP R1, #64 +BEQ KOMENTAR + +@ pogledamo za novo vrstico +CMP R1, #10 +BEQ NEWLINE + +B POSODOBI_PRECISCENO + +KOMENTAR: +@ iteracija do \n znaka da vidimo in prepisemo komentar z nulami + +@ preverimo ali je nova vrstica +CMP R1, #10 +@ verjetno treba posodobiti, da ne bo neposrednih onelinerjev +BEQ PRECISCEVANJE + +@ ce ni damo povecamo naslov +LDRB R1, [R0, #1]! +B KOMENTAR + +NEWLINE: +MOV R5, #1 +B POSODOBI_PRECISCENO + +POSODOBI_PRECISCENO: +STRB R1, [R2, #1]! +B PRECISCEVANJE + +_end: b _end