; slotTest.asm ; Something small to put in a boot slot, so that the chain can be proved end to end. ; ; NO DATA SEGMENT, and that is not tidiness - it is the shape of what stage one can do. ; Stage one reads raw blocks into Program Memory and jumps to the first byte. It places no ; data, because it has no way to know where a payload's data ends and its code begins ; without knowing a format, and knowing a format is the thing ROM must do as little of as ; possible. So a payload either carries no initialised data or arranges its own. ; ; Which is why this prints with INIA and OUTA rather than from a string. The real stage two ; needs a Data Segment, and how it gets one is an open question written up beside this. ; ; Written by Anachronaut #Program #Base 0xC000 here: INIA 0x62 ; "b" OUTA 0x00 INIA 0x6F ; "o" OUTA 0x00 INIA 0x6F ; splitlint[redundant-assignment]: a second "o", spelled out like the rest OUTA 0x00 INIA 0x74 ; "t" OUTA 0x00 INIA 0x65 ; "e" OUTA 0x00 INIA 0x64 ; "d" OUTA 0x00 INIA 0x0A OUTA 0x00 HALT