示例#1
0
文件: io.cpp 项目: MasterQ32/trainOS
ExceptionCode inb(VMValue &result, const VMArray &args)
{
	if(args.length() != 1)
		return ExceptionCode::InvalidArgument;
	if(args[0].type() != VMType::UInt16)
		return ExceptionCode::InvalidArgument;

	result = VMValue::UInt8(
		::inb(args[0].value<VMUInt16>()));

	return ExceptionCode::None;
}
示例#2
0
文件: io.cpp 项目: MasterQ32/trainOS
ExceptionCode outb(VMValue &, const VMArray &args)
{
	if(args.length() != 2)
		return ExceptionCode::InvalidArgument;
	if(args[0].type() != VMType::UInt16)
		return ExceptionCode::InvalidArgument;
	if(args[1].type() != VMType::UInt8)
		return ExceptionCode::InvalidArgument;

	::outb(args[0].value<VMUInt16>(), args[1].value<VMUInt8>());

	return ExceptionCode::None;
}