OpenCores
URL https://opencores.org/ocsvn/w11/w11/trunk

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.7/] [tools/] [asm-11/] [lib/] [kproct.mac] - Blame information for rev 36

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 30 wfjm
; $Id: kproct.mac 503 2013-04-06 19:44:13Z mueller $
2
; Copyright 2013- by Walter F.J. Mueller 
3
; License disclaimer see LICENSE_gpl_v2.txt in $RETROBASE directory
4
;
5
; synchronous (polling) console print: print octal number
6
; Call:
7
;   jsr  pc, kproct
8
; Arguments:
9
;   r0: number to print
10
;
11
; r1-r5 registers preserved
12
;
13
 
14
kproct: mov     r1,-(sp)        ; save r1,..,r3
15
        mov     r2,-(sp)
16
        mov     r3,-(sp)
17
        mov     #101$,r1        ; r1 points behind end of buffer
18
        clrb    -(r1)           ; ensure 0-termination
19
        mov     #6,r2           ; loop over 6 digits
20
1$:     mov     r0,r3           ; get reminder
21
        bic     #177770,r3      ; mask 3 lsb
22
        add     #'0,r3          ; add ascii 0 code
23
        movb    r3,-(r1)        ; write (backwards) to buffer
24
        clc                     ; unsigned divide by 8
25
        ror     r0
26
        asr     r0
27
        asr     r0
28
        sob     r2,1$           ; go for next digit
29
        mov     r1,r0           ; r1 now points to convered string
30
        jsr     pc,kprstr       ; print it
31
        mov     (sp)+,r3        ; restore r1,..,r3
32
        mov     (sp)+,r2
33
        mov     (sp)+,r1
34
        rts     pc
35
 
36
100$:   .blkb   7.              ; buffer
37
101$:                           ; end-of-buffer
38
        .even

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.