public final void register(InstructionSet is)
	{
		int base = 0x41c0;
		Instruction i = new Instruction() {
			public int execute(int opcode)
			{
				return lea(opcode);
			}
			public DisassembledInstruction disassemble(int address, int opcode)
			{
				return disassembleOp(address, opcode, Size.Long);
			}
		};
		
		for(int ea_mode = 2; ea_mode < 8; ea_mode++)
		{
			if(ea_mode == 3 || ea_mode == 4)
				continue;

			for(int ea_reg = 0; ea_reg < 8; ea_reg++)
			{
				if(ea_mode == 7 && ea_reg > 3)
					break;

				for(int r = 0; r < 8; r++)
				{
					is.addInstruction(base + (r << 9) + (ea_mode << 3) + ea_reg, i);
				}
			}
		}
	}