|
|
@@ -158,7 +158,38 @@ For jumps, it's special. 's' is SHORT, 'n' is NEAR, 'f' is FAR. |
|
|
|
|
|
|
|
# 8086 Instructions list |
|
|
|
|
|
|
|
TODO |
|
|
|
r -> AL BL CL DL AH BH CH DX |
|
|
|
x -> AX BX CX DX SP BP SI DI |
|
|
|
s -> ES CS SS DS |
|
|
|
[] -> [SI] [DI] [BP] [BX] [BX+SI] [BX+DI] [BP+SI] [BP+DI] |
|
|
|
|
|
|
|
RET CLI STI HLT CLD STD NOP CBW REPZ REPNZ |
|
|
|
LODSB LODSW CMPSB SMPSW MOVSB MOVSW SCASB SCASW STOSB STOSW |
|
|
|
|
|
|
|
CALL J[Z,NZ,C,NC] JMP[s,n,r,f] |
|
|
|
|
|
|
|
INC[r,x,[w],[b],[w]+,[b]+] |
|
|
|
DEC[r,x,[w],[b],[w]+,[b]+] |
|
|
|
POP[x,[w],[w]+] |
|
|
|
PUSH[x,[w],[w]+,s] |
|
|
|
MUL[r,x] |
|
|
|
DIV[r,x] |
|
|
|
XOR[rr,xx] |
|
|
|
OR[rr,xx] |
|
|
|
AND[rr,xx,ALi,AXI] |
|
|
|
ADD[rr,xx,ALi,AXI,xi] |
|
|
|
SUB[rr,xx,ALi,AXI,xi] |
|
|
|
INT |
|
|
|
|
|
|
|
CMP[rr,xx,r[],x[],r[]+,x[]+] |
|
|
|
MOV[rr,xx,r[],x[],[]r,[]x,r[]+,x[]+,[]+r,[]+x,ri,xI,sx,rm,xm |
|
|
|
mr,mx] |
|
|
|
|
|
|
|
("1" means "shift by 1", "CL" means "shift by CL") |
|
|
|
ROL[r1,x1,rCL,xCL] |
|
|
|
ROR[r1,x1,rCL,xCL] |
|
|
|
SHL[r1,x1,rCL,xCL] |
|
|
|
SHR[r1,x1,rCL,xCL] |
|
|
|
|
|
|
|
# AVR assembler |
|
|
|
|
|
|
|