G9:		CALL RA
		CALL RA
		CALL WA
		MOV AX, [ARGS]
		CMP AL, 11H
		JZ G9RM
		CMP AL, 12H
		JZ G9MR
		CMP AL, 13H
		JZ G9SR
		CMP AL, 21H
		JZ G9RM
		CMP AL, 23H
		JZ G9SR
		CMP AL, 31H
		JZ G9RS
		CMP AL, 32H
		JZ G9RS
		CMP AL, 41H
		JZ G9RI
		CMP AL, 42H
		JZ G9MI
		XOR AL, AL
		JMP FAIL
G9RI:		MOV AL, [WADJ]
		SHL AL, 1
		SHL AL, 1
		SHL AL, 1
		AND AH, 7
		OR AL, AH
		OR AL, 0B0H
		MOV [OPCODE], AL
		RET
G9MI:		MOV AL, [WADJ]
		OR AL, 0C6H
		MOV [OPCODE], AL
		JMP MMODRM
G9RM:		MOV BYTE PTR [OPCODE], 2
		CMP AH, 0E0H
		JZ G9A
		JMP SHORT G9NA
G9MR:		CMP AH, 0EH
		JZ G9A
G9NA:		MOV AL, [WADJ]
		OR AL, 88H
		OR [OPCODE], AL
		JMP MMODRM
G9RS:		XOR AL, AL
		JMP SHORT G9R
G9SR:		MOV AL, 2
G9R:		ADD AL, 8CH
		MOV [OPCODE], AL
		JMP MMODRM
G9A:		XOR BYTE PTR [OPCODE], 2
		MOV AL, [WADJ]
		OR AL, 0A0H
		OR [OPCODE], AL
		MOV AX, [DISP]
		MOV [IMM], AX
		AND BYTE PTR [FLAGS], 0E3H
		OR BYTE PTR [FLAGS], 3
		RET
