Annotation of researchv10no/cmd/lcc/gen2/mc-sun/tst/struct.s, revision 1.1.1.1

1.1       root        1: .text
                      2: .globl _addpoint
                      3: .align 2
                      4: _addpoint:link a6,#-8
                      5: moveml #0x10,a6@(-8)
                      6: movl a1,a6@(-4)
                      7: movl a6@(8),d4
                      8: addl a6@(16),d4
                      9: movl d4,a6@(8)
                     10: movl a6@(12),d4
                     11: addl a6@(20),d4
                     12: movl d4,a6@(12)
                     13: lea a6@(8),a0
                     14: movl a6@(-4),a1
                     15: movl #8/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
                     16: L1:
                     17: moveml a6@(-8),#0x10
                     18: unlk a6
                     19: rts
                     20: .globl _canonrect
                     21: .align 2
                     22: _canonrect:link a6,#-32
                     23: moveml #0xd0,a6@(-32)
                     24: movl a1,a6@(-4)
                     25: movl a6@(8),d4
                     26: cmpl a6@(16),d4; jge L10
                     27: movl a6@(8),d7
                     28: jra L11
                     29: L10:
                     30: movl a6@(16),d7
                     31: L11:
                     32: movl d7,a6@(-20)
                     33: movl a6@(12),d4
                     34: cmpl a6@(20),d4; jge L20
                     35: movl a6@(12),d6
                     36: jra L21
                     37: L20:
                     38: movl a6@(20),d6
                     39: L21:
                     40: movl d6,a6@(-16)
                     41: movl a6@(8),d4
                     42: cmpl a6@(16),d4; jle L26
                     43: movl a6@(8),d7
                     44: jra L27
                     45: L26:
                     46: movl a6@(16),d7
                     47: L27:
                     48: movl d7,a6@(-12)
                     49: movl a6@(12),d4
                     50: cmpl a6@(20),d4; jle L37
                     51: movl a6@(12),d1
                     52: jra L38
                     53: L37:
                     54: movl a6@(20),d1
                     55: L38:
                     56: movl d1,a6@(-8)
                     57: lea a6@(-20),a0
                     58: movl a6@(-4),a1
                     59: movl #16/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
                     60: L5:
                     61: moveml a6@(-32),#0xd0
                     62: unlk a6
                     63: rts
                     64: .globl _makepoint
                     65: .align 2
                     66: _makepoint:link a6,#-12
                     67: movl a1,a6@(-4)
                     68: movl a6@(8),a6@(-12)
                     69: movl a6@(12),a6@(-8)
                     70: lea a6@(-12),a0
                     71: movl a6@(-4),a1
                     72: movl #8/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
                     73: L39:
                     74: unlk a6
                     75: rts
                     76: .globl _makerect
                     77: .align 2
                     78: _makerect:link a6,#-36
                     79: movl a1,a6@(-4)
                     80: lea a6@(8),a0
                     81: lea a6@(-20),a1
                     82: movl #8/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
                     83: lea a6@(16),a0
                     84: lea a6@(-12),a1
                     85: movl #8/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
                     86: lea a6@(-20),a0
                     87: lea sp@(0),a1; movl #16/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
                     88: movl a6@(-4),a1
                     89: jbsr _canonrect:l
                     90: L42:
                     91: unlk a6
                     92: rts
                     93: .globl _ptinrect
                     94: .align 2
                     95: _ptinrect:link a6,#-4
                     96: moveml #0x10,a6@(-4)
                     97: movl a6@(8),d4
                     98: cmpl a6@(16),d4; jlt L54
                     99: cmpl a6@(24),d4; jge L54
                    100: movl a6@(12),d4
                    101: cmpl a6@(20),d4; jlt L54
                    102: movl a6@(12),d4
                    103: cmpl a6@(28),d4; jge L54
                    104: movl #1,d1
                    105: jra L55
                    106: L54:
                    107: clrl d1
                    108: L55:
                    109: movl d1,d0
                    110: L46:
                    111: moveml a6@(-4),#0x10
                    112: unlk a6
                    113: rts
                    114: .text
                    115: .align 2; L57:.long 0
                    116: .long 0
                    117: .align 2; L58:.long 320
                    118: .long 320
                    119: .align 2; L59:.long -1
                    120: .long -1
                    121: .long 1
                    122: .long 1
                    123: .long 20
                    124: .long 300
                    125: .long 500
                    126: .long 400
                    127: .text
                    128: .globl _main
                    129: .align 2
                    130: _main:link a6,#-136
                    131: moveml #0x90,a6@(-112)
                    132: lea L57:l,a0
                    133: lea a6@(-64),a1
                    134: movl #8/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
                    135: lea L58:l,a0
                    136: lea a6@(-72),a1
                    137: movl #8/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
                    138: lea L59:l,a0
                    139: lea a6@(-32),a1
                    140: movl #32/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
                    141: movl #-10,sp@
                    142: movl #-10,sp@(4)
                    143: lea a6@(-80),a1
                    144: jbsr _makepoint:l
                    145: lea a6@(-72),a0
                    146: lea sp@(0),a1; movl #8/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
                    147: lea a6@(-80),a0
                    148: lea sp@(8),a1; movl #8/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
                    149: lea a6@(-88),a1
                    150: jbsr _addpoint:l
                    151: movl #10,sp@
                    152: movl #10,sp@(4)
                    153: lea a6@(-96),a1
                    154: jbsr _makepoint:l
                    155: lea a6@(-64),a0
                    156: lea sp@(0),a1; movl #8/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
                    157: lea a6@(-96),a0
                    158: lea sp@(8),a1; movl #8/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
                    159: lea a6@(-104),a1
                    160: jbsr _addpoint:l
                    161: lea a6@(-88),a0
                    162: lea sp@(0),a1; movl #8/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
                    163: lea a6@(-104),a0
                    164: lea sp@(8),a1; movl #8/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
                    165: lea a6@(-48),a1
                    166: jbsr _makerect:l
                    167: clrl d7
                    168: jra L68
                    169: L65:
                    170: movl d7,d4; asll #3,d4
                    171: movl a6@(-32,d4:l:1),sp@
                    172: movl a6@(-28,d4:l:1),sp@(4)
                    173: lea a6@(-56),a1
                    174: jbsr _makepoint:l
                    175: movl #L69,sp@
                    176: movl d7,d4; asll #3,d4
                    177: movl a6@(-32,d4:l:1),sp@(4)
                    178: movl a6@(-52),sp@(8)
                    179: jbsr _printf:l
                    180: lea a6@(-56),a0
                    181: lea sp@(0),a1; movl #8/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
                    182: lea a6@(-48),a0
                    183: lea sp@(8),a1; movl #16/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
                    184: jbsr _ptinrect:l
                    185: tstl d0; jne L73
                    186: movl #L75,sp@
                    187: jbsr _printf:l
                    188: L73:
                    189: movl #L76,sp@
                    190: movl a6@(-48),sp@(4)
                    191: movl a6@(-44),sp@(8)
                    192: movl a6@(-40),sp@(12)
                    193: movl a6@(-36),sp@(16)
                    194: jbsr _printf:l
                    195: L66:
                    196: addql #1,d7
                    197: L68:
                    198: cmpl #4,d7; jcs L65
                    199: movl #0,sp@
                    200: jbsr _exit:l
                    201: L56:
                    202: moveml a6@(-112),#0x90
                    203: unlk a6
                    204: rts
                    205: .text
                    206: .align 2; L76:.ascii "within [%d,%d; %d,%d]\012\000"
                    207: .align 2; L75:.ascii "not \000"
                    208: .align 2; L69:.ascii "(%d,%d) is \000"

unix.superglobalmegacorp.com

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