started up asm

This commit is contained in:
aljazbrodar. 2025-12-18 13:49:58 +01:00
parent ef273790b8
commit acce30cea1
45 changed files with 1167 additions and 728 deletions

View file

@ -0,0 +1,16 @@
***** Section <default> *****
Stats: size=14 blocks=14 symbols=5 literals=0 relocations=0
Blocks
name start size #ins #dir #sto
<default> 00000 0000E 4 4 0
Symbols
name hex dec scope kind type description
CAT 000000 0 exported relative code label
HALT 000009 9 local relative code label
LOOP 000000 0 local relative code label
izhod 00000D 13 local relative data label
vhod 00000C 12 local relative data label
Literals
label definition
Relocations
address length flag symbol

View file

@ -0,0 +1,10 @@
00000 CAT START 0
00000 DB2009 LOOP RD vhod
00003 DF2007 WD izhod
00006 3F2FF7 J LOOP
00009 3F2FFD HALT J HALT
0000C END CAT
0000C 00 vhod BYTE 0
0000D 01 izhod BYTE 1

View file

@ -0,0 +1,3 @@
HCAT 00000000000E
T0000000EDB2009DF20073F2FF73F2FFD0001
E000000

View file

@ -0,0 +1,37 @@
***** Section <default> *****
Stats: size=363 blocks=363 symbols=20 literals=0 relocations=6
Blocks
name start size #ins #dir #sto
<default> 00000 0016B 74 13 1
Symbols
name hex dec scope kind type description
ECHO 000000 0 exported relative code label
HALT 00002E 46 local relative code label
char 000031 49 local relative code label
digits 0000FE 254 local relative data label
digits_ix 000162 354 local relative data label
i 000165 357 local relative data label
len 000168 360 local relative data label
loop_niz 00004E 78 local relative code label
loop_num 0000A9 169 local relative code label
newline 0000E5 229 local relative data label
nl 000037 55 local relative code label
num 00006D 109 local relative code label
number 0000FB 251 local relative data label
old_A 0000E2 226 local relative data label
out 00006A 106 local relative code label
quot 0000F5 245 local relative data label
string 00004A 74 local relative code label
strptr 0000F2 242 local relative data label
subtrahend 0000F8 248 local relative data label
test_niz 0000E6 230 local relative data label
Literals
label definition
Relocations
address length flag symbol
00013 5
00038 5
00044 5
0004B 5
0005D 5
00064 5

View file

@ -0,0 +1,103 @@
00000 ECHO START 0
00000 010E3B LDA #3643
00003 0F20F5 STA number
00006 4B2028 JSUB char
00009 4B202B JSUB nl
0000C 4B2022 JSUB char
0000F 4B2025 JSUB nl
00012 011000E6 +LDA #test_niz
00016 4B2031 JSUB string
00019 4B201B JSUB nl
0001C 0320DC LDA number
0001F 4B204B JSUB num
00022 4B2012 JSUB nl
00025 010017 LDA #23
00028 4B2042 JSUB num
0002B 4B2009 JSUB nl
0002E 3F2FFD HALT J HALT
00031 END ECHO
. izpis znaka
00031 DD0001 char WD #1
00034 4F0000 RSUB
. izpis newline
00037 0F1000E2 nl +STA old_A
0003B B400 CLEAR A
0003D 5320A5 LDCH newline
00040 DD0001 WD #1
00043 031000E2 +LDA old_A
00047 4F0000 RSUB
. izpis niza
0004A 0F1000F2 string +STA strptr
0004E B400 loop_niz CLEAR A
00050 52209F LDCH @strptr
00053 DD0001 WD #1
00056 290000 COMP #0
00059 33200E JEQ out
0005C 031000F2 +LDA strptr
00060 190001 ADD #1
00063 0F1000F2 +STA strptr
00067 3F2FE4 J loop_niz
0006A 4F0000 out RSUB
. desetiski izpis stevila v A iz HEX
. stevke pridobimo z mod 10, shranimo v tabelo, nato tabelo izpisemo v obratnem vrstnem redu
0006D 0720F2 num LDX digits_ix
00070 0F2088 STA number
00073 25000A DIV #10
00076 0F207C STA quot
00079 21000A MUL #10
0007C 0F2079 STA subtrahend
0007F 032079 LDA number
00082 1F2073 SUB subtrahend
00085 57A076 STCH digits,X
00088 0320D7 LDA digits_ix
0008B 190001 ADD #1
0008E 0F20D1 STA digits_ix
00091 032067 LDA number
00094 25000A DIV #10
00097 290000 COMP #0
0009A 372FD0 JGT num
. shrani stevec za X register in pa mejo len za naslednjo zanko loop_num
0009D 0320C2 LDA digits_ix
000A0 0F20C5 STA len
000A3 1D0001 SUB #1
000A6 0F20B9 STA digits_ix
. izpis tabele v obratnem vrstnem redu
000A9 0720B6 loop_num LDX digits_ix
000AC 53A04F LDCH digits,X
000AF 190030 ADD #48 . stevke v ascii se zacnejo pri 48
000B2 DD0001 WD #1
000B5 0320AA LDA digits_ix
000B8 1D0001 SUB #1
000BB 0F20A4 STA digits_ix
000BE 0320A4 LDA i
000C1 190001 ADD #1
000C4 0F209E STA i
000C7 2B209E COMP len
000CA 3B2FDC JLT loop_num
000CD 050000 LDX #0
000D0 010000 LDA #0
000D3 0F208C STA digits_ix
000D6 0F208C STA i
000D9 0F208C STA len
000DC 03201C LDA number
000DF 4F0000 RSUB
000E2 000000 old_A WORD 0
000E5 0A newline BYTE 10
000E6 68....64 test_niz BYTE C'hello world'
000F1 00 BYTE 0
000F2 000000 strptr WORD 0
000F5 000000 quot WORD 0
000F8 000000 subtrahend WORD 0
000FB 000000 number WORD 0
000FE 00....00 digits RESB 100
00162 000000 digits_ix WORD 0
00165 000000 i WORD 0
00168 000000 len WORD 0

View file

@ -0,0 +1,18 @@
HECHO 00000000016B
T0000001E010E3B0F20F54B20284B202B4B20224B2025011000E64B20314B201B0320
T00001E1EDC4B204B4B20120100174B20424B20093F2FFDDD00014F00000F1000E2B4
T00003C1E005320A5DD0001031000E24F00000F1000F2B40052209FDD000129000033
T00005A1E200E031000F21900010F1000F23F2FE44F00000720F20F208825000A0F20
T0000781E7C21000A0F20790320791F207357A0760320D71900010F20D10320672500
T0000961E0A290000372FD00320C20F20C51D00010F20B90720B653A04F190030DD00
T0000B41E010320AA1D00010F20A40320A41900010F209E2B209E3B2FDC0500000100
T0000D21E000F208C0F208C0F208C03201C4F00000000000A68656C6C6F20776F726C
T0000F00E6400000000000000000000000000
T00016209000000000000000000
M00001305
M00003805
M00004405
M00004B05
M00005D05
M00006405
E000000