Сообщение от
Manwe
Оказывается можно даже в 40 байт. Sandro придумал.
Два варианта:
1. Без HALT в конце, работает в ДОС (встречает неизвестный код инструкции в таблице данных, происходит прерывание и останов).
2. С HALT, работает в Мониторе (запускать надо не с начала, а с адреса 37746; в роли HALT выступает содержимое экрана, там нули).
По некотором размышлении, удалось объединить достоинства всех вариантов. Те же 40 байт, но запускается как обычно, с адреса загрузки и корректно завершает работу.
Код:
.link 1036
MOV #16,R2
1: MOVB Tree-1(R2),R3
MOVB @R7,R1 ; 177700
MOVB R7, R0 ; 052, "*"
SUB R3,R1
ASR R1
EMT 24
2: EMT 16
SOB R3,2
SOB R2,1
HALT
Tree: .BYTE 1,3,5,7
.BYTE 3,7,11.,15.
.BYTE 5,11.,17.,23.
.BYTE 3,3