* TPALEN.S text tpalen: move.w #18,d0 ; Get address of Memory Region Table (MRT) trap #3 ; call BIOS movea.l d0,a0 move.l #mes1,d1 bsr string move.l 6(a0),d7 bsr dez_out move.l #mes2,d1 bsr string move.l 6(a0),d7 divu #1024,d7 ext.l d7 bsr dez_out move.l #mes3,d1 bsr string rts dez_out: moveq.l #9,d0 moveq.l #10,d1 clr.b flag tst.l d7 beq nulout loop1: bsr loop2 move.b d2,-(a7) dbf d0,loop1 moveq.l #9,d0 loop3: move.b (a7)+,d1 beq loop4 bra out cont: dbf d0,loop3 rts loop4: tst.b flag beq cont out: addq.b #1,flag add.b #$30,d1 bsr conout bra cont nulout: clr.b d1 add.b #$30,d1 bra conout loop2: clr.l d2 move.w d7,d2 clr.w d7 swap d7 divu d1,d7 move.l d7,d3 swap d7 clr.w d3 clr.w d7 add.l d3,d2 divu d1,d2 move.w d2,d7 swap d2 rts string: move.w #9,d0 trap #2 rts conout: move.l d0,d7 move.w #2,d0 trap #2 move.l d7,d0 rts data mes1: dc.b 13,10,"TPA LENGHT = $" mes2: dc.b " BYTS ( $" mes3: dc.b " KB )",13,10,"$" even bss flag: ds.b 1 even end