情報処理技術者試験シリーズ改訂新版 基本情報技術者 らくらく突破 CASL

書籍の概要

この本の概要

長年に渡り読者の支持をいただいている,基本情報技術者試験向けのCASLⅡ解説書です。CASLⅡの言語仕様変更に対応し,読みやすく,親しみやすいデザインに一新しました。内容は,2進数とアセンブラ言語等の基礎から始まり,豊富な過去問題には丁寧かつ的確な解説がなされ,初歩の方でもつまずかずにしっかりと理解を深めることができます。CASLⅡが分かるだけでなく,プログラムの構造やプログラミンルルール,アルゴリズムなど,プログラミング一般の力も,自然と身に付きます。

こんな方におすすめ

  • 基本情報処理技術者試験を受験される方
  • アセンブラ言語を選択される方
  • アセンブラ一般を勉強したい入門者

目次

  • はじめに

第1章 CASLⅡとはこんなもの

1.1 コンピュータで計算を行うには

  • 1.1.1 コンピュータとはどんな装置か
  • 1.1.2 プログラムとデータは記憶装置に格納される
  • 1.1.3 演算はレジスタで行われる
  • 1.1.4 よりアセンブラ言語らしく
  • 1.1.5 A+B→C をCASLⅡで書くと

1.2 CASLⅡの記憶装置とレジスタ

  • 1.2.1 COMETⅡの記憶装置の構造
  • 1.2.2 記憶の最小単位はビットである
  • 1.2.3 演算に使えるレジスタは8つ
  • 1.2.4 命令の実行順序を制御するプログラムレジスタ

1.3 アドレス修飾をマスターしよう

  • 1.3.1 アドレス修飾で番地を水増し
  • 1.3.2 CASLⅡのアドレス修飾の表現法
  • 1.3.3 アドレス修飾はこう使う
  • 1.3.4 アドレス修飾でプログラム作成効率がアップ

1.4 コンピュータは0と1の世界に生きる

  • 1.4.1 機械語は0と1の組み合わせでできている
  • 1.4.2 CASLⅡから機械語への変換
  • 1.4.3 CASLⅡの命令は3種類ある
  • 1.4.4 プログラム全体を見てみよう

第2章 2進法と16進法を征服する

2.1 10進数だけが数ではない

  • 2.1.1 10進法をあらためて考えれば
  • 2.1.2 2進法とは
  • 2.1.3 8進法とは
  • 2.1.4 16進法とは
  • 2.1.5 10進数から2進数への変換
  • 2.1.6 指による簡便な方法
  • 2.1.7 10進数から8進数,16進数への変換
  • 2.1.8 2進数の加算規則

2.2 負数は補数で表す

  • 2.2.1 負数の補数表現とは
  • 2.2.2 2wに対する補数の作り方
  • 2.2.3 2進数の減算は補数を利用できる
  • 2.2.4 16ビットで扱える数の範囲

第3章 CASLⅡプログラムの書法

3.1 プログラムはこう書こう

  • 3.1.1 コーディングとは
  • 3.1.2 命令の表記法に慣れよう

3.2 アセンブラに対する指示はアセンブラ命令で

  • 3.2.1 START命令
  • 3.2.2 END命令
  • 3.2.3 DC命令
  • 3.2.4 DS命令
  • 3.2.5 フラグレジスタ

3.3 データのやりとりは転送命令で

  • 3.3.1 LD(LoaD)命令
  • 3.3.2 ST(STore)命令
  • 3.3.3 LAD(Load ADdress)命令
  • 3.3.4 LD命令とLAD命令の表記法

3.4 算術加算・減算と論理加算・減算

  • 3.4.1 ADDA(ADD Arithmetic)命令
  • 3.4.2 SUBA(SUBtract Arithmetic)命令
  • 3.4.3 ADDL(ADD Logical)命令
  • 3.4.4 SUBL(SUBtract Logical)命令

3.5 数の比較は比較演算命令で

  • 3.5.1 CPA(ComPare Arithmetic)命令
  • 3.5.2 CPL(ComPare Logical)命令

