Annotation of cci/usr/src/lib/libc/tahoe/csu/mon.s, revision 1.1.1.1

1.1       root        1: .data
                      2: .align 2
                      3: _sccsid:.data  2
                      4: L12:.ascii     "@(#)mon.c\11"
                      5: .ascii "2.0 (Tahoe) 5/7/84\0"
                      6: .data
                      7: .long  L12
                      8: .comm  _countbase,4
                      9: .align 2
                     10: _cntrs:.long   0
                     11: .align 2
                     12: _profiling:.long       3
                     13: .lcomm _s_sbuf,4
                     14: .lcomm _s_bufsiz,4
                     15: .lcomm _s_scale,4
                     16: .lcomm _s_lowpc,4
                     17: .comm  _numctrs,4
                     18: .text
                     19: LL0:.align     1
                     20: .globl _monstartup
                     21: .data  1
                     22: L31:.ascii     "No space for monitor buffer(s)\12\0"
                     23: .text
                     24: .data  1
                     25: L32:.ascii     "No space for monitor buffer(s)\12\0"
                     26: .text
                     27: .set   L22,0x0
                     28: .data
                     29: .text
                     30: _monstartup:.word      L22
                     31: subl3  $64,fp,sp
                     32: subl3  4(fp),8(fp),r0
                     33: mull2  $5,r0
                     34: divl3  $100,r0,-64(fp)
                     35: cmpl   -64(fp),$50
                     36: jgeq   L28
                     37: movl   $50,-64(fp)
                     38: L28:subl3      4(fp),8(fp),r0
                     39: incl   r0
                     40: divl2  $2,r0
                     41: addl2  $12,r0
                     42: shll   $3,-64(fp),r1
                     43: addl3  r1,r0,-56(fp)
                     44: addl3  $1,-56(fp),r0
                     45: andl3  $-2,r0,-56(fp)
                     46: pushl  -56(fp)
                     47: callf  $8,_sbrk
                     48: movl   r0,-60(fp)
                     49: cmpl   r0,$-1
                     50: jneq   L29
                     51: pushl  $32
                     52: pushl  $L31
                     53: pushl  $2
                     54: callf  $16,_write
                     55: ret#2
                     56: L29:pushl      $0
                     57: callf  $8,_sbrk
                     58: movl   r0,minbrk
                     59: pushl  -64(fp)
                     60: pushl  -56(fp)
                     61: pushl  -60(fp)
                     62: pushl  8(fp)
                     63: pushl  4(fp)
                     64: callf  $24,_monitor
                     65: ret#2
                     66: .align 1
                     67: .globl mcount
                     68: .data  1
                     69: L44:.ascii     "mcount: counter overflow\12\0"
                     70: .text
                     71: .data  1
                     72: L45:.ascii     "mcount: counter overflow\12\0"
                     73: .text
                     74: .set   L35,0x1800
                     75: .data
                     76: .text
                     77: mcount:.word   L35
                     78: movl   -8(fp),r11
                     79: movl   4(fp),r12
                     80: tstl   _profiling
                     81: jneq   L40
                     82: incl   _profiling
                     83: tstl   (r12)
                     84: jneq   L41
                     85: movl   _cntrs,r0
                     86: incl   _cntrs
                     87: cmpl   r0,_numctrs
                     88: jeql   L43
                     89: movl   r11,*_countbase
                     90: addl3  $4,_countbase,r0
                     91: movl   r0,(r12)
                     92: addl2  $8,_countbase
                     93: L41:incl       *(r12)
                     94: decl   _profiling
                     95: L40:ret#2
                     96: L43:pushl      $26
                     97: pushl  $L44
                     98: pushl  $2
                     99: callf  $16,_write
                    100: jbr    L40
                    101: .align 1
                    102: .globl _monitor
                    103: .lcomm L50,4
                    104: .lcomm L51,4
                    105: .data  1
                    106: L55:.ascii     "mon.out\0"
                    107: .text
                    108: .data
                    109: .align 2
                    110: L59:.long      0x48800000, 0x00000000 # .double 65536
                    111: .text
                    112: .set   L46,0x100C
                    113: .data
                    114: .text
                    115: _monitor:.word L46
                    116: subl3  $56,fp,sp
                    117: tstl   4(fp)
                    118: jneq   L52
                    119: pushl  $0
                    120: callf  $8,_moncontrol
                    121: pushl  $438
                    122: pushl  $L55
                    123: callf  $12,_creat
                    124: movl   r0,r12
                    125: pushl  L50
                    126: pushl  L51
                    127: pushl  r12
                    128: callf  $16,_write
                    129: pushl  r12
                    130: callf  $8,_close
                    131: ret#2
                    132: L52:movl       12(fp),L51
                    133: movl   16(fp),L50
                    134: movl   12(fp),-56(fp)
                    135: movl   4(fp),*-56(fp)
                    136: movl   -56(fp),r0
                    137: movl   8(fp),4(r0)
                    138: movl   -56(fp),r0
                    139: movl   20(fp),8(r0)
                    140: movl   20(fp),_numctrs
                    141: addl3  $12,12(fp),_countbase
                    142: shll   $3,20(fp),r0
                    143: addl2  $12,r0
                    144: movl   r0,r12
                    145: addl2  r12,12(fp)
                    146: subl2  r12,16(fp)
                    147: jgtr   L57
                    148: ret#2
                    149: L57:subl3      4(fp),8(fp),r12
                    150: cmpl   16(fp),r12
                    151: jgeq   L58
                    152: cvlf   16(fp)
                    153: stf    r0
                    154: clrl   r1
                    155: cvld   r12
                    156: std    r2
                    157: ldd    r0
                    158: divd   r2
                    159: muld   L59
                    160: cvdl   r12
                    161: jbr    L60
                    162: L58:movl       $65536,r12
                    163: L60:movl       r12,_s_scale
                    164: movl   12(fp),_s_sbuf
                    165: movl   16(fp),_s_bufsiz
                    166: movl   4(fp),_s_lowpc
                    167: pushl  $1
                    168: callf  $8,_moncontrol
                    169: ret#2
                    170: .align 1
                    171: .globl _moncontrol
                    172: .set   L61,0x0
                    173: .data
                    174: .text
                    175: _moncontrol:.word      L61
                    176: tstl   4(fp)
                    177: jeql   L65
                    178: pushl  _s_scale
                    179: pushl  _s_lowpc
                    180: pushl  _s_bufsiz
                    181: pushl  _s_sbuf
                    182: callf  $20,_profil
                    183: clrl   _profiling
                    184: jbr    L67
                    185: L65:pushl      $0
                    186: pushl  $0
                    187: pushl  $0
                    188: pushl  $0
                    189: callf  $20,_profil
                    190: movl   $3,_profiling
                    191: L67:ret#2
                    192: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.