Document

第2回放送授業
3 プログラム
3.1 機械語プログラム
制御部
データ
処理部
キーボード
メ
モ
リ
ー
ディスプ
レー
機械語
• 0000 0000 0001 0010
意味: ADD 0, 1, 2
• 1110 0000 0000 0001
0000 0000 0000 0011
意味: LD 1, 0x0011
機械語プログラム
• 一連の作業を行うために機械語の命
令コードを並べたもの
アドレス
命令コード
アセンブラプログラム
0x0000:
1110 0000 0000|0000|
0x0001:
0000 0000 0001 0000|
0x0002:
1110 0000 0000|0001|
0x0003:
0000 0000 0001 0001
0x0004:
0000|0000|0001|0000|
ADD 0, 1, 0;
0x0005:
1110 0000 0001|0000|
ST 0, 0x0012;
0x0006:
0000 0000 0001 0010|
0x0007:
1111 1111 1111 1111|
HLT;
0x0010:
0000 0000 0000 0101|
0x0005;
0x0011:
0000 0000 0000 0110|
0x0006;
0x0012:
0000 0000 0000 0000|
0x0000;
LD 0, 0x0010;
LD 1, 0x0011;
…
3.2 アセンブラプログラム
アセンブラ言語/プログラム
アドレス
命令コード
アセンブラプログラム
0x0000:
1110 0000 0000|0000|
0x0001:
0000 0000 0001 0000|
0x0002:
1110 0000 0000|0001|
0x0003:
0000 0000 0001 0001
0x0004:
0000|0000|0001|0000|
ADD 0, 1, 0;
0x0005:
1110 0000 0001|0000|
ST 0, Data2;
0x0006:
0000 0000 0001 0010|
0x0007:
1111 1111 1111 1111|
LD 0, Data0;
LD 1, Data1;
HLT;
…
0x0010:
0000 0000 0000 0101|
Data0: 0x0005;
0x0011:
0000 0000 0000 0110|
Data1: 0x0006;
0x0012:
0000 0000 0000 0000|
Data2: 0x0000;
3.3 高水準プログラム
• C, C++, Java, FORTRAN, Basic
Perl, Ruby, …
• Compiler, Interpreter
main(){
int x, y, z;
x = 4;
y = 5;
z = x + y;
print z;
}
3.4 応用プログラム
応用プログラムの例
•
•
•
•
•
•
•
Text editor, ワードプロセッサ
表計算ソフト
プレゼンテーションソフト
コンパイラなど
マルチメディアソフトウェア
データベース
Web ブラウザ
3章のまとめ
•
•
•
•
機械語/機械語プログラム
アセンブラ言語/アセンブラプログラム
高水準プログラム(言語)
応用プログラム
4 制御構造と
構造化プログラミング
4.1 ジャンプ命令
• ジャンプ命令
プログラムカウンタ
• 無条件ジャンプ/条件ジャンプ
JP, JPZ, JPN, JPC, JPO
JPZは論理判定でも使われる
• 制御構造
分岐、ループ
4.2 構造化プログラミング
• スパゲティプログラム
• 構造化プログラミング