$NOMOD166 $EXTEND $SEGMENTED $STDNAMES(reg167b.def) NAME BOOT ; Preloader, 32 Bytes, bei 0FA40h beginnend SSKDEF 0 ; empf„ngt 512 Bytes des Loaders REGDEF R0 ; schreibt diese auf 0F600h-0F7FFh SEC1 SECTION CODE AT 0FA40h ; und startet den Loader MAIN PROC NEAR ASSUME DPP3: SYSTEM Init: MOV DPP3,#3d ; Data Page Pointer 3 auf Datenseite 3 MOV R0,#0F600h ; Startadresse fr Loader setzen Loop: JNB S0RIR,Loop ; Warten auf seriellen Empfang vom PC BCLR S0RIR MOVB [R0],S0RBUF ; Empfang. Byte in int. Speicher schreiben CMPI1 R0,#0F7FFh ; Adresse erh”hen und vergleichen ob bereits JMPR CC_NZ,Loop ; 256 Bytes empfangen wurden -> ansonsten ; weitere Bytes empfangen MOV S0TBUF,#01 ; Sende Success-Signal 1 zum PC JMP 0F600h RETV ; Dummy RET fr Compiler MAIN ENDP SEC1 ENDS END