3.6 分岐命令で好きなところへジャンプ

  • 3.6.1 JMI(Jump MInus)命令
  • 3.6.2 JPL(Jump on Plus)命令
  • 3.6.3 JNZ(Jump on Non Zero)命令
  • 3.6.4 JZE(Jump on ZEro)命令
  • 3.6.5 JOV(Jump on OVerflow)命令
  • 3.6.6 JUMP(unconditional JUMP)命令

3.7 論理を操る

  • 3.7.1 論理演算とは何か
  • 3.7.2 AND命令
  • 3.7.3 OR命令
  • 3.7.4 XOR(eXclusive OR)命令

3.8 けたの移動で乗算や除算ができる

  • 3.8.1 SLA(Shift Left Arithmetic)命令
  • 3.8.2 SRA(Shift Right Arithmetic)命令
  • 3.8.3 SLL(Shift Left Logical)命令
  • 3.8.4 SRL(Shift Right Logical)命令

3.9 プッシュとポップ

  • 3.9.1 スタックとは何か
  • 3.9.2 PUSH(PUSH effective address)命令
  • 3.9.3 POP(POP up)命令

3.10 副プログラムを使ってむだを省く

  • 3.10.1 副プログラムとは何か
  • 3.10.2 CALL(CALL subroutine)命令とRET(RETurn from subroutine)命令
  • 3.10.3 汎用レジスタを多目的に使う

3.11 マクロ命令を使う

  • 3.11.1 データの入力はIN命令で
  • 3.11.2 処理結果の出力はOUT命令で
  • 3.11.3 もう一つのスタック操作命令

第4章 構造を理解する

4.1 CASLⅡプログラム解明のコツ

  • 4.1.1 プログラムの全体構造を把握する
  • 4.1.2 ループに注意して細部を見る

4.2 コツのトレーニング

  • 4.2.1 トレーニングその1
  • 4.2.2 トレーニングその2

第5章 実戦力をつけよう

5.1 入出力処理

  • 5.1.1 ゼロ抑制処理
  • 5.1.2 位取りの方法
  • 5.1.3 浮動挿入編集
  • 5.1.4 16進表記のメモリダンプ

5.2 ビット列操作

  • 5.2.1 パリティチェック
  • 5.2.2 ビットの入れ替え
  • 5.2.3 循環シフト
  • 5.2.4 2次元配列の処理

5.3 数の変換

  • 5.3.1 16進数字の2進数データへの変換
  • 5.3.2 入力データの圧縮処理
  • 5.3.3 10進数字の2進数データへの変換
  • 5.3.4 文字コードの16進表現

5.4 値の大小比較

  • 5.4.1 最大値と最小値
  • 5.4.2 大小判定
  • 5.4.3 最大値・最小値・平均値

5.5 テーブル操作

  • 5.5.1 テーブルの編集
  • 5.5.2 通信状態の管理
  • 5.5.3 単語管理テーブルの作成
  • 5.5.4 メモリプールの管理

5.6 四則演算

  • 5.6.1 乗算
  • 5.6.2 商品コードの検査数字
  • 5.6.3 少数部の処理
  • 5.6.4 倍精度整数の加算

5.7 文字列処理

  • 5.7.1 文字列圧縮
  • 5.7.2 タブの設定
  • 5.7.3 10進文字列の処理

5.8 データ構造

  • 5.8.1 リスト処理(その1)
  • 5.8.2 リスト処理(その2)
  • 5.8.3 キュー構造
  • 5.8.4 2分探索法

付録

  • アセンブラ言語の仕様
  • 参考資料

著者プロフィール

八鍬幸信(やくわゆきのぶ)

1946年生まれ,札幌市出身。博士(経営学)北海道大学大学院博士課程退学,専攻は経営情報システム論。現在,札幌大学経営学部教授。「経営情報論」,「ビジネスコミュニケーション論」,「情報セキュリティ」,「Webマーケティング」,「事業構想学」を担当。日本情報経営学会,経営情報学会,システム監査学会に所属。【著書】『経営学がわかる本』(共著,同文館,2000年),『利用者指向に基づく経営情報論の再構築』(学文社,2009年)など。