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


Ignore:
Timestamp:
Apr 13, 2015 3:02:34 PM (11 years ago)
Author:
nakasato
Comment:

--

Legend:

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

    v24 v25  
    6565||     B|| 0x4|| 75|| 75|| 
    6666||     C|| 0x8||  0|| 94|| 
    67  
     67/ 
    6868MIPSプロセッサでの演算は、レジスタ間でのみ行うことができます。 
    6969したがって、メモリの中のデータを演算するためには一度レジスタの中にデータをロードし、 
     
    8585 
    8686このプログラムを「sum1.s」としてファイルに保存し、xspimでシミュレーションを行ってください。 
    87 ソースファイルの読み込みには "load" ボタン、プログラムの実行には "step" ボタンをクリックする。 
    88  
    89 [[Image(http://galaxy.u-aizu.ac.jp/note/raw-attachment/wiki/Ex01%E3%80%80MIPS%E3%82%A2%E3%82%BB%E3%83%B3%E3%83%96%E3%83%AA%E3%81%AE%E5%9F%BA%E7%A4%8E2015/xpsim.png)]] 
    90  
    91  
    92 「.data」で定義される部分をデータセグメントと呼びます。 
    93 各行は「32ビット数値で内容は「19」の変数を定義しそのアドレスを「A」で参照できるようにする」のような意味を持ちます。 
    94  
    95 「.text」で定義される部分をコードセグメントと呼び、これがプログラムの本体になります。 
     87 
     88アセンブリプログラムで、「.data」から始まる部分をデータセグメントと呼びます。 
     89各行は「32ビット数値で内容は「19」の変数を定義しそのアドレスを「A」で参照できるようにする」という意味です。 
     90 
     91「.text」で定義される部分をテキストセグメントと呼び、これがプログラムの本体になります。 
    9692各命令の概要を以下のテーブルで説明します。 
    9793 
     
    106102  
    107103補足:「lw $8, A」 は 「lw $8, A($0)」 の省略形であり、レジスタ$8には「A + $0」の値がロードされます。 
     104 
     105xpsimを実行すると以下のような画面となります。 
     106 
     107[[Image(http://galaxy.u-aizu.ac.jp/note/raw-attachment/wiki/Ex01%E3%80%80MIPS%E3%82%A2%E3%82%BB%E3%83%B3%E3%83%96%E3%83%AA%E3%81%AE%E5%9F%BA%E7%A4%8E2015/xpsim.png)]] 
     108 
     109 
     110画面の上段には各レジスタの内容が示されています。 
     111 
     112中段には各ボタンがあり、ソースファイルの読み込みには "load" ボタン、プログラムの実行には "step" ボタンをクリックします。 
     113 
     114下段にはテキストセグメント(Text Segments)と、データセグメント(Data Segments)が示され、一番下の部分には実行時のメッセージが表示されます。 
     115 
     116プログラムの実行には二つの方法があり、stepボタンによる実行では、テキストセグメントの命令が一命令ずつ実行されます。 
     117一方"run"ボタンを使うと、プログラムを一気に実行できます。 
     118 
     119このプログラムをstep実行し、一命令ずつレジスタやデータセグメントの値が変化するのを確かめること。 
    108120 
    109121= 複雑な式の評価 =