前提・実現したいこと
MIPSを使って、ユーザーが入力した十進法の整数を、二進法に変換して表示するという課題です。
入力された値は最大で127、最小で−128でなくてはいけません。
これ以上または以下が入力された場合エラーを出さなくてはいけないので、設定したいのですが、あっているのかわかりません。
十進法から二進法に変換させるやりかたはsyscalls の35番、36番を使用することを禁止されているので、一番ベーシックな
1)元の数字を二で割っていく
2)でてくるあまりを記録する
3)そのあまりを反対側から表示させていく
というやり方を使おうと思っています。
該当のソースコード
MIPS
1#入力された数字を読み込む 2add $v0, $zero, 5 # 5=read the integer 3syscall 4add $t0, $zero, $v0 #v0に値が保存される 5 6add $t1, $zero, 127 7add $t2, $zero, -128 8 9ble $t0, $t1, next #値が127以下であること確認する 10else: 11 12next: 13bgt $t0, $t2, loop #値が−128以上であること確認する-->二進法へ変換させるループ 14 15loop: #method for changing decimal to binary 16div $t0, 2 #値を二で割っていく 17 mfhi $a2 # reminder to $a2
試したこと
十進法から二進法に変換させるやりかたはsyscalls の35番、36番を使用することを禁止されているので、一番ベーシックな
1)元の数字を二で割っていく
2)でてくるあまりを記録する
3)そのあまりを反対側から表示させていく
というやり方を使おうと思っています。
しかしここから先に進めません
解決法お待ちしております!!
お願いいたします!
。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/29 10:43