Annotation of researchv10no/cmd/lcc/gen2/mips-iris/tst/fields.s, revision 1.1.1.1

1.1       root        1: .set reorder
                      2: .globl x
                      3: .data; .align 2; x:.word 0x1
                      4: .byte 2
                      5: .space 3
                      6: .byte 0
                      7: .byte 52
                      8: .space 2
                      9: .byte 10
                     10: .byte 6
                     11: .space 2
                     12: .globl i
                     13: .sdata; .align 2; i:.word 0x10
                     14: .globl y
                     15: .sdata; .align 2; y:.byte 224
                     16: .space 3
                     17: .byte 0
                     18: .byte 0
                     19: .byte 0
                     20: .byte 9
                     21: .text
                     22: .globl main
                     23: .text
                     24: .align 2; .ent main
                     25: main:
                     26: $fp1=32
                     27: .frame $sp,32,$31
                     28: addu $sp,$sp,-32
                     29: .mask 0x80000000,-4
                     30: sw $31,28($sp)
                     31: la $4,L.4
                     32: lw $5,x
                     33: lb $6,x+4
                     34: lw $25,x+8
                     35: sra $7,$25,20
                     36: lw $25,x+8
                     37: sll $25,$25,12
                     38: sra $25,$25,28
                     39: sw $25,16($sp)
                     40: lw $25,x+12
                     41: sll $25,$25,4
                     42: sra $25,$25,29
                     43: sw $25,20($sp)
                     44: lb $25,x+13
                     45: sw $25,24($sp)
                     46: jal printf  # int
                     47: la $4,L.10
                     48: lw $25,y
                     49: srl $5,$25,30
                     50: sll $25,$25,2
                     51: srl $6,$25,28
                     52: lw $7,y+4
                     53: jal printf  # int
                     54: lw $25,x+8
                     55: and $25,$25,0xfff0ffff
                     56: lw $24,i
                     57: sll $24,$24,28
                     58: sra $24,$24,28
                     59: sll $24,$24,16
                     60: and $24,$24,0xf0000
                     61: or $25,$25,$24
                     62: sw $25,x+8
                     63: lw $25,x+12
                     64: and $25,$25,0xf1ffffff
                     65: sw $25,x+12
                     66: la $4,L.4
                     67: lw $5,x
                     68: lb $6,x+4
                     69: lw $25,x+8
                     70: sra $7,$25,20
                     71: lw $25,x+8
                     72: sll $25,$25,12
                     73: sra $25,$25,28
                     74: sw $25,16($sp)
                     75: lw $25,x+12
                     76: sll $25,$25,4
                     77: sra $25,$25,29
                     78: sw $25,20($sp)
                     79: lb $25,x+13
                     80: sw $25,24($sp)
                     81: jal printf  # int
                     82: lw $25,y
                     83: and $25,$25,0x3fffffff
                     84: or $25,$25,0x80000000
                     85: sw $25,y
                     86: lw $25,i
                     87: sw $25,y+4
                     88: la $4,L.10
                     89: lw $25,y
                     90: srl $5,$25,30
                     91: sll $25,$25,2
                     92: srl $6,$25,28
                     93: lw $7,y+4
                     94: jal printf  # int
                     95: la $4,x
                     96: jal f2  # int
                     97: L.3:
                     98: lw $31,28($sp)
                     99: addu $sp,$sp,32
                    100: j $31
                    101: .end main
                    102: .globl f1
                    103: .text
                    104: .align 2; .ent f1
                    105: f1:
                    106: $fp2=24
                    107: .frame $sp,24,$31
                    108: addu $sp,$sp,-24
                    109: .mask 0xc0000000,-4
                    110: sw $30,16($sp)
                    111: sw $31,20($sp)
                    112: move $30,$4
                    113: lw $25,($30)
                    114: and $25,$25,0xc3ffffff
                    115: sw $25,($30)
                    116: lw $25,($30)
                    117: and $25,$25,0x3fffffff
                    118: and $24,$0,3
                    119: sll $24,$24,30
                    120: and $24,$24,0xc0000000
                    121: or $25,$25,$24
                    122: sw $25,($30)
                    123: lw $25,($30)
                    124: and $25,$25,0x3c000000
                    125: beq $25,$0,L.22
                    126: la $4,L.24
                    127: jal printf  # int
                    128: L.22:
                    129: lw $25,($30)
                    130: or $25,$25,0xc0000000
                    131: sw $25,($30)
                    132: lw $25,($30)
                    133: or $25,$25,0x3c000000
                    134: sw $25,($30)
                    135: la $4,L.25
                    136: lw $25,($30)
                    137: srl $5,$25,30
                    138: sll $25,$25,2
                    139: srl $6,$25,28
                    140: jal printf  # int
                    141: L.21:
                    142: lw $30,16($sp)
                    143: lw $31,20($sp)
                    144: addu $sp,$sp,24
                    145: j $31
                    146: .end f1
                    147: .globl f2
                    148: .text
                    149: .align 2; .ent f2
                    150: f2:
                    151: $fp3=32
                    152: .frame $sp,32,$31
                    153: addu $sp,$sp,-32
                    154: .mask 0xc0800000,-8
                    155: sw $23,16($sp)
                    156: sw $30,20($sp)
                    157: sw $31,24($sp)
                    158: move $30,$4
                    159: lw $25,i
                    160: bne $25,$0,L.28
                    161: li $23,1
                    162: b L.29
                    163: L.28:
                    164: move $23,$0
                    165: L.29:
                    166: lw $25,($30)
                    167: and $25,$25,0x3fffffff
                    168: and $24,$23,3
                    169: sll $24,$24,30
                    170: and $24,$24,0xc0000000
                    171: or $25,$25,$24
                    172: sw $25,($30)
                    173: move $4,$30
                    174: jal f1  # int
                    175: lw $25,($30)
                    176: and $25,$25,0xc3ffffff
                    177: and $24,$0,15
                    178: sll $24,$24,26
                    179: and $24,$24,0x3c000000
                    180: or $25,$25,$24
                    181: sw $25,($30)
                    182: L.26:
                    183: lw $23,16($sp)
                    184: lw $30,20($sp)
                    185: lw $31,24($sp)
                    186: addu $sp,$sp,32
                    187: j $31
                    188: .end f2
                    189: .rdata
                    190: L.25:.ascii "p->a = 0x%x, p->b = 0x%x\012\000"
                    191: L.24:.ascii "p->b != 0!\012\000"
                    192: L.10:.ascii "y = %d %d %d\012\000"
                    193: L.4:.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.