78 lines
1.3 KiB
Tcl
78 lines
1.3 KiB
Tcl
set instructions {
|
|
{nop}
|
|
{retn}
|
|
{retf}
|
|
{leave}
|
|
{popf}
|
|
{pushf}
|
|
{syscall}
|
|
{cpuid}
|
|
{fnop}
|
|
{fchs}
|
|
{fabs}
|
|
{ftst}
|
|
{fxam}
|
|
{fld1}
|
|
{fldl2t}
|
|
{fldl2e}
|
|
{fldpi}
|
|
{fldlg2}
|
|
{fldln2}
|
|
{fldz}
|
|
{f2xm1}
|
|
{fyl2x}
|
|
{fptan}
|
|
{fpatan}
|
|
{fxtract}
|
|
{fprem1}
|
|
{fdecstp}
|
|
{fincstp}
|
|
{fprem}
|
|
{fyl2xp1}
|
|
{fsqrt}
|
|
{fsincos}
|
|
{frndint}
|
|
{fscale}
|
|
{fsin}
|
|
{fcos}
|
|
{jmp relative}
|
|
{je relative}
|
|
{jne relative}
|
|
{inc register}
|
|
{dec register}
|
|
{not register}
|
|
{neg register}
|
|
{mul register}
|
|
{imul register}
|
|
{div register}
|
|
{idiv register}
|
|
{pop register}
|
|
{inc memory}
|
|
{dec memory}
|
|
{not memory}
|
|
{neg memory}
|
|
{mul memory}
|
|
{imul memory}
|
|
{div memory}
|
|
{idiv memory}
|
|
{add register register}
|
|
{or register register}
|
|
{adc register register}
|
|
{sbb register register}
|
|
{and register register}
|
|
{and register immediate}
|
|
{sub register register}
|
|
{xor register register}
|
|
{cmp register register}
|
|
{cmp register immediate}
|
|
{mov register register}
|
|
{mov register immediate}
|
|
{mov register memory}
|
|
{mov memory register}
|
|
{sar register immediate}
|
|
}
|
|
|
|
proc malformed_instruction {i} {
|
|
error [format "Instruction {%s} is malformed" [join $i ", "]]
|
|
}
|