RAM領域でのループ確認用プログラム。 割り込み要因をすべて排除した後に、自身の命令にジャンプを繰り返す。
C000: DI ; INT OFF C001: XOR A C002: OUT (92H),A ; CRTC OFF C004: JP C004H
ROM領域でのループ確認用プログラム。 割り込み要因をすべて排除した後に、自身の命令にジャンプを繰り返す。
0CB2: JP NZ,0CBAH ; ROM:メモリアクセスのある命令 0CB5: AND E 0CB6: LD C,A 0CB7: LD A,B 0CB8: AND D 0CB9: JP (HL) C000: DI ; INT OFF C001: XOR A C002: LD BC,0000H C005: LD DE,0000H C008: LD HL,0CB2H C002: OUT (92H),A ; CRTC OFF C007: JP (HL)
■ RAM内ループ
実行される命令はJP C000H。最初のM1がLOWになり、MREQが発行されるが、 ここでWAITがLOWになるのでM1でWAITが入ることが確認できる。その後、RFSHが LOWになり、DRAMリフレッシュが行われるが、ここのMREQではWAITが入らない。 ジャンプ先アドレス(2バイト)を取得する際にもMREQが発行されるが、 ここでもWAITは発生していない。
■ ROM内ループ
実行される命令はJP (HL)。RAM領域と同様に、M1でWAITが入る。 また、オペランドとして条件ジャンプ先のアドレスの取得をする際に メモリアクセスが2回(16bitアドレス取得)発生しているが、 この時にも1CLOCKのWAITが入っていることが読み取れる。