NEC V30

提供:MonoBook
2024年10月28日 (月) 06:31時点におけるAdministrator (トーク | 投稿記録)による版 (→‎ビット操作)

NEC V20とは、1984年にNECから発売した「Intel 8086とピン互換(同じソケット形状)」、かつ「Intel 80186と命令セットに互換性」、かつ「独自命令」を搭載したCPUです。

大雑把にいうと「8086向けの部材を流用して80186互換機を作れる」というものでした。

後に186相当から286相当にパワーアップした「NEC V33」が登場して割と人気になりました。

追加命令セット

V30には186にはない命令セットが追加されています。 これらを186で動かした場合は「無視される」という挙動になります。 一方で後に386で追加された命令セットと一部被っているものがあり、V30向けのプログラムを386で動かすと暴走するという残念な結果になりました。

ビット操作

これらと同じような命令はインテル純正ではPentium 3でやっと登場しました。いくらなんでも先走りすぎですね。

  • TEST1: 特定のビットをテスト
  • SET1: 特定のビットをセット(1にする)
  • CLR1: 特定のビットをクリア(0にする)
  • NOT1: 特定のビットを反転

パックドBCD演算命令

これらの命令はメモリに格納された大きなパックドBCD形式の数値の演算を可能にします。

  • ADD4S: パックドBCDの加算
  • SUB4S: パックドBCDの減算
  • CMP4S: パックドBCDの比較

ニブル操作命令

4ビット(ニブル)単位でデータを操作する命令です。

  • ROL4: 4ビットニブルの左ローテート
  • ROR4: 4ビットニブルの右ローテート

その他の追加命令

  • REPC: 文字列操作の繰り返し(ZF=1の間)
  • REPNC: 文字列操作の繰り返し(ZF=0の間)

Intel 80286由来の命令

V30はIntel 80286で導入されたいくつかの命令も実装しています:

  • BOUND: 配列境界チェック
  • ENTER: プロシージャ入口の作成
  • LEAVE: プロシージャ出口の作成
  • INS: 入力文字列
  • OUTS: 出力文字列

8080エミュレーションモード

V30には8080エミュレーションモードがあり、以下の命令でモードの切り替えを行います:

  • BRKEM: 8080エミュレーションモードに入る
  • RETEM: 8080エミュレーションモードから戻る

一斉を風靡した8080(の互換品のZ80)としても使える優れモノです。