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

1.1       root        1: .data
                      2: .globl _x
                      3: .align 2; _x:.long 1
                      4: .byte 2
                      5: .skip 1
                      6: .byte 0
                      7: .byte 52
                      8: .byte 10
                      9: .byte 6
                     10: .globl _i
                     11: .align 2; _i:.long 16
                     12: .globl _y
                     13: .align 2; _y:.byte 224
                     14: .skip 1
                     15: .byte 0
                     16: .byte 0
                     17: .byte 0
                     18: .byte 9
                     19: .text
                     20: .globl _main
                     21: .align 2
                     22: _main:link a6,#-40
                     23: moveml #0x1c,a6@(-12)
                     24: movl #L4,sp@
                     25: movl _x:l,sp@(4)
                     26: movb _x+4:l,d4
                     27: extbl d4
                     28: movl d4,sp@(8)
                     29: movl _x+6:l,d4
                     30: movl #20,d3
                     31: asrl d3,d4
                     32: movl d4,sp@(12)
                     33: movl _x+6:l,d4
                     34: movl #12,d3
                     35: asll d3,d4
                     36: movl #28,d3
                     37: asrl d3,d4
                     38: movl d4,sp@(16)
                     39: movl _x+8:l,d4
                     40: asll #4,d4
                     41: movl #29,d3
                     42: asrl d3,d4
                     43: movl d4,sp@(20)
                     44: movb _x+9:l,d4
                     45: extbl d4
                     46: movl d4,sp@(24)
                     47: jbsr _printf:l
                     48: movl #L10,sp@
                     49: movl _y:l,d4
                     50: movl #30,d3
                     51: movl d4,d2; lsrl d3,d2
                     52: movl d2,sp@(4)
                     53: lsll #2,d4
                     54: movl #28,d3
                     55: lsrl d3,d4
                     56: movl d4,sp@(8)
                     57: movl _y+2:l,sp@(12)
                     58: jbsr _printf:l
                     59: movl _x+6:l,d4
                     60: andl #0xfff0ffff,d4
                     61: movl _i:l,d3
                     62: movl #28,d2
                     63: asll d2,d3
                     64: asrl d2,d3
                     65: movl d3,d3
                     66: movl #16,d2
                     67: lsll d2,d3
                     68: andl #0xf0000,d3
                     69: orl d3,d4
                     70: movl d4,_x+6:l
                     71: movl _x+8:l,d4
                     72: andl #0xf1ffffff,d4
                     73: movl d4,_x+8:l
                     74: movl #L4,sp@
                     75: movl _x:l,sp@(4)
                     76: movb _x+4:l,d4
                     77: extbl d4
                     78: movl d4,sp@(8)
                     79: movl _x+6:l,d4
                     80: movl #20,d3
                     81: asrl d3,d4
                     82: movl d4,sp@(12)
                     83: movl _x+6:l,d4
                     84: movl #12,d3
                     85: asll d3,d4
                     86: movl #28,d3
                     87: asrl d3,d4
                     88: movl d4,sp@(16)
                     89: movl _x+8:l,d4
                     90: asll #4,d4
                     91: movl #29,d3
                     92: asrl d3,d4
                     93: movl d4,sp@(20)
                     94: movb _x+9:l,d4
                     95: extbl d4
                     96: movl d4,sp@(24)
                     97: jbsr _printf:l
                     98: movl _y:l,d4
                     99: andl #0x3fffffff,d4
                    100: orl #0x80000000,d4
                    101: movl d4,_y:l
                    102: movl _i:l,_y+2:l
                    103: movl #L10,sp@
                    104: movl _y:l,d4
                    105: movl #30,d3
                    106: movl d4,d2; lsrl d3,d2
                    107: movl d2,sp@(4)
                    108: lsll #2,d4
                    109: movl #28,d3
                    110: lsrl d3,d4
                    111: movl d4,sp@(8)
                    112: movl _y+2:l,sp@(12)
                    113: jbsr _printf:l
                    114: movl #_x,sp@
                    115: jbsr _f2:l
                    116: L3:
                    117: moveml a6@(-12),#0x1c
                    118: unlk a6
                    119: rts
                    120: .globl _f1
                    121: .align 2
                    122: _f1:link a6,#-28
                    123: moveml #0x201c,a6@(-16)
                    124: movl a6@(8),a5
                    125: movl a5@,d4
                    126: andl #0xc3ffffff,d4
                    127: movl d4,a5@
                    128: movl a5@,d4
                    129: andl #0x3fffffff,d4
                    130: clrl d3
                    131: andl #3,d3
                    132: movl #30,d2
                    133: lsll d2,d3
                    134: andl #0xc0000000,d3
                    135: orl d3,d4
                    136: movl d4,a5@
                    137: movl a5@,d4
                    138: andl #0x3c000000,d4
                    139: tstl d4; jeq L22
                    140: movl #L24,sp@
                    141: jbsr _printf:l
                    142: L22:
                    143: movl a5@,d4
                    144: orl #0xc0000000,d4
                    145: movl d4,a5@
                    146: movl a5@,d4
                    147: orl #0x3c000000,d4
                    148: movl d4,a5@
                    149: movl #L25,sp@
                    150: movl a5@,d4
                    151: movl #30,d3
                    152: movl d4,d2; lsrl d3,d2
                    153: movl d2,sp@(4)
                    154: lsll #2,d4
                    155: movl #28,d3
                    156: lsrl d3,d4
                    157: movl d4,sp@(8)
                    158: jbsr _printf:l
                    159: L21:
                    160: moveml a6@(-16),#0x201c
                    161: unlk a6
                    162: rts
                    163: .globl _f2
                    164: .align 2
                    165: _f2:link a6,#-24
                    166: moveml #0x209c,a6@(-20)
                    167: movl a6@(8),a5
                    168: tstl _i:l; jne L28
                    169: movl #1,d7
                    170: jra L29
                    171: L28:
                    172: clrl d7
                    173: L29:
                    174: movl a5@,d4
                    175: andl #0x3fffffff,d4
                    176: movl d7,d3; andl #3,d3
                    177: movl #30,d2
                    178: lsll d2,d3
                    179: andl #0xc0000000,d3
                    180: orl d3,d4
                    181: movl d4,a5@
                    182: movl a5,sp@
                    183: jbsr _f1:l
                    184: movl a5@,d4
                    185: andl #0xc3ffffff,d4
                    186: clrl d3
                    187: andl #15,d3
                    188: movl #26,d2
                    189: lsll d2,d3
                    190: andl #0x3c000000,d3
                    191: orl d3,d4
                    192: movl d4,a5@
                    193: L26:
                    194: moveml a6@(-20),#0x209c
                    195: unlk a6
                    196: rts
                    197: .text
                    198: .align 2; L25:.ascii "p->a = 0x%x, p->b = 0x%x\012\000"
                    199: .align 2; L24:.ascii "p->b != 0!\012\000"
                    200: .align 2; L10:.ascii "y = %d %d %d\012\000"
                    201: .align 2; L4:.ascii "x = %d %d %d %d %d %d\012\000"

unix.superglobalmegacorp.com

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