.TITLE RANTST .MCALL QIOW$S,EXIT$S IOSB: .BLKW 2 BUFFER: .BLKB 30. PRMLST: .WORD 3 .WORD 0 .WORD RANGE .WORD RESULT RANGE: .WORD 30. RESULT: .WORD TOTALS: .BLKW 101. MSG: .ASCII <15><12>/THE TOTAL FOR / NUM: .BLKB 6 .ASCII / IS / TOT: .BLKB 6 MSGL=.-MSG QU: .ASCII <15><12> /NEXT? / QUL=.-QU .EVEN ; TOP: MOV #TOTALS,R0 MOV #101.,R1 ; 5$: CLR (R0)+ SOB R1,5$ MOV #10000.,R4 ; SET LOOP COUNTER LOOP: MOV #PRMLST,R5 CALL RANDM MOV RESULT,R1 BNE 5$ MOV #101.,R1 ; 5$: CMP #101.,R1 BGE 7$ MOV #101.,R1 ; 7$: ASL R1 INC TOTALS-2(R1) CMP R4,#9900. BLT 8$ MOV RESULT,R1 MOVB #' ,TOT+1 MOVB #' ,TOT+2 MOVB #' ,TOT+3 MOVB #' ,TOT+4 MOVB #' ,TOT+5 CLR R2 MOV #TOT,R0 CALL $CBDMG QIOW$S #IO.WLB,#1,#1,,,,<#TOT,#6> ; 8$: SOB R4,LOOP MOV #1,R5 ; 10$: MOV R5,R1 CLRB NUM+1 CLRB NUM+2 MOV #NUM,R0 CLR R2 CALL $CBDMG CLRB TOT+1 CLRB TOT+2 CLRB TOT+3 CLRB TOT+4 CLRB TOT+5 MOV R5,R1 ASL R1 MOV TOTALS-2(R1),R1 CLR R2 MOV #TOT,R0 CALL $CBDMG QIOW$S #IO.WLB,#6,#1,,,,<#MSG,#MSGL> INC R5 CMP R5,#102. BLT 10$ QIOW$S #IO.WLB,#5,#1,,,,<#QU,#QUL> CLR BUFFER CLR BUFFER+2 QIOW$S #IO.RLB,#5,#1,,#IOSB,,<#BUFFER,#30.> MOV #BUFFER,R0 CALL $CDTB MOV R1,RANGE BEQ BOT JMP TOP ; BOT: EXIT$S .END TOP