Update program.s
This commit is contained in:
		
							
								
								
									
										40
									
								
								program.s
									
									
									
									
									
								
							
							
						
						
									
										40
									
								
								program.s
									
									
									
									
									
								
							@@ -2,8 +2,10 @@
 | 
			
		||||
.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"
 | 
			
		||||
\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
 | 
			
		||||
izvorna_koda_pocisceno: .space 120
 | 
			
		||||
 | 
			
		||||
@@ -36,7 +38,6 @@ CMP R1, #10 @ \n
 | 
			
		||||
BEQ PRECISTI_ZACETEK
 | 
			
		||||
 | 
			
		||||
SUB R0, R0, #1
 | 
			
		||||
B PRECISCEVANJE
 | 
			
		||||
 | 
			
		||||
PRECISCEVANJE:
 | 
			
		||||
LDRB R1, [R0, #1]!
 | 
			
		||||
@@ -49,30 +50,43 @@ BEQ KOMENTAR
 | 
			
		||||
 | 
			
		||||
@ pogledamo za novo vrstico
 | 
			
		||||
CMP R1, #10
 | 
			
		||||
BEQ NEWLINE
 | 
			
		||||
BEQ NEWLINE_PRVIC
 | 
			
		||||
 | 
			
		||||
B POSODOBI_PRECISCENO
 | 
			
		||||
 | 
			
		||||
KOMENTAR:
 | 
			
		||||
@ iteracija do \n znaka da vidimo in prepisemo komentar z nulami
 | 
			
		||||
 | 
			
		||||
LDRB R1, [R0, #1]!
 | 
			
		||||
@ 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]!
 | 
			
		||||
BEQ KOMENTAR_EOL
 | 
			
		||||
B KOMENTAR
 | 
			
		||||
 | 
			
		||||
NEWLINE: @ ko dobimo \n pocisti vse whitespacee
 | 
			
		||||
LDRB R1, [R0, #1]!
 | 
			
		||||
CMP R1, #32
 | 
			
		||||
KOMENTAR_EOL:
 | 
			
		||||
LDRB R3, [R2] @ ce je prejsnji znak \n potem ne bomo vstavili se enega
 | 
			
		||||
 | 
			
		||||
CMP R3, #10 @ pogledamo za novo vrstico
 | 
			
		||||
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:
 | 
			
		||||
STRB R1, [R2, #1]!
 | 
			
		||||
B PRECISCEVANJE
 | 
			
		||||
 | 
			
		||||
_end: b _end
 | 
			
		||||
_end: b _end
 | 
			
		||||
		Reference in New Issue
	
	Block a user