working on ass3, todo pc, nixbpe
This commit is contained in:
parent
6261d9fe37
commit
beabcde7db
15 changed files with 412 additions and 194 deletions
|
|
@ -7,17 +7,17 @@ let getZaglavjeAndStart (prviUkaz : lineSemantic) (lenProg : int) : string list
|
|||
| None -> "MOJPROG" (*default ime*)
|
||||
| Some s -> if String.length s > 6 then "MOJPROG" else String.make (6 - String.length s) '0' ^ s (*paddamo z 0 če je < 6*)
|
||||
in
|
||||
let startAddr = match prviUkaz.mnem with
|
||||
let startAddrString, startAddrInt = match prviUkaz.mnem with
|
||||
| MnemonicDn s -> (*preverimo ali je pravilne dolzine in naredimo string dolzine 6*)
|
||||
let n = int_of_string s in
|
||||
if n < 0 || n > 0xFFFFFF then
|
||||
invalid_arg "getZaglavje: zacetni naslov out of range"
|
||||
else
|
||||
Printf.sprintf "%06X" n
|
||||
(Printf.sprintf "%06X" n), n
|
||||
| _ -> failwith "getZaglavje: invalid mnemonic_type"
|
||||
in
|
||||
let lenObjectCode = Printf.sprintf "%06X" lenProg in
|
||||
["H" ^ name ^ startAddr ^ lenObjectCode], int_of_string startAddr (*vrnemo concatiniran string in startAddr*)
|
||||
["H" ^ name ^ startAddrString ^ lenObjectCode], startAddrInt(*vrnemo concatiniran string in startAddr*)
|
||||
|
||||
|
||||
(*vrne T vrstico*)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue