VMS命令コード説明書?

*注意!! 間違い等かなりあるはずですが気にしないで下さい。

参考文献:三洋電機(株) 三洋半導体ニュース3092A 「LC104C/108C」

参考URL:

http://marcus.mangakai.org/dc/vms/cpu.html

作成: 齋藤 竜哉

junk@da.airnet.ne.jp

多くの命令はSFR(ACCなど)を演算できます。 オペランドとして使用されるROM、RAM空間はつぎのアドレッシングモードを扱います。


間接アドレスレジスタはPSW レジスタの IRBK0 と IRBK1のビットにより参照されるアドレスが次のようになります。

間接アドレスレジスタバンクIRBK1 間接アドレスレジスタバンクIRBK0 オペランド 読み込みアドレス アクセス領域
0 0 @R0 000 RAM (000-0FF)
@R1 001 RAM (000-0FF)
@R2 002 SFR (100-1FF)
@R3 003 SFR (100-1FF)
0 1 @R0 004 RAM (000-0FF)
@R1 005 RAM (000-0FF)
@R2 006 SFR (100-1FF)
@R3 007 SFR (100-1FF)
1 0 @R0 008 RAM (000-0FF)
@R1 009 RAM (000-0FF)
@R2 00A SFR (100-1FF)
@R3 00B SFR (100-1FF)
1 1 @R0 00C RAM (000-0FF)
@R1 00D RAM (000-0FF)
@R2 00E SFR (100-1FF)
@R3 00F SFR (100-1FF)

ベクタテーブルとは割り込みに関するテーブルです。割り込み条件が発生した時にベクターテーブルにかかれているアドレスが実行されます。

ベクタ アドレス 割り込み要因
0 00

Reset

1 03

INT0 割り込み (外部割込み)

2 0B

INT1 割り込み (外部割込み)

3 13

INT2 割り込み (外部割込み) or T0L オーバフロー

4 1B

INT3 割り込み (外部割込み) /ベースタイマ オーバフロー

5 23

T0H オーバフロー

6 2B

T1H or T1L オーバフロー

7 33

SIO0 割り込み

8 3B

SIO1 割り込み<

9 43

RFB 割り込み

10 4B

P3 割り込み

Low Byte

High Byte
0 1 2, 3 4-7 8-F
0

NOP

BR r8

LD d9

LD @Ri

CALL a12

1

CALLR r16

BRF r16

ST d9

ST @Ri

2

CALLF a16

JMPF a16

MOV #i8,d9

MOV #i8,@Ri

JMP a12

3

MUL

BE #i8,r8

BE d9,r8

BE @Ri,#i8,r8

4

DIV

BNE #i8,r8

BNE d9,r8

BNE @Ri,#i8,r8

BPC d9,b3,r8

5 Reserve Reserve

DBNZ d9,r8

DBNZ @Ri,r8

6

PUSH d9

INC d9

INC @Ri

BP d9,b3,r8

7

POP d9

DEC d9

DEC @Ri

8

BZ r8

ADD #i8

ADD d9

ADD @Ri

BN d9,b3,r8

9

BNZ r8

ADDC #i8

ADDC d9

ADDC @Ri

A

RET

SUB #i8

SUB d9

SUB @Ri

NOT1 d9,b3

B

RETI

SUBC #i8

SUBC d9

SUBC @Ri

C

ROR

LDC

XCH d9

XCH @Ri

CLR1 d9,b3

D

RORC

OR #i8

OR d9

OR @Ri

E

ROL

AND #i8

AND d9

AND @Ri

SET1 d9,b3

F

ROLC

XOR #i8

XOR d9

XOR @Ri

ADD

オペランドをアキュムレータ(ACC)に加算します。 CY,AC,OVビットは演算結果により変化します。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

ADD #i8

10000001 i7i6i5i4i3i2i1i0

2 1 (ACC)=(ACC)+i#8

ADD d9

1000001d8 d7d6d5d4d3d2d1d0

2 1 (ACC)=(ACC)+(d9)

ADD @Ri

