Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .data
- .align 2
- .globl class_nameTab
- .globl Main_protObj
- .globl Int_protObj
- .globl String_protObj
- .globl bool_const0
- .globl bool_const1
- .globl _int_tag
- .globl _bool_tag
- .globl _string_tag
- _int_tag:
- .word 2
- _bool_tag:
- .word 3
- _string_tag:
- .word 4
- .globl _MemMgr_INITIALIZER
- _MemMgr_INITIALIZER:
- .word _NoGC_Init
- .globl _MemMgr_COLLECTOR
- _MemMgr_COLLECTOR:
- .word _NoGC_Collect
- .globl _MemMgr_TEST
- _MemMgr_TEST:
- .word 0
- .word -1
- str_const8:
- .word 4
- .word 5
- .word String_dispTab
- .word int_const0
- .byte 0
- .align 2
- .word -1
- str_const7:
- .word 4
- .word 6
- .word String_dispTab
- .word int_const1
- .ascii "Main"
- .byte 0
- .align 2
- .word -1
- str_const6:
- .word 4
- .word 6
- .word String_dispTab
- .word int_const2
- .ascii "String"
- .byte 0
- .align 2
- .word -1
- str_const5:
- .word 4
- .word 6
- .word String_dispTab
- .word int_const1
- .ascii "Bool"
- .byte 0
- .align 2
- .word -1
- str_const4:
- .word 4
- .word 5
- .word String_dispTab
- .word int_const3
- .ascii "Int"
- .byte 0
- .align 2
- .word -1
- str_const3:
- .word 4
- .word 5
- .word String_dispTab
- .word int_const4
- .ascii "IO"
- .byte 0
- .align 2
- .word -1
- str_const2:
- .word 4
- .word 6
- .word String_dispTab
- .word int_const2
- .ascii "Object"
- .byte 0
- .align 2
- .word -1
- str_const1:
- .word 4
- .word 8
- .word String_dispTab
- .word int_const5
- .ascii "<basic class>"
- .byte 0
- .align 2
- .word -1
- str_const0:
- .word 4
- .word 15
- .word String_dispTab
- .word int_const6
- .ascii "/usr/class/cs143/tests/fa05/PA5/abort.cl"
- .byte 0
- .align 2
- .word -1
- int_const6:
- .word 2
- .word 4
- .word Int_dispTab
- .word 40
- .word -1
- int_const5:
- .word 2
- .word 4
- .word Int_dispTab
- .word 13
- .word -1
- int_const4:
- .word 2
- .word 4
- .word Int_dispTab
- .word 2
- .word -1
- int_const3:
- .word 2
- .word 4
- .word Int_dispTab
- .word 3
- .word -1
- int_const2:
- .word 2
- .word 4
- .word Int_dispTab
- .word 6
- .word -1
- int_const1:
- .word 2
- .word 4
- .word Int_dispTab
- .word 4
- .word -1
- int_const0:
- .word 2
- .word 4
- .word Int_dispTab
- .word 0
- .word -1
- bool_const0:
- .word 3
- .word 4
- .word Bool_dispTab
- .word 0
- .word -1
- bool_const1:
- .word 3
- .word 4
- .word Bool_dispTab
- .word 1
- class_nameTab:
- .word str_const2
- .word str_const3
- .word str_const4
- .word str_const5
- .word str_const6
- .word str_const7
- class_objTab:
- .word Object_protObj
- .word Object_init
- .word IO_protObj
- .word IO_init
- .word Int_protObj
- .word Int_init
- .word Bool_protObj
- .word Bool_init
- .word String_protObj
- .word String_init
- .word Main_protObj
- .word Main_init
- Object_dispTab:
- .word Object.abort
- .word Object.type_name
- .word Object.copy
- Main_dispTab:
- .word Object.abort
- .word Object.type_name
- .word Object.copy
- .word Main.main
- String_dispTab:
- .word Object.abort
- .word Object.type_name
- .word Object.copy
- .word String.length
- .word String.concat
- .word String.substr
- Bool_dispTab:
- .word Object.abort
- .word Object.type_name
- .word Object.copy
- Int_dispTab:
- .word Object.abort
- .word Object.type_name
- .word Object.copy
- IO_dispTab:
- .word Object.abort
- .word Object.type_name
- .word Object.copy
- .word IO.out_string
- .word IO.out_int
- .word IO.in_string
- .word IO.in_int
- .word -1
- Object_protObj:
- .word 0
- .word 3
- .word Object_dispTab
- .word -1
- Main_protObj:
- .word 5
- .word 3
- .word Main_dispTab
- .word -1
- String_protObj:
- .word 4
- .word 5
- .word String_dispTab
- .word int_const0
- .word 0
- .word -1
- Bool_protObj:
- .word 3
- .word 4
- .word Bool_dispTab
- .word 0
- .word -1
- Int_protObj:
- .word 2
- .word 4
- .word Int_dispTab
- .word 0
- .word -1
- IO_protObj:
- .word 1
- .word 3
- .word IO_dispTab
- .globl heap_start
- heap_start:
- .word 0
- .text
- .globl Main_init
- .globl Int_init
- .globl String_init
- .globl Bool_init
- .globl Main.main
- Object_init:
- addiu $sp $sp -12
- sw $fp 12($sp)
- sw $s0 8($sp)
- sw $ra 4($sp)
- addiu $fp $sp 4
- move $s0 $a0
- move $a0 $s0
- lw $fp 12($sp)
- lw $s0 8($sp)
- lw $ra 4($sp)
- addiu $sp $sp 12
- jr $ra
- Main_init:
- addiu $sp $sp -12
- sw $fp 12($sp)
- sw $s0 8($sp)
- sw $ra 4($sp)
- addiu $fp $sp 4
- move $s0 $a0
- jal Object_init
- move $a0 $s0
- lw $fp 12($sp)
- lw $s0 8($sp)
- lw $ra 4($sp)
- addiu $sp $sp 12
- jr $ra
- String_init:
- addiu $sp $sp -12
- sw $fp 12($sp)
- sw $s0 8($sp)
- sw $ra 4($sp)
- addiu $fp $sp 4
- move $s0 $a0
- jal Object_init
- move $a0 $s0
- lw $fp 12($sp)
- lw $s0 8($sp)
- lw $ra 4($sp)
- addiu $sp $sp 12
- jr $ra
- Bool_init:
- addiu $sp $sp -12
- sw $fp 12($sp)
- sw $s0 8($sp)
- sw $ra 4($sp)
- addiu $fp $sp 4
- move $s0 $a0
- jal Object_init
- move $a0 $s0
- lw $fp 12($sp)
- lw $s0 8($sp)
- lw $ra 4($sp)
- addiu $sp $sp 12
- jr $ra
- Int_init:
- addiu $sp $sp -12
- sw $fp 12($sp)
- sw $s0 8($sp)
- sw $ra 4($sp)
- addiu $fp $sp 4
- move $s0 $a0
- jal Object_init
- move $a0 $s0
- lw $fp 12($sp)
- lw $s0 8($sp)
- lw $ra 4($sp)
- addiu $sp $sp 12
- jr $ra
- IO_init:
- addiu $sp $sp -12
- sw $fp 12($sp)
- sw $s0 8($sp)
- sw $ra 4($sp)
- addiu $fp $sp 4
- move $s0 $a0
- jal Object_init
- move $a0 $s0
- lw $fp 12($sp)
- lw $s0 8($sp)
- lw $ra 4($sp)
- addiu $sp $sp 12
- jr $ra
- Main.main:
- addiu $sp $sp -12
- sw $fp 12($sp)
- sw $s0 8($sp)
- sw $ra 4($sp)
- addiu $fp $sp 4
- move $s0 $a0
- move $a0 $s0
- bne $a0 $zero label0
- la $a0 str_const0
- li $t1 2
- jal _dispatch_abort
- label0:
- lw $t1 8($a0)
- lw $t1 0($t1)
- jalr $t1
- la $a0 int_const0
- lw $fp 12($sp)
- lw $s0 8($sp)
- lw $ra 4($sp)
- addiu $sp $sp 12
- jr $ra
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement