# 2.11BSD#431 - /usr/src/ucb/pascal/px/getc.s

##### Functions

    _fopen            X
    _getc             X
    _getw             X

##### Variables

    _errno            X

       1: / getw/getc -- get words/characters from input file
       2: / fopen -- open a file for use by get(c|w)
       3:
       4: indir = 0
       5:
       6: .globl  _getc, _getw, _fopen
       7: .comm   _errno,2
       8:
       9: _fopen:
      10:         mov     r5,-(sp)
      11:         mov     sp,r5
      12:         clr     -(sp)
      13:         mov     4(r5),-(sp)
      14:         jsr     pc,_open
      15:         cmp     (sp)+,(sp)+
      16:         tst     r0
      17:         bmi     badret
      18:         mov     6(r5),r1
      19:         mov     r0,(r1)+
      20:         clr     (r1)+
      21:         clr     r0
      22:         mov     (sp)+,r5
      23:         rts     pc
      24:
      25: _getw:
      26:         clr     _errno
      27:         mov     r5,-(sp)
      28:         mov     sp,r5
      29:         mov     4(r5),r1
      30:         sub     $2,2(r1)
      31:         bge     1f
      32:         cmp     2(r1),$-1
      33:         blt     2f
      34:         movb    *4(r1),-(sp)
      35:         jsr     pc,fill
      36:         mov     4(r1),r0
      37:         br      3f
      38: 2:
      39:         jsr     pc,fill
      40:         dec     2(r1)
      41: 1:
      42:         mov     4(r1),r0
      43:         movb    (r0)+,-(sp)
      44: 3:
      45:         movb    (r0)+,1(sp)
      46:         mov     r0,4(r1)
      47:         mov     (sp)+,r0
      48:         mov     (sp)+,r5
      49:         rts     pc
      50:
      51: _getc:
      52:         mov     r5,-(sp)
      53:         mov     sp,r5
      54:         mov     4(r5),r1
      55:         dec     2(r1)
      56:         bge     1f
      57:         jsr     pc,fill
      58: 1:
      59:         clr     r0
      60:         bisb    *4(r1),r0
      61:         inc     4(r1)
      62:         mov     (sp)+,r5
      63:         rts     pc
      64:
      65: fill:
      66:         mov     r1,r0
      67:         add     $6,r0
      68:         mov     r0,4(r1)
      69:         mov     $512.,-(sp)
      70:         mov     r0,-(sp)
      71:         mov     (r1),-(sp)
      72:         jsr     pc,_read
      73:         add     $6,sp
      74:         tst     r0
      75:         bmi     badret
      76:         dec     r0
      77:         bmi     badret
      78:         mov     r0,2(r1)
      79:         rts     pc
      80:
      81: badret:
      82:         mov     r5,sp
      83:         mov     (sp)+,r5
      84:         rts     pc

#### Defined functions

_fopen declared in line 6; defined in line 9; used 2 times

- in line 6
- in /usr/src/ucb/pascal/px/gather.c line 92

_getc declared in line 6; defined in line 51; used 3 times

- in line 6
- in /usr/src/ucb/pascal/px/30iosubs.s line 4, 61

_getw declared in line 6; defined in line 25; used 1 times

- in line 6

badret defined in line 81; used 3 times

- in line 17, 75-77(2)

fill defined in line 65; used 3 times

- in line 35-39(2), 57

indir defined in line 4; never used

#### Defined variables

_errno defined in line 7; used 5 times

- in line 26
- in /usr/src/ucb/pascal/px/00int.s line 12
- in /usr/src/ucb/pascal/px/30iosubs.s line 120
- in /usr/src/ucb/pascal/px/perror.c line 23-26(2)

Last modified: 1987-03-13 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: 1042 |