Annotation of researchv10no/cmd/lcc/gen2/sparc-sun/tst/8q.s, revision 1.1.1.1

1.1       root        1: .seg "text"
                      2: .global _main
                      3: .align 4
                      4: .proc 4
                      5: _main:save %sp,-96,%sp
                      6: mov %r0,%r29
                      7: L2:
                      8: set 1,%r28
                      9: sll %r29,2,%r27
                     10: set _down,%r26
                     11: st %r28,[%r27+%r26]
                     12: set _up,%r26
                     13: st %r28,[%r27+%r26]
                     14: L3:
                     15: add %r29,1,%r29
                     16: cmp %r29,15; bl L2; nop
                     17: mov %r0,%r29
                     18: L6:
                     19: set 1,%r28
                     20: sll %r29,2,%r27
                     21: set _rows,%r26
                     22: st %r28,[%r27+%r26]
                     23: L7:
                     24: add %r29,1,%r29
                     25: cmp %r29,8; bl L6; nop
                     26: mov %r0,%r8
                     27: call _queens; nop
                     28: mov %r0,%r24
                     29: L1:
                     30: ret; restore
                     31: .global _queens
                     32: .align 4
                     33: .proc 4
                     34: _queens:save %sp,-96,%sp
                     35: mov %r0,%r29
                     36: L11:
                     37: sll %r29,2,%r28
                     38: set _rows,%r27
                     39: ld [%r28+%r27],%r28
                     40: cmp %r28,%r0; be L15; nop
                     41: sub %r29,%r24,%r28
                     42: sll %r28,2,%r28
                     43: set _up+28,%r27
                     44: ld [%r28+%r27],%r28
                     45: cmp %r28,%r0; be L15; nop
                     46: add %r29,%r24,%r28
                     47: sll %r28,2,%r28
                     48: set _down,%r27
                     49: ld [%r28+%r27],%r28
                     50: cmp %r28,%r0; be L15; nop
                     51: add %r29,%r24,%r28
                     52: sll %r28,2,%r28
                     53: set _down,%r27
                     54: st %r0,[%r28+%r27]
                     55: sub %r29,%r24,%r28
                     56: sll %r28,2,%r28
                     57: set _up+28,%r27
                     58: st %r0,[%r28+%r27]
                     59: sll %r29,2,%r28
                     60: set _rows,%r27
                     61: st %r0,[%r28+%r27]
                     62: sll %r24,2,%r28
                     63: set _x,%r27
                     64: st %r29,[%r28+%r27]
                     65: cmp %r24,7; bne L19; nop
                     66: call _print; nop
                     67: ba L20; nop
                     68: L19:
                     69: add %r24,1,%r8
                     70: call _queens; nop
                     71: L20:
                     72: set 1,%r28
                     73: add %r29,%r24,%r27
                     74: sll %r27,2,%r27
                     75: set _down,%r26
                     76: st %r28,[%r27+%r26]
                     77: sub %r29,%r24,%r27
                     78: sll %r27,2,%r27
                     79: set _up+28,%r26
                     80: st %r28,[%r27+%r26]
                     81: sll %r29,2,%r27
                     82: set _rows,%r26
                     83: st %r28,[%r27+%r26]
                     84: L15:
                     85: L12:
                     86: add %r29,1,%r29
                     87: cmp %r29,8; bl L11; nop
                     88: L10:
                     89: ret; restore
                     90: .global _print
                     91: .align 4
                     92: .proc 4
                     93: _print:save %sp,-96,%sp
                     94: mov %r0,%r29
                     95: L23:
                     96: set L27,%r8
                     97: sll %r29,2,%r28
                     98: set _x,%r27
                     99: ld [%r28+%r27],%r28
                    100: add %r28,49,%r9
                    101: call _printf; nop
                    102: L24:
                    103: add %r29,1,%r29
                    104: cmp %r29,8; bl L23; nop
                    105: set L28,%r8
                    106: call _printf; nop
                    107: L22:
                    108: ret; restore
                    109: .seg "bss"
                    110: .global _x
                    111: .align 4; .common _x,32
                    112: .global _rows
                    113: .align 4; .common _rows,32
                    114: .global _down
                    115: .align 4; .common _down,60
                    116: .global _up
                    117: .align 4; .common _up,60
                    118: .seg "text"
                    119: L28:.byte 10,0
                    120: L27:.ascii "%c \000"

unix.superglobalmegacorp.com

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