рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, MIPS рдПрдХ рдорд╛рдЗрдХреНрд░реЛрдкреНрд░реЛрд╕реЗрд╕рд░ рд╣реИ рдЬрд┐рд╕реЗ MIPS рдХрдВрдкреНрдпреВрдЯрд░ рд╕рд┐рд╕реНрдЯрдо (рд╡рд░реНрддрдорд╛рди рдореЗрдВ MIPS рдЯреЗрдХреНрдиреЛрд▓реЙрдЬреАрдЬ) рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдкрд╣рд▓реА рдмрд╛рд░ 1985 рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ 3 рдбреА-рдореЙрдбрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдИ рдЧрдИ рд╣реИ, рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рддреЗрдЬреА рд╕реЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг, рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдЧрдгрдирд╛ред рд╕рд┐рд╕реНрдХреЛ рдФрд░ рдорд┐рдХрд░реЛрдЯрд┐рдХ рд░рд╛рдЙрдЯрд░, рд╕реНрдорд╛рд░реНрдЯрдлреЛрди, рдЯреИрдмрд▓реЗрдЯ рдФрд░ рдЧреЗрдо рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЗрди рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
MIPS рдирд┐рд░реНрджреЗрд╢ рд╕рдордЭрдиреЗ рдореЗрдВ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИрдВ, рдФрд░ рдпрд╣ рдЗрд╕ рд╕реЗ рд╣реИ рдХрд┐ рдХреЛрдбрд╛рдВрддрд░рдХ рд╕реАрдЦрдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред рдЕрдм, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдо рдХреНрдпрд╛ рдХрд░реЗрдВрдЧреЗред
MIPS рдЕрд╕реЗрдВрдмрд▓рд░ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕рдВрд░рдЪрдирд╛
рдпрд╣ рдХреНрд▓рд╛рд╕рд┐рдХ MIPS рдХреЛрдбрд╛рдВрддрд░рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред
рдПрдХ рдмрд┐рдВрджреБ рдкрд░ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╕рдм рдХреБрдЫ
рдирд┐рд░реНрджреЗрд╢ рд╣реИ ред
.data
рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЕрд░реНрде рд╣реИ рдбреЗрдЯрд╛ рдЦрдВрдб рдХреА рд╢реБрд░реБрдЖрдд,
.text
- рдХреЛрдб рдЦрдВрдб рдХреА рд╢реБрд░реБрдЖрддред
рд╕рднреА рдПрдХ рдмреГрд╣рджрд╛рдиреНрддреНрд░ рджреНрд╡рд╛рд░рд╛ рдкреАрдЫрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ
рд▓реЗрдмрд▓ (
v:
main:
loop:
рдФрд░
endloop:
ред
#
рдЪрд┐рд╣реНрди рдХреЗ рдмрд╛рдж рд╕рднреА рдкрд╛рда
рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рд╣реИрдВ ред
рдФрд░ рдЬреЛ рдХреБрдЫ рднреА рд╣реИ рд╡рд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ,
рдирд┐рд░реНрджреЗрд╢ рдФрд░
рдЫрджреНрдо- рдирд┐рд░реНрджреЗрд╢ (рдореИрдХреНрд░реЛрдЬрд╝) рд╣реИред
.data v: .word -1, -2, -3, -4, -5, -6, -7, -8, -9, -10 .text .globl main main: li $t0, 0 # $t0 = 0 (variable a) li $t1, 0 # $t1 = 0 (counter i) li $t2, 10 # $t2 = 10 (count limit l) loop: slt $t3, $t1, $t2 beq $t3, $zero, endloop la $t3, V sll $t4, $t1, 2 addu $t3, $t3, $t4 lw $t3, 0($t3) addu $t0, $t0, $t3 addiu $t1, $t1, 1 b loop endloop:
MIPS рдЕрд╕реЗрдВрдмрд▓рд░ рдореЗрдВ рдкреНрд░рдХрд╛рд░
рдпрд╣рд╛рдБ C ++ рдФрд░ MIPS рдореЗрдВ рдореБрдЦреНрдп рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рддрд╛рд▓рд┐рдХрд╛ рд╣реИ:

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдордЖрдЗрдкреА рдореЗрдВ рдПрдХ рдЪрд░ рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрд╛рд░ рдХреА рдкрд╕рдВрдж рдХреЗрд╡рд▓ рдЙрд╕ рдореЗрдореЛрд░реА рдХреА рдорд╛рддреНрд░рд╛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдЬреЛ рдЗрд╕ рдЪрд░ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░реЗрдЧреАред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ MIPS рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдФрд░ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЪрд░ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рд▓реЗрдмрд▓ (рд╡рд░реНрдг)
рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдореЗрдВ, рд╣рдордиреЗ рдХрдИ рд▓реЗрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред
рд▓реЗрдмрд▓ (рдЙрдиреНрд╣реЗрдВ рдкреНрд░рддреАрдХ рдпрд╛ рд▓реЗрдмрд▓ рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрдореГрддрд┐ рдореЗрдВ рдкрддреЛрдВ рдХреЛ "рдирд╛рдо" рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрди рд╡рд░реНрдгреЛрдВ рдХреЛ 2 рдмрдбрд╝реЗ рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдбреЗрдЯрд╛ рд▓реЗрдмрд▓ (рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХреЗ рдкрддреЗ рдЬреЛ рдХрд┐
.data
рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╣реИрдВ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ
v:
рдФрд░ рдирд┐рд░реНрджреЗрд╢ рд▓реЗрдмрд▓ (
.text
рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдкрддреЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
main:
loop:
ред
.Data рдЕрдиреБрднрд╛рдЧ рдореЗрдВ
.data
рдЖрдорддреМрд░ рдкрд░ рдкрддрд╛ 0x10010000 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдореЗрдореЛрд░реА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирд┐рд░реНрджреЗрд╢ 0x00400000 рдкрддреЗ рдкрд░ рд╢реБрд░реВ рдХрд┐рдП рдЧрдП рд╣реИрдВред рдЪреВрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ MIPS рдХреЛрдбрд╛рдВрддрд░рдХ рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ 32 рдмрд┐рдЯреНрд╕ рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдирд┐рдореНрди рд▓реЗрдмрд▓-рдкрддрд╛ рддрд╛рд▓рд┐рдХрд╛ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╣реЛрдЧреА:

рд▓реЗрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдФрд░ рдбреЗрдЯрд╛ рд╕реЗ рдЕрдиреНрдп рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╛рдж рдореЗрдВ рдЙрд╕ рдкрд░ рдФрд░ рдЕрдзрд┐рдХред
рдореБрдЦреНрдп рдирд┐рд░реНрджреЗрд╢
рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрдИ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХреА рд╣реИ, рдЬреИрд╕реЗ рдХрд┐
.data
рдФрд░
.text
, рдФрд░ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬреНрдЮрд╛рдд рд╣реИ рдХрд┐ рдкрд╣рд▓рд╛ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдФрд░ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдХреЗ рд▓рд┐рдП рд╣реИред рдЖрдЗрдП рдмрд╛рдХреА MIPS рдирд┐рд░реНрджреЗрд╢реЛрдВ рдкрд░ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:
рдЕрдВрддрд┐рдо рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ:
.align 1
рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдордиреЗ
.align 1
рд▓рд┐рдЦрд╛ рд╣реИ
.align 1
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рднрд▓реЗ рд╣реА рд╣рдо рдореЗрдореЛрд░реА рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 0x10010000 рдкрддреЗ рдХреЗ рд▓рд┐рдП 1 рдмрд╛рдЗрдЯ рдХреЗ рдХреБрдЫ рдореВрд▓реНрдп, рдЕрдЧрд▓реЗ рдмрд╛рдЗрдЯ рдХреЛ рдЦрд╛рд▓реА рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдпрджрд┐ рд╣рдо рдореЗрдореЛрд░реА рдХреЛ рдПрдХ рдФрд░ рдмрд╛рдЗрдЯ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрддрд╛ 0x10010002 рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ред MIPS рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛ рд╕рдВрд░реЗрдЦрдг рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЖрдк рдХреЗрд╡рд▓ рдПрдХ рд╕рдо рдореЗрдореЛрд░реА рдПрдбреНрд░реЗрд╕ (0x10010000, 0x10010002, рд▓реЗрдХрд┐рди 0x10010003 рдирд╣реАрдВ) рдХреЗ рд▓рд┐рдП 16-рдмрд┐рдЯ рдорд╛рди (
.half
) рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, 32-рдмрд┐рдЯ рдХреЗрд╡рд▓ рдПрдХ рдкрддреЗ рдкрд░ рдЬреЛ рдХрд┐ 4 рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди 64 рд╣реИред -рдмрд┐рдЯ - рдХреЗрд╡рд▓ 8 рдХреЗ рдкрддреЗ рдХреЗ рд▓рд┐рдПред
рдбреЗрдЯрд╛ рдкреНрд░рд╛рд░реВрдк .data
рдбреЗрдЯрд╛
.data
рдХрд╛рдлреА рдореБрдХреНрдд рддрд░реАрдХреЗ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рд▓реЗрдмрд▓, рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдФрд░ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рдХреЛрдб рдореЗрдВ рд╕рд╣реА рдбреЗрдЯрд╛ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рдХрдИ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ:
.data var1: .byte 'A', 0xF3, 127, -1, '\n' var2: .half -10, 0xffff var3: .word 0x12345678 var4: .float 12.3, -0.1 var5: .double 1.5e-10 var6: .dword 0x1234567812345678 str1: .ascii тАЬi love mips\n" str2: .asciiz тАЬzero-finished string" array: .space 100
рдЬреИрд╕реЗ рд╣реА рд╡реЗ рдХреЛрдб рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд╣рдо рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдереЛрдбрд╝рд╛ рдЧрд╣рд░рд╛ рджреЗрдЦреЗрдВрдЧреЗред
рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ
MIPS рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд░рдЬрд┐рд╕реНрдЯрд░ рд╣реИред рдорд╛рдирдХ рдПрдордЖрдЗрдкреАрдПрд╕ рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ 32 рдореБрдЦреНрдп рд░рдЬрд┐рд╕реНрдЯрд░ рд╣реИрдВ рдФрд░ рдкрд╣рд▓реЗ рдХреЙрдкреАрдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ 32 рдЕрдзрд┐рдХ - рдПрдХ рдореЙрдбреНрдпреВрд▓ рд╣реИ рдЬреЛ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдЧрдгрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рдХреНрд░рдорд╢рдГ 32 рдмрд┐рдЯреНрд╕ рдХрд╛ рдЖрдХрд╛рд░ рд╣реЛрддрд╛ рд╣реИ, рдЯрд╛рдЗрдк
int
рдХрд╛ рдПрдХ рдПрдХрд▓ рдорд╛рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЗрд╕рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрдХ рдЪрд░ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
long
рдЖрдкрдХреЛ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рджреЛ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреНрд░рддреНрдпреЗрдХ рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЛ рдЙрд╕рдХреЗ рд╕реАрд░рд┐рдпрд▓ рдирд╛рдо рдФрд░ рдЙрд╕рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдирд╛рдо рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдорд╛рдирд╡-рдкрдардиреАрдп рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд░рдЬрд┐рд╕реНрдЯрд░ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ:
- $ рд╢реВрдиреНрдп ($ 0) - рдПрдХ рд░рдЬрд┐рд╕реНрдЯрд░ рдЬрд┐рд╕рдореЗрдВ рд╣рдореЗрд╢рд╛ рдорд╛рди 0 рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓-рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ;
- $ рдкрд░ ($ 1) - рдЕрд╕реНрдерд╛рдпреА рдкреНрд░реЛрд╕реЗрд╕рд░ рд░рдЬрд┐рд╕реНрдЯрд░;
- $ v0- $ v1 ($ 2- $ 3) - рдХрд╛рд░реНрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдП рдЧрдП рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП;
- $ a0- $ a3 ($ 4- $ 7) - рдлрд╝рдВрдХреНрд╢рди рддрд░реНрдХ рдХреЗ рд▓рд┐рдП;
- $ t0- $ t9 ($ 8- $ 15, $ 24- $ 25) - рдЕрд╕реНрдерд╛рдпреА рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЬреИрд╕реЗ рдЪрд╛рд╣реЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ;
- $ s0- $ s8 ($ 16- $ 23, $ 30) - рдирд┐рд░рдВрддрд░ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреА рдЗрдЪреНрдЫрд╛рдиреБрд╕рд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ;
- $ k0- $ k1 ($ 26- $ 27) - рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдХрд░реНрдиреЗрд▓ рдХреЗ рд▓рд┐рдП рдЖрд░рдХреНрд╖рд┐рдд;
- $ gp ($ 28) - рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХ, рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛;
- $ sp ($ 29) - рд╕реНрдЯреИрдХ рдкреЙрдЗрдВрдЯрд░, рдЗрд╕рдХрд╛ рдорд╛рди рд╣рдореЗрд╢рд╛ рд╕реНрдЯреИрдХ рдХреЗ рд╢реАрд░реНрд╖ рдкрддреЗ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрддрд╛ рд╣реИ;
- $ ra ($ 31) - рд╕реВрд░реНрдп рджреЗрд╡ рдЙрд╕ рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдкрддрд╛ рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛;
- $ f0 - рдлрд╝рдВрдХреНрд╢рдВрд╕ рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдП рдЧрдП рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП;
- $ f4, $ f6, $ f8, $ f10, $ f16, $ f18 - рдЕрд╕реНрдерд╛рдпреА рдмрд┐рдВрджреБ рдХреЗ рд╕рд╛рде рдЕрд╕реНрдерд╛рдпреА рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП;
- $ f12, $ f14 - рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП
MIPS рдирд┐рд░реНрджреЗрд╢
рдиреЛрдЯред рдЕрдм рд╕реЗ, рд╣рдо MIPS рдкреНрд░реЛрд╕реЗрд╕рд░, рдЗрд╕рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдФрд░ рдРрдб-рдСрди рдХреЛ
MARS рдирд╛рдордХ рдЕрджреНрднреБрдд MIPS рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦреЗрдВрдЧреЗ, рдЬрд┐рд╕реЗ
рдпрд╣рд╛рдБ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ ред рдЗрд╕ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдореЗрдВ MIPS рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдкрд╛рд▓рди рд╣реИред
рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдХреЛрдб рдореЗрдВ, рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕рднреА рдХрд╛рд░реНрдпрд╛рддреНрдордХ рднрд╛рдЧреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ рдФрд░ рдирд┐рд░реНрджреЗрд╢ рдФрд░ рдЫрджреНрдо рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рдЯрд┐рдкреНрдкрдгреА, рдкреНрд░рддреАрдХ (рд▓реЗрдмрд▓) рдпрд╛ рдирд┐рд░реНрджреЗрд╢ рдирд╣реАрдВ рд╣реИред рдЫрджреНрдо рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдореИрдХреНрд░реЛрдЬрд╝ рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡реЗ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдПрдХ рд╕реНрдереВрд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
la rdest, addr
рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╕реЗрдЯ рдкрд░ рдЬрд╛рддрд╛ рд╣реИ:
lui $at, hi(addr) ori rdest, $at, lo(addr)
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдордЖрдЗрдкреА рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рд╣рдореЗрд╢рд╛ рдкреНрд░рддрд┐ рдкрдВрдХреНрддрд┐ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░
MIPS рдХреЛрдбрд╛рдВрддрд░рдХ рдирд┐рд░реНрджреЗрд╢ рдХреЗ рддреАрди рдореБрдЦреНрдп рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:
- рдЯрд╛рдЗрдк рдЖрд░ (рд░рдЬрд┐рд╕реНрдЯрд░)ред рддреАрди рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЛ рдСрдкрд░реЗрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЧрдВрддрд╡реНрдп рд░рдЬрд┐рд╕реНрдЯрд░ (abbrред $ Rd), рдкрд╣рд▓рд╛ рддрд░реНрдХ ($ rs), рдФрд░ рджреВрд╕рд░рд╛ рддрд░реНрдХ ($ rt)ред рдЗрд╕ рддрд░рд╣ рдХреЗ рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рддреАрди рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╣реИ:
add $t2, $t0, $t1
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, $ t0 рдФрд░ $ t1 рдореЗрдВ рдорд╛рди рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо $ t2 рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред - рдЯрд╛рдЗрдк I (рддрддреНрдХрд╛рд▓)ред рдСрдкрд░реЗрдВрдб рджреЛ рд░рдЬрд┐рд╕реНрдЯрд░ рдФрд░ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд╣реИрдВред рдирд┐рд░реНрджреЗрд╢ I рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:
addi $t3, $t2, 12
рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдмрд╛рдж, $ t2 рдФрд░ рд╕рдВрдЦреНрдпрд╛ 12 рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд░рдЬрд┐рд╕реНрдЯрд░ $ t3 рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред - рдЯрд╛рдЗрдк J (рдЬрдВрдк) рдХрд░реЗрдВред рдПрдХрдорд╛рддреНрд░ рдСрдкрд░реЗрдВрдб 26-рдмрд┐рдЯ рдкрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЖрдк рдЬрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдирд┐рд░реНрджреЗрд╢ рдореИрдиреБрдЕрд▓
j 128
128 .text
рдореЗрдВ рдкрддреЗ рдкрд░ рдЬрд╛рдПрдВрдЧреЗред
рдХреЙрдкреЛрд░реЛрд╕реЗрд╕рд░реНрд╕ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢ рднреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдмрд╛рдж рдореЗрдВ рдЙрдирдХреА рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗред
Syscall рдирд┐рд░реНрджреЗрд╢
syscall
рд╕рдмрд╕реЗ рд╕рд░рд▓ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг MIPS рдХреЛрдбрд╛рдВрддрд░рдХ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдпрд╣ рдПрдХ рд╕реЗрд╡рд╛ рдирд┐рд░реНрджреЗрд╢ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдмрд╛рдХреА рд╣рд┐рд╕реНрд╕реЛрдВ рд╕реЗ рдЕрд▓рдЧ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
syscall
рдЙрдкрдпреЛрдЧ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдкреНрд░реЛрд╕реЗрд╕рд░ рдЦреБрдж рд╣реА рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рди рд╣реЛред рдЗрд╕ рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рд╕реЗрд╡рд╛ рдХреЛрдб рдХреЛ рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ $ v0 - 1 рд╕реЗ 12. рддрдХ рдПрдХ рдкреНрд░рд╛рдХреГрддрд┐рдХ рд╕рдВрдЦреНрдпрд╛ред рдХреЛрдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдПрдХ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░реЗрдЧрд╛ред рдпрд╣рд╛рдВ рдпреВрдЯрд┐рд▓рд┐рдЯреА рдХреЛрдбреНрд╕ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдПрдХреНрд╢рди рдХреА рд╕реВрдЪреА рджреА рдЧрдИ рд╣реИ, рдЬреЛ MARS рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ:

рд╕рднреА рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ MARS рдХрдВрд╕реЛрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЛрддреЗ рд╣реИрдВред
рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдирд┐рд░реНрджреЗрд╢
рддреЛ, рдЖрдЗрдП рдХреБрдЫ рдмреБрдирд┐рдпрд╛рджреА рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рджреЗрдЦреЗрдВред рдХреБрдЫ рд╕рдВрдХреНрд╖рд┐рдкреНрддрд╛рдХреНрд╖рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:
rd
рд╡рд╣ рд░рдЬрд┐рд╕реНрдЯрд░ рд╣реИ рдЬрд╣рд╛рдБ рдкрд░рд┐рдгрд╛рдо рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ,
rs
рдкрд╣рд▓рд╛ рддрд░реНрдХ рд╣реИ,
rt
рджреВрд╕рд░рд╛ рддрд░реНрдХ рд╣реИред рддреБрдо рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ
imm16
, рдПрдХ 16-рдмрд┐рдЯ рдкреВрд░реНрдгрд╛рдВрдХ, рдпрд╛
imm5
, рдПрдХ 5-рдмрд┐рдЯ рдкреВрд░реНрдгрд╛рдВрдХред
add rd, rs, rt
rs рдФрд░ rt рдХрд╛ рдпреЛрдЧ rd рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЛ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдзреАрд░реЗ, рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХрд╛ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред sub rd, rs, rt
рдЖрд░рдбреА = рдЖрд░рдПрд╕ - рдЖрд░рдЯреАред рдЖрдк рдПрдХ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред addu rd, rs, rt
рд▓рдЧрднрдЧ рдкрд┐рдЫрд▓реЗ рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рдмрди рд╕рдХрддрд╛ рд╣реИред рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдЧрдгрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИред subu rd, rs, rt
рдЖрд░рдбреА = рдЖрд░рдПрд╕ - рдЖрд░рдЯреАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХреЗ рдмрд┐рдирд╛, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рддред addi rd, rs, imm16
rt = rs + 16-bit рдкреВрд░реНрдгрд╛рдВрдХред add
рддрд░рд╣, рдпрд╣ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред addiu rd, rs, imm16
рд╡рд╣реА, рд▓реЗрдХрд┐рди рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рдмрд┐рдирд╛ред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рд╡реИрд╕реЗ, imm16 рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдЬрд╛рддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
addiu $s1, $zero, 0xFFFF
рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХ рдирдХрд╛рд░рд╛рддреНрдордХ рдорд╛рди рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
addiu $s1, $zero, -0xFFFF
рдЖрдЗрдП рдЗрди рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЧрдгрдирд╛рдУрдВ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдХреЛрдб (C ++ рдореЗрдВ) рд▓реЗрдВ:
int f = (g+h) - (ij);
рдФрд░ рдЗрд╕ рдХреЛрдб рдХрд╛ MIPS рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░реЗрдВред рдкрд╣рд▓реЗ рдЖрдкрдХреЛ '=' рдЪрд┐рд╣реНрди рдХреЗ рджрд╛рдИрдВ рдУрд░ рдорд╛рди рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдЪрд░ f рдкрд░ рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рдЪрд░ рдЪ $ s0, g рдореЗрдВ $ s1, h рдореЗрдВ $ s2, i рдореЗрдВ $ s3, рдФрд░ j рдореЗрдВ $ s4 рдореЗрдВ рд╣реЛрдЧрд╛ред рдпрд╣рд╛рдБ рдкрд░рд┐рдгрд╛рдо рд╣реИ:
addu $t0, $s1, $s2 # t0 = s1 + s2 = g + h subu $t1, $s3, $s4 # t1 = s3 - s4 = i - j subu $s0, $t0, $t1 # s0 = f = t0 - t1 = (g+h) - (ij)
рдФрд░ рдЕрдм рдЖрдк MARS рдореЗрдВ рдкрд░рд┐рдгрд╛рдореА рдХреЛрдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдбреНрд░рд╛рдлрд╝реНрдЯ
рдХреЛ рдпрд╣рд╛рдБ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб
рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ MARS рдореЗрдВ рдЦреЛрд▓реЗрдВ:
java -jar Mars_4_2.jar
рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдмрдЬрд╛рдп рдХреЛрдб рдЬреЛрдбрд╝реЗрдВред рдЕрдм рдЖрдк рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкрд╣рд▓реЗ рд░рди рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ -> рдЗрдХрдЯреНрдард╛:

рдЕрдм рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдореЗрдВ рджрд╢рдорд▓рд╡ рдорд╛рди рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП Hexadecimal рдорд╛рди рдХреЛ рдЕрдирдЪреЗрдХ рдХрд░реЗрдВ, рдФрд░ Run -> Go рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ:

рдХрд╛рд░реНрдпрдХреНрд░рдо рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдмрд╛рдж $ s0 рдореЗрдВ рдорд╛рди 12 рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЬрд╛рд░реА рд░рдЦрд╛ рдЬрд╛рдП
рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рддрд╛рд░реНрдХрд┐рдХ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рдЧреБрдгрди рдФрд░ рд╡рд┐рднрд╛рдЬрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред рдЗрд╕рдореЗрдВ, рд╣рдо рдореЗрдореЛрд░реА рдФрд░ рд╕реНрдЯреИрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рдмреАрдЪ, рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк MIPS рдЕрд╕реЗрдВрдмрд▓рд░ рдореЗрдВ рдЗрд╕ рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:
int a = b + c; int d = e + f; int g = a + b; int h = g + d;
рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!