100001i1i0

1 1 (ACC)=(ACC)+((Ri)) i:0,1,2,3

ADDC

オペランドをキャリービット (CY)を含めて アキュムレータ(ACC)に加算します。 CY,AC,OVビットは演算結果により変化します。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

ADDC #i8

10010001 i7i6i5i4i3i2i1i0

2 1 (ACC)=(ACC)+CY)+i#8

ADDC d9

1001001d8 d7d6d5d4d3d2d1d0

2 1 (ACC)=(ACC)+(CY)+(d9)

ADDC @Ri

100101i1i0

1 1 (ACC)=(ACC)+(CY)+((Ri)) i:0,1,2,3

SUB

オペランドをアキュムレータ(ACC)から減算します。 CY,AC,OVビットは演算結果により変化します。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

SUB #i8

10100001 i7i6i5i4i3i2i1i0

2 1 (ACC)=(ACC)-i#8

SUB d9

1010001d8 d7d6d5d4d3d2d1d0

2 1 (ACC)=(ACC)-(d9)

SUB @Ri

101001i1i0

1 1 (ACC)=(ACC)-((Ri)) i:0,1,2,3

SUBC

オペランドをキャリービット (CY)を含めて アキュムレータ(ACC)から減算します。 CY,AC,OVビットは演算結果により変化します

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

SUBC #i8

10110001 i7i6i5i4i3i2i1i0

2 1 (ACC)=(ACC)-(CY)-i#8

SUBC d9

1011001d8 d7d6d5d4d3d2d1d0

2 1 (ACC)=(ACC)-(CY)-(d9)

SUBC @Ri

101101i1i0

1 1 (ACC)=(ACC)-(CY)-((Ri)) i:0,1,2,3

INC

オペランドに1を加算します。PSW の各ビットには影響を与えません。この命令のポートに関するバイト、またはビット単位のアドレッシングではポートラッチが選択されます。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

INC d9

0110001d8 d7d6d5d4d3d2d1d0

2 1

(d9)=(d9)+1

     

INC @Ri

011001i1i0

1 1

((Ri))=((Ri))+1 i:0,1,2,3

     

DEC

オペランドから1を減算します。PSW の各ビットには影響を与えません。この命令のポートに関するバイト、またはビット単位のアドレッシングではポートラッチが選択されます。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

DEC d9

0111001d8 d7d6d5d4d3d2d1d0

2 1

(d9)=(d9)-1

     

DEC @Ri

011101i1i0

1 1

((Ri))=((Ri))-1 i:0,1,2,3

     

MUL

アキュムレータとC レジスタからなる16 ビットの値(ACC:上位,C:下位)とB レジスタの値を掛け算して、24 ビットの演算結果を、B(上位)、ACC(中位)、C(下位)に代入する。CY はクリアされ、OV は結果がオーバーフローするとセットされます。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

MUL

00110000

1 7

(B),(ACC),(C)=(ACC),(C)×(B)

 

DIV

アキュムレータとC レジスタからなる16 ビットの値をB レジスタの値で割り、商をACC とC レジスタに、余りをB レジスタに代入する。CY はクリアされ、余りが0 のときにのみOV がセットされます。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

DIV

01000000

1 7

(C),(ACC)…(B)=(ACC),(C)/(B)

 

AND

オペランド と アキュムレータ(ACC)の間で論理積(AND)をとります。PSW の各ビットには影響を与えません。

ニーモニック 命令コード バイト サイクル 動作 CY AC

OV

AND #i8

11100001 i7i6i5i4i3i2i1i0

2 1

(ACC)=(ACC) AND #i8

     

AND d9

1110001d8 d7d6d5d4d3d2d1d0

2 1

(ACC)=(ACC) AND (d9)

     

AND @Ri

111001i1i0

1 1

(ACC)=(ACC) AND ((Ri)) i:0,1,2,3

     

OR

オペランド と アキュムレータ(ACC)の間で論理和(OR)をとります。PSW の各ビットには影響を与えません。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

OR #i8

