В общем страсти по АСМ у меня кипят, время 5:30 Мск идти на работу, а я по видеоурокам перегоняю из mac65 в mae )))
нашёл hello world под mac65
переделал его в mae05 .OPT OBJ
10 *= $0600
0100 ; CIO
0110 ICHID = $0340 ;IOCB 0 S:
0120 ICCOM = $0342 ;IOCB Command
0130 ICBAL = $0344 ;Xfer Buffer Adr
0140 ICBAH = $0345
0150 ICPTL = $0346 ;PutByte Adr
0160 ICPTH = $0347
0170 ICBLL = $0348 ;Buffer Len
0180 ICBLH = $0349
0190 CIOV = $E456 ; CIO Vector
0500 ; Setup CIO Call
0510 LDX #0 ;IOCB 0
0520 LDA #9 ;Put Cmd Val
0530 STA ICCOM,X ;Set it as the cmd
0540 LDA #HELLO&255 ;Str low byte
0550 STA ICBAL,X
0560 LDA #HELLO/256 ;Str high byte
0570 STA ICBAH,X
0580 LDA #0 ;Str Len low byte
0590 STA ICBLL,X
0600 LDA #$FF ;Str Len high byte
0610 STA ICBLH,X
0620 ; Call CIO
0630 JSR CIOV
0640 RTS
1000 HELLO .BYTE "Hello World!",$9B
как я понял:; hello world !
.ou hello.com
.or $0600
; CIO
ICHID = $0340 ;IOCB 0 S:
ICCOM = $0342 ;IOCB Command
ICBAL = $0344 ;Xfer Buffer Adr
ICBAH = $0345
ICPTL = $0346 ;PutByte Adr
ICPTH = $0347
ICBLL = $0348 ;Buffer Len
ICBLH = $0349
CIOV = $E456 ; CIO Vector
; Setup CIO Call
LDX #0 ;IOCB 0
LDA #9 ;Put Cmd Val
STA ICCOM,X ;Set it as the cmd
LDA #HELLO&255 ;Str low byte
STA ICBAL,X
LDA #HELLO/256 ;Str high byte
STA ICBAH,X
LDA #0 ;Str Len low byte
STA ICBLL,X
LDA #$FF ;Str Len high byte
STA ICBLH,X
; Call CIO
JSR CIOV
RTS
HELLO .BYTE "Hello World!",$9B
.or $0600
.en
строчка в начале .ou filename.com, обязательна для компиляции файла в исполняемый.
так же как и в конце
.or $0600
.en
обязательны к запуску.
Заработало. Но что там в программе я так до конца не понимаю.
Куча кода вместо:
10 PRINT "HELLO WORLD !!!"




Ответить с цитированием