[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 02/24 11:23 / Filesize : 211 KB / Number-of Response : 985
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

アセンブラ… (゜□゜) ↑アッー!↓



1 名前:デフォルトの名無しさん [2006/05/24(水) 01:43:34 ]
アセンブラ全般に関するスレッドです。

【前スレ】
アセンブラ… ヽ(゚∀゚)ノフォーウ!
pc8.2ch.net/test/read.cgi/tech/1132761638/

過去ログは>>2辺り

191 名前:あや [2006/06/25(日) 13:18:40 ]
こんにちは!
今学校でMIPSのシミュレータを勉強してます★
それで、「N掛けるNの掛け算表表示プログラム」
を出力するプログラム(Nは入力して与える)を書けという課題を出されたのですが、
全くわかりません><
誰か助けてください!

先生がくれたメインルーチン部分は



192 名前:あや [2006/06/25(日) 13:19:28 ]
#timesTable.asm-- N掛けるNの掛け算表表示プログラム、Nは入力して与える。
#使用レジスタ $v0 - syscallパラメータ 及び 戻り値
# $a0 - syscallパラメータ 及び サブルーチンprintValue呼び出し用引数1
# $a1 - サブルーチンprintValue呼び出し用引数2
# $s0 - 掛け算用の変数1
# $s1 - 掛け算用の変数2
# $s2 - カウントダウンループ制御用変数、$s0と対で、$s0が1増えると$2が1減る
# $s3 - カウントダウンループ制御用変数、$s1と 対で、$s1が1増えると$3が1減る
# $s4 - いくつまで表を出力するかをいれておくための変数
# $t0からt4までをテンポラリレジスタとして利用


193 名前:あや [2006/06/25(日) 13:20:44 ]
.text
main: li $v0,5 #整数入力のためにシステムコール番号
syscall #5を$v0に格納
move $s4 $v0 #大きさを$s4に格納する
li $s0,1
move $s2,$s4 #外側の変数を初期化する
loop1:
li $s1,1
move $s3,$s4 #内側の変数を初期化する
loop2:
move $a0 $s0
move $a1 $s1
jal printValue #値を出力するサブルーチンを呼び出す
jal print SP
addi $s1,$s1,1 #掛ける数を増やす
addiu $s3,$s3,-1 #ループ変数を減らす
bne $s3,$zero,loop2 #ループ変数が0になるまでループする
jal printfCRLF #改行を出力する
addi $s0,$s0,1 #掛ける数を増やす
addiu $s2,$s2,-1 #ループ変数を減らす
bne $s2,$zero,loop1 #ループ変数が0になるまでループする
li $v0,10
syscall #プログラム終了

です。誰かわかる人いませんか?

194 名前:マイク ◆yrBrqfF1Ew mailto:sage [2006/06/25(日) 14:12:45 ]
>全くわかりません><
>誰か助けてください!

俺もよくわからないから
今度デートしようよ。

195 名前:あや [2006/06/25(日) 14:25:13 ]
わからないならやだーー笑。

196 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 14:25:54 ]
あやちゃんのフルネームは
綾小路源五郎

197 名前:あや [2006/06/25(日) 15:12:20 ]
みんな使えない!!
パソコンに関してはすごいのかと思ったらぜんぜんじゃんか!

198 名前:マイク ◆yrBrqfF1Ew mailto:sage [2006/06/25(日) 15:16:01 ]
#printValueの中身は引数かけて表示
#printSPはスペース表示
#printCRLFは改行表示

.data
SPACE: .asciiz " "
CRLF: .asciiz "\r\n"

.text
printValue:
mult $t0, $a0, $a1
li $v0, 1
move $a0 $t0
syscall
jr $ra

printSP:
li $v0, 4
la $a0, SPACE
syscall
jr $ra

printCRLF:
li $v0, 4
la $a0, CRLF
syscall
jr $ra

199 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 15:37:21 ]
お題はプログラムを出力するプログラムじゃないの?



200 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 16:16:58 ]
>>197
馬鹿だなあ
お前のようなネカマに使われたくないだけだよ(w

201 名前:あや [2006/06/25(日) 19:30:05 ]
>198
ありがとうございます♡→ܫ←♡
まだ動かないですけど、かなり助かりました!
mult $t0, $a0, $a1
      ^ のところでsyntax errorが出るんですよね〜↓
なんでだろう?

でもマイクさんすごいです!!



202 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 19:53:52 ]
♡→ܫ←♡

203 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 19:59:27 ]
 → ←
  ܫ

♡   ♡

  ܫ

  ♡

204 名前:あや [2006/06/25(日) 20:32:54 ]
(´^ิu^ิ`)

205 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 21:06:24 ]
「mult」ってアセンブラ命令なのか?

206 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 21:30:25 ]
>190
お前は俺の言っている意味が全然解ってない。
メモリアクセス>>(超えられない壁)>>HDDアクセス>>>回線
だと言っている。
リクエスト数が多いなら、IOアクセス量の問題だから
なおの事アセンブラ化での高速化では解決しない。

更に言うなら、そんなシステムをデバッグの困難なアセンブラで書き起す事自体がネタとしか思えない。

207 名前:マイク ◆yrBrqfF1Ew mailto:sage [2006/06/25(日) 21:43:13 ]
>>201
じゃmultをmulに変えてみてくれ。

>でもマイクさんすごいです!!

感謝の気持ちは電話番号でのみ受け取るよ。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<211KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef