home *** CD-ROM | disk | FTP | other *** search
- ; SetRC .. mostly for testing .. Jim Butterfield 1991Apr19
- ; CLI only
- ; exec calls
- _LVOOpenLibrary EQU -$228
- _LVOCloseLibrary EQU -$19E
- ThisTask EQU $114
- ; dos calls
- _LVOWrite EQU -$30
- _LVOOutput EQU -$3C
- ; process structure
- pr_CLI EQU $AC
-
- move.l a0,a2
- lea dosName(pc),a1
- moveq #0,d0
- move.l 4.w,a6
- move.l ThisTask(a6),a5
- jsr _LVOOpenLibrary(a6)
- move.l d0,a6
- moveq #5,d7 ; WARN
- tst.l d0
- beq exit
- moveq #0,d5 ; flag
- moveq #0,d6 ; param value
- moveq #0,d0
- prmlp move.b (a2)+,d0
- cmp.b #$20,d0
- bcs.s main
- cmp.b #'-',d0
- bne.s 1$
- moveq #-1,d5
- 1$ cmp.b #$30,d0
- bcs.s prmlp
- cmp.b #$3a,d0
- bcc.s prmlp
- and.b #$f,d0
- mulu #10,d6
- add.l d0,d6
- move.b #1,d5
- bra.s prmlp
- main tst.b d5
- beq.s main2
- move.l d6,d7
- tst.l d5
- bpl.s dosexit
- moveq #0,d7
- sub.l d6,d7
- bra.s dosexit
- main2 jsr _LVOOutput(a6)
- move.l d0,d4
- move.l pr_CLI(A5),a4
- add.l a4,a4
- add.l a4,a4
- move.l $C(a4),d7 ; return code
- moveq #0,d5
- move.l d7,d6
- bpl.s posit
- moveq #0,d6
- sub.l d7,d6
- moveq #-1,d5
- move.l d4,d1
- lea neg(pc),a0
- move.l a0,d2
- moveq #1,d3
- jsr _LVOWrite(a6)
- ; d6 contains value for decimal conversion
- posit link a3,#-$20
- move.l a3,a2
- move.b #10,-(a2) ;NewLine
- 2$ divu.w #10,d6
- swap d6
- or.b #$30,d6
- move.b d6,-(a2)
- move.b #0,d6
- swap d6
- bne.s 2$
- move.l d4,d1
- move.l a2,d2
- move.l a3,d3
- sub.l d2,d3
- jsr _LVOWrite(a6)
- unlk a3
- dosexit move.l a6,a1
- move.l 4.w,a6
- jsr _LVOCloseLibrary(a6)
- exit move.l d7,d0
- rts
- dc.b '$VER:SetRC 1.0',$A
- dosName dc.b 'dos.library',0
- neg dc.b '-'
-