/*----- Podprogram drukowania tekstu T5 z pamięci operacyjnej -- // Argumenty: // B2 = adres tekstu w standardowym formacie, 0 na końcu // Wywołanie: // SKS drukT5 ;argument w B2 // Wyniki: // B2 = adres zera kończącego tekst // B1 = -1 = 0c17777 // A - zniszczony, reszta odtworzona // Podprogramy: // drukT5A /*------------------------------------------------------------*/ drukT5 :726 0, *+2, 0 ;ślad #dT5p NIC 0 ..B6 ;skok przez B6 ;------ [0c17577] = B6 #dT5a A = [B2] ;słowo z pamięci SKZ #dT5b ;powrót gdy słowo zerowe SKSB B6,drukT5A ;wydruk słowa SKLC B2++,#dT5a ;adres następnego słowa #dT5b B6 = [0c17577] ..drukT5 ;------ Koniec drukT5 ---------------------------------------*/ /*----- Podprogram drukowania słowa tekstu T5 z akumulatora ---- // Argumenty: // A = słowo tekstowe w standardowym formacie 1234567n // B1 = liczba n znaków do wydrukowania (tylko drukT5B) // Wywołanie: // SKSB B6,drukT5A ;argument w A // lub SKSB B6,drukT5B ;argumenty w A,B1 // Wyniki: // B1 = -1 = 0c17777 // A - zniszczony, reszta odtworzona // Podprogramy: // brak /*------------------------------------------------------------*/ drukT5A A = A >>< 22 ;pobranie n do B1 B1 = A & 7 A = A >>< 17 drukT5B SKNLC B1--,#dT5p ;druk B1 znaków i powrót po B6 WY 6 A = A <<< 5 ..drukT5B ;------ Koniec drukT5A ---------------------------------------*/ KONIEC ---