IBM 5150 PC Technical Reference (6025005, August, 1981) (PDF)

IBM 5150 PC Technical Reference (6025005, August, 1981) (PDF) IBM 5150 PC Technical Reference (6025005, August, 1981) (PDF)

classiccomputers.info
from classiccomputers.info More from this publisher
25.03.2015 Views

CLD = Clear direction S1D = Set direction 1111111001 111 111 1 0 C II = Clear interrupt S11 = Set interrupt 1111110101 111111011 HL1= Halt WAI1 = Wait 111101001 10011011 LOCK = Bus lock prefix ESC =Escape (to external device) 11110000\ 1 1 0 1 1 x x x I mod x x x rIm Footnotes: if d = 1 then "to"; if d = 0 then "from" if w = 1 then word instruction; if w = 0 then byte instruction if s:w = 01 then 16 bits of immediate data from the operand if s:w = 11 then an immediate data byte is sign extended to form the 16·bit operand ifv =0 then "count" = 1; if v =1 then "count" in (C Ll x =don't care ~ z is used for some string primitives to compare with ZF FLAG AL = 8·bit accumulator AX = 16-bit accumulator CX = Count register DS = Data segment DX = Variable port register ES = Extra segment Above/below refers to unsigned value Greater = more positive; Less = less positive (more negative) signed values B-lS

BOBBINSTRUCTION SET MATRIX LO HI 0 1 2 3 4 5 6 7 0 ADD ADD ADD ADD ADD Add PUSH PDP b.f.r/m w.f.r/m b,t,r/m w,t,r/m b.ia w.ia ES ES 1 AoC ADC AoC AoC AoC AoC PUSH PDP b.l.r/m w.f.r/m b,t.r/m w,t,r/m b.i w.i SS SS 2 AND AND AND AND AND AND SEG oAA b.f.r/m w.l.r/m b,t,r/m w,t.r/m b.i w.i =ES 3 XoR XoR XoR XDR XOR XDR SEG AAA b.t.r/m w,t,r/m b,t,r/m w,t,r/m b.i w.i =SS 4 INC INC INC INC INC INC II~C INC AX CX OX BX SP BP SI 01 5 PUSH PUSH PUSH PUSH PUSH PUSH PUSH PUSH AX CX OX BX SP BP SI 01 6 7 JD JND JBI JNBI JEI JNEI JBEI JNBEI JNAE JAE JZ JNZ JNA JA 8 Immed Immed Immed Immed TEST TEST XCHG XCHG b.r/m w.r/m b.r/m is.rim b.r/m w.r/m b.r/m w.r/m 9 NOP XCHG XCHG XCHG XCHG XCHG XCHG XCHG CX OX BX SP BP SI 01 A MoV MOV MOV MOV MOVS MOVS CMPS CMPS m~AL m~AX AL .. m AX~m b w b w B MOV MOV MOV MOV MOV MOV MOV MOV i-'>AL i+CL i.. oL i-'>BL i..AH i..CH i.. oH i .. BH C RET. RET LES LOS MOV MDV (j+SP) b.i.r/m w.i.r/m 0 Shift Shift Shift Shift AAM AAD XLAT b w b.v w.v E LOOPNZI LOOPZI LOOP JCXZ IN IN OUT OUT LOOPNE LOOPE b w b w F LOCK REP REP HLT CMC Grp 1 Grp 1 Z b.r/m w.r/m b = byte operation d = direct f = from CPU reg i = immediate ia = immed. to accum. id = indirect is = immed. byte, sign ext. I = long ie. intersegment m = memory rim = EA is second byte si = short intrasegment sr = segment register t = to CPU reg v = variable w = word operation z = zero B-16

CLD = Clear direction<br />

S1D = Set direction<br />

1111111001 111 111 1 0<br />

C II = Clear interrupt<br />

S11 = Set interrupt<br />

1111110101 111111011<br />

HL1= Halt<br />

WAI1 = Wait<br />

111101001 10011011<br />

LOCK = Bus lock prefix<br />

ESC =Escape (to external device)<br />

11110000\ 1 1 0 1 1 x x x I mod x x x rIm<br />

Footnotes:<br />

if d = 1 then "to"; if d = 0 then "from"<br />

if w = 1 then word instruction; if w = 0 then byte instruction<br />

if s:w = 01 then 16 bits of immediate data from the operand<br />

if s:w = 11 then an immediate data byte is sign extended to form the<br />

16·bit operand<br />

ifv =0 then "count" = 1; if v =1 then "count" in (C Ll<br />

x =don't care<br />

~ z is used for some string primitives to compare with ZF FLAG<br />

AL = 8·bit accumulator<br />

AX = 16-bit accumulator<br />

CX = Count register<br />

DS = Data segment<br />

DX = Variable port register<br />

ES = Extra segment<br />

Above/below refers to unsigned value<br />

Greater = more positive;<br />

Less = less positive (more negative) signed values<br />

B-lS

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!