11010001 i7i6i5i4i3i2i1i0

2 1

(ACC)=(ACC) OR #i8

     

OR d9

1101001d8 d7d6d5d4d3d2d1d0

2 1

(ACC)=(ACC) OR (d9)

     

OR @Ri

110101i1i0

1 1

(ACC)=(ACC) OR((Ri)) i:0,1,2,3

     

XOR

オペランド と アキュムレータ(ACC)の間で排他的論理和(XOR)をとります。PSW の各ビットには影響を与えません。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

XOR #i8

11110001 i7i6i5i4i3i2i1i0

2 1

(ACC)=(ACC) XOR #i8

     

XOR d9

1111001d8 d7d6d5d4d3d2d1d0

2 1

(ACC)=(ACC) XOR (d9)

     

XOR @Ri

111101i1i0

1 1

(ACC)=(ACC) XOR((Ri)) i:0,1,2,3

     

ROL

アキュムレータ(ACC)の内容を左ローテートします。ローテートしてしてシフトアウトしたビットはLSBに戻ります。 PSW の各ビットには影響を与えません。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

ROL

11100000

1 1

↓ A7 ←A6 ← A5 ← A4

A0 → A1 → A2 → A3 ↑

     

ROLC

アキュムレータ(ACC)の内容をCYビットを含めて左ローテートします。 MSBにはCYビットが入り、ローテートしてシフトアウトしたビットはCYビットに入ります。ACビット と OVビット には影響を与えません。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

ROLC

11110000

1 1

↓CY ← A7 ← A6 ← A5 ← A4

→A0 → A1 → A2 → A3 →↑

   

ROR

アキュムレータ(ACC)の内容を右ローテートします。ローテートしてしてシフトアウトしたビットはMSBに戻ります。 PSW の各ビットには影響を与えません。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

ROR

11000000

1 1

A7→A6→A5→A4↓

↑A0←A1←A2←A3

     

RORC

アキュムレータ(ACC)の内容を右ローテートします。LSBにはCYビットが入り、ローテートしてシフトアウトしたビットはCYビットに入ります。ACビット と OVビット には影響を与えません。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

RORC

11010000

1 1

CY → A7 → A6 → A5 → A4↓

↑ ← A0 ← A1 ← A2 ← A3

   

LD

オペランドの内容をアキュムレータ(ACC)に読み込みます。PSW の各ビットには影響を与えません。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

LD d9

0000001d8 d7d6d5d4d3d2d1d0

2 1

(ACC)=(d9)

     

LD @Ri

000001i1i0

1 1

(ACC)=((Ri)) i:0,1,2,3

     

ST

アキュムレータ(ACC) の内容をオペランドで指定されたアドレスにセットします。PSW の各ビットには影響を与えません。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

ST d9

0001001d8 d7d6d5d4d3d2d1d0

2 1

(d9)=(ACC)

     

ST @Ri

000101i1i0

1 1

((Ri))=(ACC) i:0,1,2,3

     

MOV

