נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: פרוצדורת MIPS

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
ה*לה
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 03 September 2007 בשעה 16:54 | IP רשוּם
ציטוט ה*לה

כתבתי את התכנית הבאה:

קוד:

.data

str: .asciiz ","

str1: .asciiz "\n"

count: .word 0

max: .word 0

valN: .word 15

 

.text

main:

lw $s1, valN

lw $s2, count

lw $s3, max

la $s4, str

la $s5, str1

li $t1, 0 # x

li $t2, 0 # y

li $t3, 0 # z

mult $s1, $s1

mflo $t7

add $t7, $t7, $t7 # 2*N^2

Loopx:

addi $t1, $t1, 1 # x++

li $t2, 0 # y=0

slt $t0, $t1, $s1

beq $t0, $zero, Exit

Loopy:

addi $t2, $t2, 1 # y++

li $t3, 0 # z=0

slt $t0, $t2, $s1

beq $t0, $zero, Loopx

Loopz:

addi $t3, $t3, 1 # z++

slt $t0, $t3, $t7

beq $t0, $zero, Loopy

mult $t1, $t1 # x^2

mflo $t4

mult $t2, $t2 # y^2

mflo $t5

mult $t3, $t3 # z^2

mflo $t6

add $t0, $t4, $t5

bne $t0, $t6 , Loopz # if(x^2+y^2==z^2)

print:

li $v0, 1

move $a0, $t1

syscall

li $v0, 4

la $a0, str

syscall

li $v0, 1

move $a0, $t2

syscall

li $v0, 4

la $a0, str

syscall

li $v0, 1

move $a0, $t3

syscall

li $v0, 4

la $a0, str1

syscall

addi $s2, $s2, 1 # count++

slt $t0, $s3, $t3 # if(z<max)

beq $t0, $zero, Loopz

add $s3, $t3, $s0 # max =z

j Loopz

 

Exit:

li $v0, 4

la $a0, str1

syscall

li $v0, 1 # print max

move $a0, $s3

syscall

li $v0, 4

la $a0, str1

syscall

li $v0, 1 # print count

move $a0, $s2

syscall

 

li $v0, 10

syscall # end of program

 

איך אני הופכת את התכנית כך שתשלח לפרוצדורה את valN ותחזיר את max בתוך $v0, ואת count בתוך $v1

חזרה לתחילת העמוד הצג את כרטיס החבר של ה*לה חפש הודעות אחרות של ה*לה בקר בדף הבית של ה*לה
 
ה*לה
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 12 September 2007 בשעה 01:25 | IP רשוּם
ציטוט ה*לה

אולי בכל זאת משהו מכיר???
חזרה לתחילת העמוד הצג את כרטיס החבר של ה*לה חפש הודעות אחרות של ה*לה בקר בדף הבית של ה*לה
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

קפיצה לפורום
אינך יכול/ה לשלוח נושאים חדשים בפורום זה
אינך יכול/ה להגיב לנושאים בפורום זה
אינך יכול/ה למחוק את הודעותיך ותגוביך בפורום זה
אינך יכול/ה לערוך את הודעותיך ותגובותיך בפורום זה
אינך יכול/ה לצור סקרים בפורום זה
אינך יכול/ה להצביע בסקרים בפורום זה