romimage: file=BIOS-bochs-latest, address=0xf0000
megs: 32
vgaromimage: VGABIOS-elpin-2.40
floppya: 1_44=osaimgbo.bin, status=inserted
boot: a
ips: 1000000
clock: sync=realtime, time0=local
log: bochsout.txt
vga_update_interval: 300000
keyboard_serial_delay: 250
keyboard_paste_delay: 100000
floppy_command_delay: 500
mouse: enabled=0
private_colormap: enabled=0
keyboard_mapping: enabled=0, map=
void near KeyQueCmd_RecieveCheck()
// 1バイト受信&チェック
{
	/* work->exec_wait_int = intres; */ asmout("MOV DWORD PTR DS:[019CH],OFFSET #intres");
	return; // EBXとEBPはそのままにしておく(実行中の命令がわからなくなるから)

intres:
	if (AL == [DS:EBX+4]) {
		EBX += 8;
		EBP += 2;
		/* goto [(void near *) DS:EBX] */ asmout("JMP DWORD PTR DS:[EBX]");
	}
	#if (defined(BOCHS)) /* bochs2.1.1対策 2005.04.24 */
		if (AL == 0xfa)
			return;
	#endif
	INT(0x03); // 本来ならここでエラーシグナル
}

リロード   新規 編集 差分 添付   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Last-modified: 2006-02-16 (木) 18:00:47 (5977d)