Changes between Version 3 and Version 4 of Ex01 MIPSアセンブリの基礎2015


Ignore:
Timestamp:
Mar 31, 2015 2:51:47 PM (11 years ago)
Author:
nakasato
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Ex01 MIPSアセンブリの基礎2015

    v3 v4  
    5454sw $8, A 
    5555}}} 
    56 のようなプログラムに置き換えることができます. 
     56というプログラムに置き換えることができます. 
    5757 
    5858== 考察事項 ==  
     
    7373この様な場合、上記のようにori命令とsw命令の組み合わせで代入文を実現します。 
    7474 
    75 = 例題1 =  
     75= 例題1:変数の代入 =  
     76変数A, B, Cがある時に「C = A + B;」を実現するプログラムを考える。 
    7677 
     78変数A,B, Cは、メモリ上に以下のように配置されているとします。 
     79それぞれは32ビットワードの変数であり、1変数につき4バイトのアドレス空間を占めます。  
     80  
     81|| 変数 || アドレス(16進数) ||  初期値(10進数) || 結果(10進数) || 
     82|| A      || 0x0  || 19 || 19 || 
     83|| B      || 0x4  || 75 || 75  || 
     84|| C      || 0x8  || 0 ||  94 || 
     85 
     86MIPSプロセッサでの演算はレジスタ間でのみ行うことができます。 
     87したがって、メモリの中のデータを演算するためには一度レジスタの中にデータをロードし、 
     88演算を行った後に演算結果をメモリにストアしなければなりません。 
     89そのようなプログラムを下に示します。  
     90 
     91{{{ 
     92         .data  
     93A:       .word 19  
     94B:       .word 75  
     95C:       .word 0 
     96         .text  
     97main:    lw   $8, A  
     98         lw   $9, B  
     99         add  $10, $8, $9  
     100         sw   $10, C  
     101exit: j  exit 
     102}}} 
     103  
     104