home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
CPM
/
PARASOL
/
DISAM86.ARK
/
DIS86LBL.TBL
< prev
next >
Wrap
Text File
|
1986-10-07
|
8KB
|
236 lines
{-------------------------------------------------------------
{ lookup tables for instructions
{
{ format:
{ byte value to mask input-byte with;
{ byte value to compare against after masking
{ byte op-code type
{ string op-code mnemonic
{-------------------------------------------------------------
set v = value;
set s = string;
set b = byte;
record lookup.tbl;
b v ^hff; b v ^h06; b v 01; s 11 v 'push~09~es';
b v ^hff; b v ^h07; b v 01; s 11 v 'pop~09~es';
b v ^hff; b v ^h0e; b v 01; s 11 v 'push~09~cs';
b v ^hff; b v ^h16; b v 01; s 11 v 'push~09~ss';
b v ^hff; b v ^h17; b v 01; s 11 v 'pop~09~ss';
b v ^hff; b v ^h1e; b v 01; s 11 v 'push~09~ds';
b v ^hff; b v ^h1f; b v 01; s 11 v 'pop~09~ds';
b v ^hff; b v ^h26; b v 02; s 11 v 'es';
b v ^hff; b v ^h27; b v 01; s 11 v 'daa';
b v ^hff; b v ^h2e; b v 02; s 11 v 'cs';
b v ^hff; b v ^h2f; b v 01; s 11 v 'das';
b v ^hff; b v ^h36; b v 02; s 11 v 'ss';
b v ^hff; b v ^h37; b v 01; s 11 v 'aaa';
b v ^hff; b v ^h3e; b v 02; s 11 v 'ds';
b v ^hff; b v ^h3f; b v 01; s 11 v 'aas';
b v ^hff; b v ^h40; b v 01; s 11 v 'inc~09~ax';
b v ^hff; b v ^h41; b v 01; s 11 v 'inc~09~cx';
b v ^hff; b v ^h42; b v 01; s 11 v 'inc~09~dx';
b v ^hff; b v ^h43; b v 01; s 11 v 'inc~09~bx';
b v ^hff; b v ^h44; b v 01; s 11 v 'inc~09~sp';
b v ^hff; b v ^h45; b v 01; s 11 v 'inc~09~bp';
b v ^hff; b v ^h46; b v 01; s 11 v 'inc~09~si';
b v ^hff; b v ^h47; b v 01; s 11 v 'inc~09~di';
b v ^hff; b v ^h48; b v 01; s 11 v 'dec~09~ax';
b v ^hff; b v ^h49; b v 01; s 11 v 'dec~09~cx';
b v ^hff; b v ^h4a; b v 01; s 11 v 'dec~09~dx';
b v ^hff; b v ^h4b; b v 01; s 11 v 'dec~09~bx';
b v ^hff; b v ^h4c; b v 01; s 11 v 'dec~09~sp';
b v ^hff; b v ^h4d; b v 01; s 11 v 'dec~09~bp';
b v ^hff; b v ^h4e; b v 01; s 11 v 'dec~09~si';
b v ^hff; b v ^h4f; b v 01; s 11 v 'dec~09~di';
b v ^hff; b v ^h50; b v 01; s 11 v 'push~09~ax';
b v ^hff; b v ^h51; b v 01; s 11 v 'push~09~cx';
b v ^hff; b v ^h52; b v 01; s 11 v 'push~09~dx';
b v ^hff; b v ^h53; b v 01; s 11 v 'push~09~bx';
b v ^hff; b v ^h54; b v 01; s 11 v 'push~09~sp';
b v ^hff; b v ^h55; b v 01; s 11 v 'push~09~bp';
b v ^hff; b v ^h56; b v 01; s 11 v 'push~09~si';
b v ^hff; b v ^h57; b v 01; s 11 v 'push~09~di';
b v ^hff; b v ^h58; b v 01; s 11 v 'pop~09~ax';
b v ^hff; b v ^h59; b v 01; s 11 v 'pop~09~cx';
b v ^hff; b v ^h5a; b v 01; s 11 v 'pop~09~dx';
b v ^hff; b v ^h5b; b v 01; s 11 v 'pop~09~bx';
b v ^hff; b v ^h5c; b v 01; s 11 v 'pop~09~sp';
b v ^hff; b v ^h5d; b v 01; s 11 v 'pop~09~bp';
b v ^hff; b v ^h5e; b v 01; s 11 v 'pop~09~si';
b v ^hff; b v ^h5f; b v 01; s 11 v 'pop~09~di';
b v ^hff; b v ^h70; b v 03; s 11 v 'jo';
b v ^hff; b v ^h71; b v 03; s 11 v 'jno';
b v ^hff; b v ^h72; b v 03; s 11 v 'jc';
b v ^hff; b v ^h73; b v 03; s 11 v 'jnc';
b v ^hff; b v ^h74; b v 03; s 11 v 'jz';
b v ^hff; b v ^h75; b v 03; s 11 v 'jnz';
b v ^hff; b v ^h76; b v 03; s 11 v 'jna';
b v ^hff; b v ^h77; b v 03; s 11 v 'ja';
b v ^hff; b v ^h78; b v 03; s 11 v 'js';
b v ^hff; b v ^h79; b v 03; s 11 v 'jns';
b v ^hff; b v ^h7a; b v 03; s 11 v 'jpe';
b v ^hff; b v ^h7b; b v 03; s 11 v 'jpo';
b v ^hff; b v ^h7c; b v 03; s 11 v 'jl';
b v ^hff; b v ^h7d; b v 03; s 11 v 'jnl';
b v ^hff; b v ^h7e; b v 03; s 11 v 'jng';
b v ^hff; b v ^h7f; b v 03; s 11 v 'jg';
b v ^hff; b v ^h90; b v 01; s 11 v 'nop';
b v ^hff; b v ^h91; b v 01; s 11 v 'xchg~09~ax,cx';
b v ^hff; b v ^h92; b v 01; s 11 v 'xchg~09~ax,dx';
b v ^hff; b v ^h93; b v 01; s 11 v 'xchg~09~ax,bx';
b v ^hff; b v ^h94; b v 01; s 11 v 'xchg~09~ax,sp';
b v ^hff; b v ^h95; b v 01; s 11 v 'xchg~09~ax,bp';
b v ^hff; b v ^h96; b v 01; s 11 v 'xchg~09~ax,si';
b v ^hff; b v ^h97; b v 01; s 11 v 'xchg~09~ax,di';
b v ^hff; b v ^h98; b v 01; s 11 v 'cbw';
b v ^hff; b v ^h99; b v 01; s 11 v 'cwd';
b v ^hff; b v ^h9b; b v 01; s 11 v 'wait';
b v ^hff; b v ^h9c; b v 01; s 11 v 'pushf';
b v ^hff; b v ^h9d; b v 01; s 11 v 'popf';
b v ^hff; b v ^h9e; b v 01; s 11 v 'sahf';
b v ^hff; b v ^h9f; b v 01; s 11 v 'lahf';
b v ^hff; b v ^hc3; b v 01; s 11 v 'ret';
b v ^hff; b v ^hcb; b v 01; s 11 v 'ret~09~far';
b v ^hff; b v ^hcc; b v 01; s 11 v 'int3';
b v ^hff; b v ^hce; b v 01; s 11 v 'into';
b v ^hff; b v ^hcf; b v 01; s 11 v 'iret';
b v ^hff; b v ^hd7; b v 01; s 11 v 'xlat~09~bx';
b v ^hff; b v ^hec; b v 01; s 11 v 'in~09~al,dx';
b v ^hff; b v ^hed; b v 01; s 11 v 'in~09~ax,dx';
b v ^hff; b v ^hee; b v 01; s 11 v 'out~09~dx,al';
b v ^hff; b v ^hef; b v 01; s 11 v 'out~09~dx,ax';
b v ^hff; b v ^hf1; b v 28; s 11 v 'lock';
b v ^hff; b v ^hf2; b v 28; s 11 v 'repnz';
b v ^hff; b v ^hf3; b v 28; s 11 v 'repz';
b v ^hff; b v ^hf4; b v 01; s 11 v 'hlt';
b v ^hff; b v ^hf5; b v 01; s 11 v 'cmc';
b v ^hff; b v ^hf8; b v 01; s 11 v 'clc';
b v ^hff; b v ^hf9; b v 01; s 11 v 'stc';
b v ^hff; b v ^hfa; b v 01; s 11 v 'cli';
b v ^hff; b v ^hfb; b v 01; s 11 v 'sti';
b v ^hff; b v ^hfc; b v 01; s 11 v 'cld';
b v ^hff; b v ^hfd; b v 01; s 11 v 'std';
b v ^hc4; b v ^h00; b v 05; s 11 v 'basic-op';
b v ^hc6; b v ^h04; b v 06; s 11 v 'basic-op';
b v ^hfc; b v ^h80; b v 07; s 11 v 'basic-op';
b v ^hfe; b v ^h84; b v 09; s 11 v 'test';
b v ^hfe; b v ^h86; b v 09; s 11 v 'xchg';
b v ^hfc; b v ^h88; b v 10; s 11 v 'mov';
b v ^hff; b v ^h8c; b v 12; s 11 v 'mov';
b v ^hff; b v ^h8d; b v 11; s 11 v 'lea';
b v ^hff; b v ^h8e; b v 12; s 11 v 'mov';
b v ^hff; b v ^h8f; b v 13; s 11 v 'pop';
b v ^hff; b v ^h9a; b v 14; s 11 v 'call~09~far';
b v ^hfc; b v ^ha0; b v 15; s 11 v 'mov';
b v ^hfe; b v ^ha4; b v 16; s 11 v 'movs';
b v ^hfe; b v ^ha6; b v 16; s 11 v 'cmps';
b v ^hfe; b v ^ha8; b v 17; s 11 v 'test';
b v ^hfe; b v ^haa; b v 16; s 11 v 'stos';
b v ^hfe; b v ^hac; b v 16; s 11 v 'lods';
b v ^hfe; b v ^hae; b v 16; s 11 v 'scas';
b v ^hf0; b v ^hb0; b v 18; s 11 v 'mov';
b v ^hff; b v ^hc2; b v 19; s 11 v 'ret';
b v ^hff; b v ^hc4; b v 29; s 11 v 'les';
b v ^hff; b v ^hc5; b v 29; s 11 v 'lds';
b v ^hfe; b v ^hc6; b v 20; s 11 v 'mov';
b v ^hff; b v ^hca; b v 19; s 11 v 'ret~09~far';
b v ^hff; b v ^hcd; b v 21; s 11 v 'int';
b v ^hfc; b v ^hd0; b v 22; s 11 v 'shift-op';
b v ^hff; b v ^hd4; b v 23; s 11 v 'aam';
b v ^hff; b v ^hd5; b v 23; s 11 v 'aad';
b v ^hf8; b v ^hd8; b v 24; s 11 v 'esc';
b v ^hff; b v ^he0; b v 03; s 11 v 'loopnz';
b v ^hff; b v ^he1; b v 03; s 11 v 'loopz';
b v ^hff; b v ^he2; b v 03; s 11 v 'loop';
b v ^hff; b v ^he3; b v 03; s 11 v 'jcxz';
b v ^hfe; b v ^he4; b v 17; s 11 v 'in';
b v ^hfe; b v ^he6; b v 17; s 11 v 'out';
b v ^hff; b v ^he8; b v 25; s 11 v 'call';
b v ^hff; b v ^he9; b v 25; s 11 v 'jmp';
b v ^hff; b v ^hea; b v 14; s 11 v 'jmp~09~far';
b v ^hff; b v ^heb; b v 03; s 11 v 'jmp~09~short';
b v ^hfe; b v ^hf6; b v 26; s 11 v 'ext-op';
b v ^hfe; b v ^hfe; b v 27; s 11 v 'misc-op';
endrec;
byte lookup.end;
record basic.op.tbl;
s basic.op.entry 4 value 'add';
s 4 value 'or';
s 4 value 'adc';
s 4 value 'sbb';
s 4 value 'and';
s 4 value 'sub';
s 4 value 'xor';
s 4 value 'cmp';
endrec;
record f6.f7.op.tbl;
s f6.f7.op.entry 5 value 'test';
s 5 value '***';
s 5 value 'not';
s 5 value 'neg';
s 5 value 'mul';
s 5 value 'imul';
s 5 value 'div';
s 5 value 'idiv';
endrec;
record shift.ops;
s shift.op.entry 4 value 'rol';
s 4 value 'ror';
s 4 value 'rcl';
s 4 value 'rcr';
s 4 value 'shl';
s 4 value 'shr';
s 4 value '***'; {--sal = shl--}
s 4 value 'sar';
endrec;
record reg.name.tbl;
s reg.name.entry 3 value 'al';
s 3 value 'cl';
s 3 value 'dl';
s 3 value 'bl';
s 3 value 'ah';
s 3 value 'ch';
s 3 value 'dh';
s 3 value 'bh';
s 3 value 'ax';
s 3 value 'cx';
s 3 value 'dx';
s 3 value 'bx';
s 3 value 'sp';
s 3 value 'bp';
s 3 value 'si';
s 3 value 'di';
endrec;
record seg.reg.tbl;
s seg.reg.entry 3 value 'es';
s 3 value 'cs';
s 3 value 'ss';
s 3 value 'ds';
endrec;
record mod.r.m.txt.tbl;
s mod.r.m.txt.entry 9 value '[bx+si]';
s 9 value '[bx+di]';
s 9 value '[bp+si]';
s 9 value '[bp+di]';
s 9 value '[si]';
s 9 value '[di]';
s 9 value '[bp]';
s 9 value '[bx]';
endrec;