オペランド にイミディエートデータ(#i8)をセットします。PSW の各ビットには影響を与えません。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

MOV #i8,d9

0010001d8 d7d6d5d4d3d2d1d0 i7i6i5i4i3i2i1i0

3 2

(d9)=#i8

     

MOV #i8,@Rj

001001j1j0 i7i6i5i4i3i2i1i0

2 1

((Ri))=#i8 i:0,1,2,3

     

LDC

アキュムレータ(ACC)にROMからデータを読み込みます。TRR(TRH(上位) と TRL(下位)) で指定した 16 ビットに ACC を加えたアドレスの ROM の内容をACC に読み込みます。PSW の各ビットには影響を与えません。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

LDC

11000001

1 2

(ACC)=((TRR+ACC)) [ROM]

     

PUSH

レジスタの内容をスタックへ退避します。PSW の各ビットには影響を与えません。

ニーモニック 命令コード バイト サイクル 動作

CY

AC

OV

PUSH d9

0110000d8 d7d6d5d4d3d2d1d0

2 2

(SP)=(SP)+1,((SP))=(d9)

     

POP

スタックからレジスタにデータを復帰します。PSW の各ビットには影響を与えません。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

POP d9

0111000d8 d7d6d5d4d3d2d1d0

2 2

(d9)=((SP)),(SP)=(SP)-1

     

XCH

オペランドの内容とアキュムレータ(ACC)の内容を入れ替えます。PSW の各ビットには影響を与えません。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

XCH d9

1100001d8 d7d6d5d4d3d2d1d0

2 1

(d9)←→(ACC)

     

XCH @Ri

110001i1i0

1 1

(d9)←→((Ri)) i:0,1,2,3

     

JMP

12ビット絶対アドレス形式で指定されたアドレスに無条件ジャンプします。上位4ビットはJMP 命令があるアドレスと同じ値が使われます。PSW の各ビットには影響を与えません。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

JMP a12

001a111a10a9a8 a7a6a5a4a3a2a1a0

2 2

(PC)=(PC)+2,(PC11-00)=a12

     

JMPF

16ビット絶対アドレス形式で指定されたアドレスに無条件ジャンプします。PSW の各ビットには影響を与えません。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

JMPF a16

00100001 a15a14a13a12a11a10a9a8 a7a6a5a4a3a2a1a0

3 2

(PC)=a16

     

BR

符号付8ビット相対アドレス形式で指定されたアドレスに無条件ジャンプします。BR 命令の次のアドレスから起算して -7f〜+80 の範囲にジャンプできます。PSW の各ビットには影響を与えません。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

BR r8

00000001 r7r6r5r4r3r2r1r0

2 2

(PC)=(PC)+2,(PC)=(PC)+r8

     

BRF

16ビット相対アドレス形式で指定されたアドレスに無条件ジャンプします。BRF 命令の次のアドレスから起算して 0〜ffff の範囲にジャンプできます。16ビットを超えた分は考慮されないため、BRF命令より前のアドレスにもジャンプできます。PSW の各ビットには影響を与えません。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

BRF r16

00010001 r7r6r5r4r3r2r1r0 r15r14r13r12r11r10r9r8

3 4

(PC)=(PC)+3,(PC)=(PC)-1+r16

     

BZ

ACC=0の時、符号付8ビット相対アドレス形式で指定されたアドレスにジャンプします。BZ 命令の次のアドレスから起算して -7f〜+80 の範囲にジャンプできます。PSW の各ビットには影響を与えません。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

BZ r8

10000000 r7r6r5r4r3r2r1r0

2 2

(PC)=(PC)+2,if (ACC)=0 then (PC)=(PC)+r8

     

BNZ

ACC≠0の時、符号付8ビット相対アドレス形式で指定されたアドレスにジャンプします。BNZ 命令の次のアドレスから起算して -7f〜+80 の範囲にジャンプできます。PSW の各ビットには影響を与えません。

ニーモニック 命令コード バイト サイクル 動作

CY

AC

OV

BNZ r8

10010000 r7r6r5r4r3r2r1r0

2 2

(PC)=(PC)+2,if (ACC)≠ 0 then (PC)=(PC)+r8

     

BP

直接アドレス形式(d9)で指定されたビット(b3)が1の時、符号付8ビット相対アドレス形式で指定されたアドレスにジャンプします。BP 命令の次のアドレスから起算して -7f〜+80 の範囲にジャンプできます。PSW の各ビットには影響を与えません。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

BP d9,b3,r8

011d81b2b1b0 d7d6d5d4d3d2d1d0 r7r6r5r4r3r2r1r0

3 2

(PC)=(PC)+3,if (d9,b3)=1 then (PC)=(PC)+r8

     

直接アドレス形式(d9)で指定されたビット(b3)が1の時、そのビットをクリアしてから符号付8ビット相対アドレス形式で指定されたアドレスにジャンプします。BP 命令の次のアドレスから起算して -7f〜+80 の範囲にジャンプできます。PSW の各ビットには影響を与えません。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

BPC d9,b3,r8

010d81b2b1b0 d7d6d5d4d3d2d1d0 r7r6r5r4r3r2r1r0

3 2

(PC)=(PC)+3,if (d9,b3)=1 then {(d9,b3)=0,(PC)=(PC)+r8}

     

BN

直接アドレス形式(d9)で指定されたビット(b3)が0の時、符号付8ビット相対アドレス形式で指定されたアドレスにジャンプします。BP 命令の次のアドレスから起算して -7f〜+80 の範囲にジャンプできます。PSW の各ビットには影響を与えません。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

BN d9,b3,r8

100d81b2b1b0 d7d6d5d4d3d2d1d0 r7r6r5r4r3r2r1r0

3 2

(PC)=(PC)+3,if (d9,b3)=0 then (PC)=(PC)+r8

     

DBNZ

オペランドで指定されたアドレスのデータを-1して結果が0の時に符号付8ビット相対アドレス形式で指定されたアドレスにジャンプします。BP 命令の次のアドレスから起算して -7f〜+80 の範囲にジャンプできます。PSW の各ビットには影響を与えません。この命令のポートに関するバイト、またはビット単位のアドレッシングではポートラッチが選択されます。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

DBNZ d9,r8

0101001d8 d7d6d5d4d3d2d1d0 r7r6r5r4r3r2r1r0

3 2

(PC)=(PC)+3,(d9)=(d9)-1, if (d9)≠0 then (PC)=(PC)+r8

     

DBNZ @Ri,r8

010101i1i0 r7r6r5r4r3r2r1r0

2 2

(PC)=(PC)+3,((Ri))=((Ri))-1 i:0,1,2,3 , if (d9)≠0 then (PC)=(PC)+r8

     

BE

ACC または@R で指定したレジスタとオペランドの内容が一致する場合、符号付8ビット相対アドレス形式で指定されたアドレスにジャンプします。BP 命令の次のアドレスから起算して -7f〜+80 の範囲にジャンプできます。PSW の各ビットは演算結果により変化します。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

BE #i8,r8

00110001 i7i6i5i4i3i2i1i0 r7r6r5r4r3r2r1r0

3 2

(PC)=(PC)+3,if (ACC)=#i8 then (PC)=(PC)+r8, if (ACC) < #i8 then CY=1 ELSE CY=0

   

BE d9,r8

0011001d8 d7d6d5d4d3d2d1d0 r7r6r5r4r3r2r1r0

3 2

(PC)=(PC)+3,if (ACC)=(d) then (PC)=(PC)+r8, if (ACC) < (d) then CY=1 ELSE CY=0

   

BE @Rj,#i8,r8

001101j1j0 i7i6i5i4i3i2i1i0 r7r6r5r4r3r2r1r0

3 2

(PC)=(PC)+3,if ((Rj))=#i8 then (PC)=(PC)+r8, if ((Rj)) < #i8 then CY=1 ELSE CY=0

   

BNE

ACC または@R で指定したレジスタとオペランドの内容が一致しない場合、符号付8ビット相対アドレス形式で指定されたアドレスにジャンプします。BP 命令の次のアドレスから起算して -7f〜+80 の範囲にジャンプできます。PSW の各ビットは演算結果により変化します。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

BNE #i8,r8

01000001 i7i6i5i4i3i2i1i0 r7r6r5r4r3r2r1r0

3 2

(PC)=(PC)+3,if (ACC)≠#i8 then (PC)=(PC)+r8, if (ACC) < #i8 then CY=1 ELSE CY=0

   

BNE d9,r8

0100001d8 d7d6d5d4d3d2d1d0 r7r6r5r4r3r2r1r0

3 2

(PC)=(PC)+3,if (ACC) ≠(d) then (PC)=(PC)+r8, if (ACC) < (d) then CY=1 ELSE CY=0

   

BNE @Rj,#i8,r8

010001j1j0 i7i6i5i4i3i2i1i0 r7r6r5r4r3r2r1r0

3 2

(PC)=(PC)+3, if ((Rj)) ≠#i8 then (PC)=(PC)+r8, if ((Rj)) < #i8 then CY=1 ELSE CY=0

   

CALL

サブルーチンコール。指定アドレスは12ビット絶対アドレス形式で指定します。 上位4ビットは無視されます。リターンアドレス (CALL命令の指示されたアドレス)はスタック(SP)に退避されます。下位8ビットが上位8ビットより先に退避します。 PSW の各ビットには影響を与えません。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

CALL a12

000a111a10a9a8 a7a6a5a4a3a2a1a0

2 2

(PC)=(PC)+2,(SP)=(SP)+1,((SP))=(PC7-0), (SP)=(SP)+1, ((SP)) =(PC15-8),(PC11-0)=a12

     

CALLF

サブルーチンコール。指定アドレスは16ビット絶対アドレス形式で指定します。 リターンアドレス (CALL命令の指示されたアドレス)はスタック(SP)に退避されます。下位8ビットが上位8ビットより先に退避します。 PSW の各ビットには影響を与えません。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

CALLF a16

00100000 a15a14a13a12a11a10a9a8 a7a6a5a4a3a2a1a0

3 2

(PC)=(PC)+3,(SP)=(SP)+1,((SP))=(PC7-0), (SP)=(SP)+1, ((SP)) =(PC15-8),(PC)=a16

     

CALLR

サブルーチンコール。指定アドレスは16ビット相対アドレス形式で指定します。 リターンアドレスは次の命令のアドレスでスタック(SP)に退避されます。下位8ビットが上位8ビットより先に退避します。 PSW の各ビットには影響を与えません。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

CALLR r16

00010000 r7r6r5r4r3r2r1r0 r15r14r13r12r11r10r9r8

3 4

(PC)=(PC)+3,(SP)=(SP)+1,((SP))=(PC7-0), (SP)=(SP)+1,((SP))=(PC15-8),(PC)=(PC)-1+r16

     

RET

サブルーチンから戻ります。プログラムカウンタ(PC) はスタック(SP)から復帰します。 上位8ビットが下位8ビットより先に復帰します。PSW の各ビットには影響を与えません。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

RET

10100000

1 2

(PC15-8)=((SP)),(SP)=(SP)-1, (PC7-0)=((SP)),(SP)=(SP)-1

     

RETI

割り込み処理から戻ります。プログラムカウンタ(PC) はスタック(SP)から復帰します。上位8ビットが下位8ビットより先に復帰します。PSW の各ビットには影響を与えません。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

RETI

10110000

1 2

(PC15-8)=((SP)),(SP)=(SP)-1, (PC7-0)=((SP)),(SP)=(SP)-1

     

CLR1

オペランドで指定されたビットをクリアします。PSW の各ビットには影響を与えません。この命令のポートに関するバイト、またはビット単位のアドレッシングではポートラッチが選択されます。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

CLR1 d9,b3

110d81b2b1b0 d7d6d5d4d3d2d1d0

2 1

(d9,b3) = 0

     

SET1

オペランドで指定されたビットをセットします。 PSW の各ビットには影響を与えません。この命令のポートに関するバイト、またはビット単位のアドレッシングではポートラッチが選択されます。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

SET1 d9,b3

111d81b2b1b0 d7d6d5d4d3d2d1d0

2 1

(d9,b3) = 1

     

NOT1

オペランドで指定されたビットを反転します。PSW の各ビットには影響を与えません。この命令のポートに関するバイト、またはビット単位のアドレッシングではポートラッチが選択されます。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

NOT1 d9,b3

101d81b2b1b0 d7d6d5d4d3d2d1d0

2 1

(d9,b3) = not (d9,b3)

     

NOP

なにもしません。PCカウンタのインクリメントのみ行います? PSW の各ビットには影響を与えません。

ニーモニック 命令コード バイト サイクル 動作 CY AC OV

NOP

00000000

1 1        

VMSプログラミングへゲームの最初へ齋藤 竜哉のホームへ戻る
御意見、御質問、苦情、デートのお誘いは以下までメール下さい!
junk@da.airnet.ne.jp