Hallo Leute,
ich stehe hier gerade mal wieder auf'n Schlauch.
Ich habe den Code von einem ML File (Filetransfer Protokoll) in Kickassembler von Hand wieder als Assembler Code mit Kommentaren etc. gebaut.
In dem Code wird über eine 2 Byte Adress Lookup Tabelle ein Text gesucht und dann auf dem Bildschirm ausgegeben.
Das ggf. dumme ist nun, dass das Format LO Byte, Hi Byte ist und nicht umgekehrt.
OK ich könnte jetzt den Code ändern, aber mich interessiert ob und wie das in Kickassembler gemacht werden kann.
Da ich wahrscheinlich jetzt jeden komplett verwirrt habe, hier der Code, dann wird das hoffentlich etwas verständlicher was ich meine:
//--------------------------------------------------------------------------------------------
//Message Lookup Table:
_94cb: .byte <_dash, .byte >_dash
.byte <_clon, .byte >_clon // :
.byte #<_wxprot, .byte #>_wxprot // "WXMODEM PROTOCOL"
.byte #<_xfcomp, .byte #>_xfcomp // "TRANSFER COMPLETE"
.byte #<_xfab, .byte #>_xfab // "TRANSFER ABORTED"
.byte #<_xmprot, .byte #>_xmpro // "XMODEM PROTOCOL"
.byte #<_crcprt, .byte #>_crcprt // "CRC PROTOCOL"
.byte #<_plus, .byte #>_plus // +
.byte #<_blocks, .byte #>_blocks // "BLOCKS"
.byte #<_errors, .byte #>_errors // "ERRORS"
.byte #<_down, .byte #>_down // " {down}"
// Messages:
_dash: .text "-", .byte $00
_clon: .text ":", .byte $00
_plus: .text "+", .byte $00
_wxprot: .text "WXMODEM PROTOCOL ", .byte $0d, .byte $00
_xfcomp: .text "TRANSFER COMPLETE ", .byte $0d, .byte $00
_xfab: .text "TRANSFER ABORTED ", .byte $0d, .byte $00
_xmprot: .text "XMODEM PROTOCOL ", .byte $0d, .byte $00
_crcprt: .text "CRC PROTOCOL ", .byte $0d, .byte $00
_blocks: .text "BLOCKS ", .byte $00
_errors: .text "ERRORS ", .byte $00
_down: .text " ", .byte $91, .byte $0d, .byte $00
//--------------------------------------------------------------------------------------------
Alles anzeigen
Im ML File waren da natürlich fixe Adressen für die Texte, also stand z.B. für den Text "WXMODEM..." in der Tabelle $e1, $94 für die Adresse $94e1 wo dieser Text im Speicher liegt.
Will ich das mit Labels flexibel halten, bin ich davon ausgegangen man könnte bei .byte einfach mit #< und #> den Lo-Byte und Hi-Byte Wert der Adresse vorgeben. Das funktioniert aber nicht und gibt Syntax Error.
Gleiches ohne vorangestelltem "#".
Würde ich .word nehmen, dann ist die Reihenfolge doch verkehrt herum also erst Hi-Byte, dann Lo-Byte.
Deswegen stehe ich gerade "auf'n Schlauch".
Ich nutze Relaunch64 als Editor mit Kickassembler.
Ich hoffe ihr könnt mir hier helfen ?!