// The OS/K Team licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. #include IMPL_START_1(trap) { if (v1 > 255) _except(ctx, E_ILL, "TRAP number greater than 255"); _except(ctx, v1 + 256, "TRAP instruction"); } IMPL_END; IMPL_START_0(into) { if (R(RFX) & OF) _except(ctx, E_OVF, "INTO instruction with FLG.OF=1"); } IMPL_END; // XXX more checks IMPL_START_0(iret) { trace("\nReturning from exception #%ld\n\n", R(R11)); R(RIP) = R(R13); rfs_current_idx = R(R12); ctx->rf = rfs[R(R12)]; } IMPL_END;