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

##### Functions

    _fcreat           X
    _fflush           X
    _putc             X
    _putw             X

##### Variables

    _errno            X
    _werflg           X

       1: / putw/putc -- write words/characters on output file
       2:
       3:         .globl  _putc, _putw, _fflush, _fcreat
       4:         .globl  _werflg
       5:         .comm   _errno,2
       6:
       7: _fcreat:
       8:         mov     r5,-(sp)
       9:         mov     sp,r5
      10:         mov     6(r5),r1
      11:         mov     pc,(r1)         / a putatively illegal file desc.
      12:         mov     $0644,-(sp)
      13:         mov     4(r5),-(sp)
      14:         jsr     pc,_creat
      15:         cmp     (sp)+,(sp)+
      16:         tst     r0
      17:         bmi     badret
      18:         mov     r0,(r1)+
      19:         clr     (r1)+
      20:         clr     (r1)+
      21:         br      goodret
      22:
      23: _putw:
      24:         mov     r5,-(sp)
      25:         mov     sp,r5
      26:         mov     6(r5),r1
      27:         dec     2(r1)
      28:         bge     1f
      29:         jsr     pc,fl
      30:         dec     2(r1)
      31: 1:
      32:         movb    4(r5),*4(r1)
      33:         inc     4(r1)
      34:         dec     2(r1)
      35:         bge     1f
      36:         jsr     pc,fl
      37:         dec     2(r1)
      38: 1:
      39:         movb    5(r5),*4(r1)
      40:         inc     4(r1)
      41:         mov     4(r5),r0
      42:         br      goodret
      43:
      44: _putc:
      45:         mov     r5,-(sp)
      46:         mov     sp,r5
      47:         mov     6(r5),r1
      48:         dec     2(r1)
      49:         bge     1f
      50:         jsr     pc,fl
      51:         dec     2(r1)
      52: 1:
      53:         mov     4(r5),r0
      54:         movb    r0,*4(r1)
      55:         inc     4(r1)
      56:         br      goodret
      57:
      58: _fflush:
      59:         mov     r5,-(sp)
      60:         mov     sp,r5
      61:         mov     4(r5),r1
      62:         jsr     pc,fl
      63:         br      goodret
      64:
      65: fl:
      66:         mov     r1,r0
      67:         add     $6,r0
      68:         mov     r0,-(sp)
      69:         tst     4(r1)
      70:         beq     1f
      71:         mov     4(r1),-(sp)
      72:         sub     r0,(sp)
      73:         mov     r0,-(sp)
      74:         mov     (r1),-(sp)
      75:         jsr     pc,_write
      76:         add     $6,sp
      77:         tst     r0
      78:         bpl     1f
      79:         mov     r0,_werflg
      80: 1:
      81:         mov     (sp)+,4(r1)
      82:         mov     $512.,2(r1)
      83:         rts     pc
      84:
      85: badret:
      86:         mov     r5,sp
      87:         mov     (sp)+,r5
      88:         rts     pc
      89:
      90: goodret:
      91:         clr     _errno
      92:         mov     (sp)+,r5
      93:         rts     pc
      94: .bss
      95: _werflg:.=.+2

#### Defined functions

_fcreat declared in line 3; defined in line 7; used 1 times

- in line 3

_fflush declared in line 3; defined in line 58; used 14 times

- in line 3
- in /usr/src/ucb/pascal/px/00int.s line 6, 140, 272
- in /usr/src/ucb/pascal/px/30getname.s line 90
- in /usr/src/ucb/pascal/px/30io.s line 20, 28, 61, 185, 332, 347
- in /usr/src/ucb/pascal/px/30iosubs.s line 18, 26
- in /usr/src/ucb/pascal/px/gather.c line 99

_putc declared in line 3; defined in line 44; used 3 times

- in line 3
- in /usr/src/ucb/pascal/px/30iosubs.s line 4, 118

_putw declared in line 3; defined in line 23; used 1 times

- in line 3

badret defined in line 85; used 1 times

- in line 17

fl defined in line 65; used 4 times

- in line 29, 36, 50, 62

goodret defined in line 90; used 4 times

- in line 21, 42, 56, 63

#### Defined variables

_errno defined in line 5; used 1 times

- in line 91

_werflg declared in line 4; defined in line 95; used 2 times

- in line 4, 79

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