=====================================================================
Sat 12 Feb 94  0:22
By: Dmitry Kohmanyuk
To: Alexei Diakov
Re:   NEC' p?
=====================================================================
Hi, Alexei,

 at Feb 09, Alex Iliynsky wrote to you:

 AD> H  p  p ᯥ殢  pp p NEC, 
 AD> ⮫ p᭨  祬 NEC V20/V30 ⫨砥  8088/8086 
 AD>   ᫠  㤠 ᫥? ᮡ p ⫨ 
 AD> ⥬ .

 AI>  ᭮ ⫨稥 - 稥 ⥬  8085 ᫨ 
 AI> 訡.   p p     p
 AI> ᯥ樠쭮 ,    8085  p
 AI> p⭮. ᫨ ⥡ 㦭

 ᮢᥬ  ⮩ 堪  v20/v30,  ,    ࠡ
᭮ (?) 樨 80186 (push const, shr rm,const, ...)
  ᢮ ᮡ⢥  , 㭨  
(repc/repnc, bcd-䬥⨪,  - (, ࠡ  ⠬)).

 娢稪  .uue... , ࠧ㬠 - 2.7 ᥣ, ⠪  ন !


;==================================================================
;
;   v20ops.asm: code macros for specific NEC V20 instructions
;
;   NOTE: The following macros are for use with Intel's
;   macro assembler, not MASM-compatible!
;
;   Source: (unknown)
;   Packaged by: Dmitry Kohmanyuk, dk@cs.kiev.ua
;   Date: 06/09/92
;
;===================================================================

$NoList

;   Repeat Prefixes

CodeMacro   REPC    Prefx
    DB  065H
EndM

CodeMacro   REPNC   Prefx
    DB  064H
EndM


;   Bit Field Instructions

CodeMacro   INS dst : Rb, src : Rb
    DW  0310FH
    ModRM   src, dst
EndM

CodeMacro   INS dst : Rb, count : D(0,15)
    DW  0390FH
    ModRM   0, dst
    DB  count
EndM

CodeMacro   EXT dst : Rb, src : Rb
    DW  0330FH
    ModRM   src, dst
EndM

CodeMacro   EXT dst : Rb, count : D(0,15)
    DW  03B0FH
    ModRM   0, dst
    DB  count
EndM


;   Bit Manipulation Instructions

CodeMacro   TEST1   dst : Eb, off : Rb(CL)
    Segfix  dst
    DW  100FH
    ModRM   0, dst
EndM

CodeMacro   TEST1   dst : Ew, off : Rb(CL)
    Segfix  dst
    DW  110FH
    ModRM   0, dst
EndM

CodeMacro   TEST1   dst : Eb, off : D(0,7)
    Segfix  dst
    DW  180FH
    ModRM   0, dst
    DB  off
EndM

CodeMacro   TEST1   dst : Ew, off : D(0,15)
    Segfix  dst
    DW  190FH
    ModRM   0, dst
    DB  off
EndM

CodeMacro   SET1    dst : Eb, off : Rb(CL)
    Segfix  dst
    DW  140FH
    ModRM   0, dst
EndM

CodeMacro   SET1    dst : Ew, off : Rb(CL)
    Segfix  dst
    DW  150FH
    ModRM   0, dst
EndM

CodeMacro   SET1    dst : Eb, off : D(0,7)
    Segfix  dst
    DW  1C0FH
    ModRM   0, dst
    DB  off
EndM

CodeMacro   SET1    dst : Ew, off : D(0,15)
    Segfix  dst
    DW  1D0FH
    ModRM   0, dst
    DB  off
EndM

CodeMacro   NOT1    dst : Eb, off : Rb(CL)
    Segfix  dst
    DW  160FH
    ModRM   0, dst
EndM

CodeMacro   NOT1    dst : Ew, off : Rb(CL)
    Segfix  dst
    DW  170FH
    ModRM   0, dst
EndM

CodeMacro   NOT1    dst : Eb, off : D(0,7)
    Segfix  dst
    DW  1E0FH
    ModRM   0, dst
    DB  off
EndM

CodeMacro   NOT1    dst : Ew, off : D(0,15)
    Segfix  dst
    DW  1F0FH
    ModRM   0, dst
    DB  off
EndM

CodeMacro   CLR1    dst : Eb, off : Rb(CL)
    Segfix  dst
    DW  120FH
    ModRM   0, dst
EndM

CodeMacro   CLR1    dst : Ew, off : Rb(CL)
    Segfix  dst
    DW  130FH
    ModRM   0, dst
EndM

CodeMacro   CLR1    dst : Eb, off : D(0,7)
    Segfix  dst
    DW  1A0FH
    ModRM   0, dst
    DB  off
EndM

CodeMacro   CLR1    dst : Ew, off : D(0,15)
    Segfix  dst
    DW  1B0FH
    ModRM   0, dst
    DB  off
EndM


;   Emulation Mode Instructions

CodeMacro   BRKEM   vector : Db
    DW  0FF0FH
    DB  vector
EndM


;   BCD String Arithmetic

CodeMacro   ADD4S
    DW  200FH
EndM

CodeMacro   ADD4S   dst:M, src:M
    NoSegfix    ES, dst
    Segfix      src
    DW  200FH
EndM

CodeMacro   SUB4S
    DW  220FH
EndM

CodeMacro   SUB4S   dst:M, src:M
    NoSegfix    ES, dst
    Segfix      src
    DW  220FH
EndM

CodeMacro   CMP4S
    DW  260FH
EndM

CodeMacro   CMP4S   dst:M, src:M
    NoSegfix    ES, dst
    Segfix      src
    DW  260FH
EndM


;   BCD Rotates

CodeMacro   ROL4    dst:Eb
    Segfix  dst
    DW  280FH
    ModRM   0, dst
EndM

CodeMacro   ROR4    dst:Eb
    Segfix  dst
    DW  2A0FH
    ModRM   0, dst
EndM

$List

## dk
-+- timEd-B11
 + Origin:    ࠢ,   - ࠢ  (2:463/62.42)


