質問: 機械語(アセンブラ)得意な方、このファイルの解読をお願いできないでしょうか、
回答: 多分MIPSアセンブラですよね。 大昔触った事はありますが、もう忘れてましたので、命令表を見ながら解析しました。 間違ってたらごめんなさい。 注意点として、x0には常にゼロが入っている筈です。 1行ずつの解説は↓↓の通りです。 ざっくり言うと、dataの内容(0x100000)をx1にロードし、ループで1から10までを足していきます。 最後に0x100をORして、84番地にストアします。 結果は0x100137になると思います。 ; sample2 lui x1,hi(data) // ori x1,x1,lo(data) //↑との2行でx1にdataアドレス値をロード lw x1,0(x1) //x1の示すアドレスの内容(0x100000)をx1にロード addi x2,x0,1 //x2←1(ループ初期値) addi x3,x0,11 //x3←11 addi x4,x0,1 //x4←1(真の値) loop: add x1,x1,x2 //x1←x1+x2 addi x2,x2,1 //x2←x2+1 slt x5,x2,x3 //x5←x2