פורסם 2007 ביולי 1118 שנים כתבתי תכנית שצריכה כל פעם להדפיס את התו הבא במחרוזת, אבל זה מדפיס לי רק את התו הראשון ואח"כ מדפיס לי 0למה????(השורה lb שמה בתוך רגיסטר 6 0)התכנית:.datastr: .asciiz "abcd"s: .asciiz "\n".textmain:la $s2, strli $s5, 0li $s1, 4li $s4, 0 #אתחול רגיסטריםli, $t1, 0Loop:slt $t0, $s5, $s1beq $t0, $zero, Exitadd $t1, $s4, $s4 # הכפלת המונה ב- 4add $t1, $t1, $t1add $t1, $t1, $s2 # כתובת של המערך+ מונהlb $s6, 0($t1) # קריאת המקום במערךli $v0, 1 move $a0, $s6syscall # הדפסהli $v0, 4la $a0, ssyscall # הדפסת רווחaddi $s4, $s4, 1 # קידום המונה addi $s5, $s5, 1 j LoopExit:li $v0, 10syscall # יציאה מהתוכנית
פורסם 2007 ביולי 1118 שנים את צריכה במחרוזת להתקדם כל פעם כתובת +1 (ולא כתובת +4) כי מדובר במערך של CHAR ולא INT.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.