assembler almost finished
This commit is contained in:
parent
01188ab9a8
commit
1f29ed7d14
6 changed files with 37 additions and 24 deletions
|
|
@ -1,10 +1,7 @@
|
|||
mojprg START 0
|
||||
CLEAR B
|
||||
LDA @LAB
|
||||
LDB LAB
|
||||
LDA #12
|
||||
LDA TAB3
|
||||
END mojprg
|
||||
halt J halt
|
||||
LAB WORD 2
|
||||
LAB2 RESW 3
|
||||
LAB3 WORD 3
|
||||
TAB RESB 31000
|
||||
TAB3 BYTE 1
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
***** Section <default> *****
|
||||
Stats: size=29 blocks=29 symbols=5 literals=0 relocations=0
|
||||
Stats: size=31010 blocks=31010 symbols=5 literals=0 relocations=0
|
||||
Blocks
|
||||
name start size #ins #dir #sto
|
||||
<default> 00000 0001D 5 4 1
|
||||
<default> 00000 07922 2 4 1
|
||||
Symbols
|
||||
name hex dec scope kind type description
|
||||
LAB 00000E 14 local relative data label
|
||||
LAB2 000011 17 local relative data label
|
||||
LAB3 00001A 26 local relative data label
|
||||
halt 00000B 11 local relative code label
|
||||
LAB 000006 6 local relative data label
|
||||
TAB 000009 9 local relative data label
|
||||
TAB3 007921 31009 local relative data label
|
||||
halt 000003 3 local relative code label
|
||||
mojprg 000000 0 exported relative code label
|
||||
Literals
|
||||
label definition
|
||||
|
|
|
|||
|
|
@ -1,10 +1,7 @@
|
|||
00000 mojprg START 0
|
||||
00000 B430 CLEAR B
|
||||
00002 022009 LDA @LAB
|
||||
00005 6B2006 LDB LAB
|
||||
00008 01000C LDA #12
|
||||
0000B END mojprg
|
||||
0000B 3F2FFD halt J halt
|
||||
0000E 000002 LAB WORD 2
|
||||
00011 00....00 LAB2 RESW 3
|
||||
0001A 000003 LAB3 WORD 3
|
||||
00000 007921 LDA TAB3
|
||||
00003 END mojprg
|
||||
00003 3F2FFD halt J halt
|
||||
00006 000002 LAB WORD 2
|
||||
00009 00....00 TAB RESB 31000
|
||||
07921 01 TAB3 BYTE 1
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
Hmojprg00000000001D
|
||||
T00000011B4300220096B200601000C3F2FFD000002
|
||||
T00001A03000003
|
||||
Hmojprg000000007922
|
||||
T000000090079213F2FFD000002
|
||||
T0079210101
|
||||
E000000
|
||||
|
|
|
|||
6
ass3/zbirnik/parsing/exp2.obj
Normal file
6
ass3/zbirnik/parsing/exp2.obj
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Harith 00000000004F
|
||||
T0000001c0310003a1b20360f203603202d1f202d0f20300320242320240f202a
|
||||
T00001c1e03201b27201b0f202403201523201e0f201e0320091f20180f20153f2ffd
|
||||
T00003a0600000b000005
|
||||
M00000105
|
||||
E000000
|
||||
|
|
@ -94,6 +94,13 @@ var naslov_programa int
|
|||
|
||||
var zacetni_naslov int
|
||||
|
||||
type M_zapis struct {
|
||||
odmik int
|
||||
dolzina int
|
||||
}
|
||||
|
||||
var M_tabela []M_zapis
|
||||
|
||||
type ukaz interface {
|
||||
Velikost() int
|
||||
GetAddr() int
|
||||
|
|
@ -767,6 +774,8 @@ func drugi_prehod(AST *[]ukaz) {
|
|||
val.odmik = st
|
||||
} else {
|
||||
val.odmik = simbolna_tabela[val.naslov]
|
||||
m := M_zapis{val.lc + 1, 5}
|
||||
M_tabela = append(M_tabela, m)
|
||||
}
|
||||
case *format_D: bazno_dovoljeno = false
|
||||
case *format_D_n: switch val.ime {
|
||||
|
|
@ -881,6 +890,10 @@ func generacija(AST *[]ukaz) {
|
|||
}
|
||||
}
|
||||
fmt.Printf("T: %x, %x, %s\n", line_addr, line_len, line)
|
||||
for _, el := range M_tabela {
|
||||
fmt.Printf("M: %06x, %02x \n", el.odmik, el.dolzina)
|
||||
}
|
||||
fmt.Printf("END %06x", zacetni_naslov)
|
||||
}
|
||||
|
||||
func izpis(AST *[]ukaz) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue