| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- DEFINITION MODULE CompilerEmit ;
- (* Primitive 8086 emitters and patch machinery. Implementation:
- CompilerEmit.mod. State is in CompilerShared. *)
- FROM SYSTEM IMPORT BYTE ;
- PROCEDURE Ebyte (b : BYTE) ;
- PROCEDURE Eword (w : CARDINAL) ;
- PROCEDURE PatchWord (at, w : CARDINAL) ;
- PROCEDURE AddPatch (place, target : CARDINAL) ;
- PROCEDURE SetPatTgt (idx, t : CARDINAL) ;
- PROCEDURE EmCall (target : CARDINAL) : CARDINAL ;
- PROCEDURE EmJmpNear (target : CARDINAL) : CARDINAL ;
- PROCEDURE JccShort (cc : BYTE) : BYTE ;
- PROCEDURE JccShortInv (cc : BYTE) : BYTE ;
- PROCEDURE EmJcc (cc : BYTE ; target : CARDINAL) : CARDINAL ;
- PROCEDURE ResolvePatches () ;
- PROCEDURE EmMovAxi (imm : CARDINAL) ;
- PROCEDURE EmMovCxi (imm : CARDINAL) ;
- PROCEDURE EmMovBpSp () ;
- PROCEDURE EmMovAh0 () ;
- PROCEDURE EmMovAxSp () ;
- PROCEDURE EmMovCxSp () ;
- PROCEDURE EmPushAx () ;
- PROCEDURE EmPopCx () ;
- PROCEDURE EmPopDx () ;
- PROCEDURE EmPopSi () ;
- PROCEDURE EmPopAx () ;
- PROCEDURE EmPushBx () ;
- PROCEDURE EmPushCx () ;
- PROCEDURE EmPushDx () ;
- PROCEDURE EmPopBx () ;
- PROCEDURE EmMovAxCx () ;
- PROCEDURE EmMovChAl () ;
- PROCEDURE EmMovChImm (v : CARDINAL) ;
- PROCEDURE EmXchgAxCx () ;
- PROCEDURE EmXorAxAx () ;
- PROCEDURE EmAddAxCx () ;
- PROCEDURE EmSubAxCx () ;
- PROCEDURE EmMulAxCx () ;
- PROCEDURE EmIDivAxCx () ;
- PROCEDURE EmAndAxCx () ;
- PROCEDURE EmOrAxCx () ;
- PROCEDURE EmOrAxAx () ;
- PROCEDURE EmNegAx () ;
- PROCEDURE EmNotAx () ;
- PROCEDURE EmXorAl01 () ;
- PROCEDURE EmCmpAxCx () ;
- PROCEDURE EmCmpAxi (imm : CARDINAL) ;
- PROCEDURE EmSetcc (cc : BYTE) ;
- PROCEDURE EmRelSetcc (op : CARDINAL) ;
- PROCEDURE EmIncAx () ;
- PROCEDURE EmDecAx () ;
- PROCEDURE EmBpDisp (off, regf : CARDINAL) ;
- PROCEDURE EmBxDisp (off, regf : CARDINAL) ;
- PROCEDURE EmMovBxBp () ;
- PROCEDURE EmMovDxBp () ;
- PROCEDURE EmMovDxBx () ;
- PROCEDURE EmMovDxAx () ;
- PROCEDURE EmMovAxDx () ;
- PROCEDURE EmLdBxBx (off : CARDINAL) ;
- PROCEDURE EmLoadVarBx (off, nbytes : CARDINAL) ;
- PROCEDURE EmStoreVarBx (off, nbytes : CARDINAL) ;
- PROCEDURE EmLeaDiBx (off : CARDINAL) ;
- END CompilerEmit.
|