ASTRA-256 Assembler

ASTRA-256 Assembler

评价数不足
Xs and Os
   
奖励
收藏
已收藏
取消收藏
文件大小
发表于
1.022 KB
2020 年 6 月 3 日 上午 5:55
1 项改动说明 ( 查看 )

订阅以下载
Xs and Os

描述
Here is a board with numbered squares (see the picture on the Workshop). The square numbers correspond to the numbers on the Astra-256’s keyboard.

At boot, (press RUN for start) the program starts initialization. Press Enter and the program will make the opening move for X. The position number X takes is highlighted on the keyboard. In return you have to press on the keyboard the position number you take for O.

This program can be won. Can you write a program, that can’t be won?

Program Listing:

INITSP
MOVLR E0h EAh
MOVLR 09h Ech
DECR ECh
CALL D9h
MOVRR EBh 10h
MOVLR 00h EBh
CALL EDh
MOVRA ECh
JZFZ 07h
HLT
MOVLR 80h E0h
CALL EDh
CALL C2h
CALL EDh
MOVLR 01h ECh
MOVRA E1h
JZFZ 2Fh
MOVLR 80h E1h
CALL EDh
JMP 1Ch
MOVLR 02h EDh
MOVRA E2h
JZFZ 43h
MOVLR 80h E2h
CALL EDh
MOVRA E1h
SUBLA 80h
JZFNZ BCh
JMP 1Dh
MOVLR 03h ECh
MOVRA E3h
JZFZ 51h
MOVLR 80h E3h
CALL EDh
JMP 1Dh
MOVLR 04h ECh
MOVRA E4h
JZFZ 65h
MOVLR 80h E4h
CALL EDh
MOVRA E3h
SUBLA 80h
JZFNZ BCh
JMP 1Dh
MOVLR 05h ECh
MOVRA E5h
JZFZ 79h
MOVLR 80h E5h
CALL EDh
MOVRA E1h
SUBLA 80h
JZFNZ 5Dh
JMP 1Dh
MOVLR 06h ECh
MOVRA E6h
JZFZ 8Dh
MOVLR 80h E6h
CALL EDh
MOVRA E2h
SUBLA 80h
JZFNZ 5Dh
JMP 1Dh
MOVLR 07h ECh
MOVRA E7h
JZFZ A7h
MOVLR 80h E7h
CALL EDh
MOVRA E4h
SUBLA 80h
JZFZ 1Dh
MOVRA E2h
SUBLA 80h
JZFZ 1Dh
JZFNZ BCh
MOVLR 08h ECh
MOVRA E8h
JZFZ B9h
MOVLR 80h E8h
CALL EDh
MOVRA E4h
SUBLA 80h
JZFZ 3Bh
STOP
JMP 00h
STOP
JMP 00h
INKBD
MOVAR ECh
SUBLA 09h
JCFZ C2h
CALL D9h
MOVRR EBh CFh
MOVRA EBh
JZFZ C2h
MOVRR EBh D7h
MOVLR 40h EBh
RETURN
MOVRA EAh
ADDRA ECh
MOVAR EBh
RETURN
CALL D9h
MOVRR EBh F3h
MOVRA FFh
ORRA ECh
OUTKBD
RETURN
1 条留言
EatorDieOfficial 2023 年 5 月 21 日 上午 1:49 
it doesn't halt if I won the game