2010年度 情報科学序論 ~ 内部構造と動作の仕組み(2) ~ 担当教員: 幸山 直人 2010年度 情報科学序論 機械語とアセンブラ言語 高級言語 (ソフトウェア) C言語など 機械語 (ソフトウェア) コンピュータ (ハードウェア) ・最終的には、機械語に変換される ・人間が扱いやすい 1対1 アセンブラ言語 (ソフトウェア) ・コンピュータの本質的命令 ・人間に比較的わかりやすい 2010年度 情報科学序論 COMETⅡとCASLⅡ COMETⅡ(コンピュータ) COMETⅡは、実在しないコンピュータだが、コンピュータと しての五大機能を備えた仮想のコンピュータである。 CASLⅡ(アセンブラ言語) CASLⅡは、COMETⅡ上で動作する機械語に対応するア センブラ言語である。 注意:CASLⅡの仕様書は、情報処理技術者試験を実施いている情報処理推進機構 から入手できるほか、情報処理技術者試験の「案内書・願書」の巻末に記載されている。 また、CASLⅡのプログラミングを体験できるシミュレータも提供されている。 その他、多くの有志によってCASLⅡを学習できる教材がインターネット上で提供され ているので、必要に応じて学習してもらいたい。 2010年度 情報科学序論 COMETⅡの主な仕様 1語は16ビット 主記憶の容量は65536語で0~65535番地 逐次制御 汎用レジスタは8つ(GR0~GR7) その他のレジスタとして、スタックポインタ(SP) とプログラムレジスタ(PR) 演算結果により設定されるフラグレジスタ(FR) OF SF ZF 2010年度 情報科学序論 機械語の構造 出力先(レジスタ) OP 回路指定 GR XR Adr 入力先(レジスタまたは実効アドレス) OP(8ビット):命令コード(回路指定) GR(4ビット):レジスタ(出力) XR(4ビット):レジスタ(入力) Adr=0 ⇒ GR[XR]の値 Adr≠0かつXR=0 ⇒ 「Adr+0」が実効アドレス Adr≠0かつXR≠0 ⇒ 「Adr+(GR[XR])」が実効アドレス Adr(16ビット):主記憶の番地(入力) 2010年度 情報科学序論 アセンブラ言語(機械語命令)の例 ■レジスタGR1の値にレジスタGR2の値を加える ラベル ADDA 命令コード オペランド ADDA GR1,GR2 1 2 0 ■レジスタGR1の値に実効アドレス(DATA)の値(#01FA)を加える ラベル DATA ADDA 命令コード ADDA DC 1 0 オペランド GR1,DATA #01FA 実効アドレス(DATA) 2010年度 情報科学序論 アセンブラ言語のプログラミングの例 ■1+2を計算する(実効アドレス(ANS)に答え3が記憶される) ラベル EXAM DATA1 DATA2 ANS 命令コード START LD ADDA オペランド ST RET DC GR0,ANS DC DS END GR0,DATA1 GR0,DATA2 #0001 #0002 1 命令領域 データ領域 2010年度 情報科学序論 プログラムの実行 アドレス #0000 値 アドレス **** #0038 ~ 値 **** ~ #002D **** #002E PUSH #002F **** #0030 LD #0031 #0100 #0032 ADDA #0033 #0101 #0034 ST #0035 #0102 #0036 POP #0037 **** #00FF 0 * **** #0100(DATA1) #0001 #0101(DATA2) #0002 0 0 0 0 #0102(ANS) ****(実行後、#0003が入る) #0103 **** ~ #FFFF 0 0 **** 0 * まず、OSによってプログラムが メモリ上に書き込まれる
© Copyright 2024 ExpyDoc