[openfirmware] r1272 - cpu/x86

svn at openfirmware.info svn at openfirmware.info
Tue Aug 4 03:33:39 CEST 2009


Author: wmb
Date: 2009-08-04 03:33:39 +0200 (Tue, 04 Aug 2009)
New Revision: 1272

Modified:
   cpu/x86/assem.fth
Log:
Added SHRD and SHLD instructions to x86 assembler.


Modified: cpu/x86/assem.fth
===================================================================
--- cpu/x86/assem.fth	2009-08-04 01:32:33 UTC (rev 1271)
+++ cpu/x86/assem.fth	2009-08-04 01:33:39 UTC (rev 1272)
@@ -538,6 +538,14 @@
 \ LSS, LFS, LGS 
 : 16MI  CREATE  C,  DOES>  C@  prefix-0f  ASM8,  MEM,  normal  ;
 
+\ SHLD, SHRD
+: 17MI  \ name ( [ cl | imm ] reg r/m -- )
+   CREATE  C,  DOES>  C@  prefix-0f  here >r  ASM8,  ( [ cl | imm ] reg r/m r: opadr )
+   dup reg?  if  swap  else  rot  then               ( [ cl | imm ] r/m reg r: opadr )
+   r/m,                                              ( [ cl | imm ] r: opadr )
+   # =  if  ASM8, r> drop  else  r@ c@ 1+ r> c!  then
+;
+
 \ TEST  bits in dest
 : TEST   (S source dest -- )
    DUP REG?  IF
@@ -693,6 +701,8 @@
  9B  1MI WAIT           ( XCHG )  D7  1MI XLAT    30 13MI XOR
  C2 14MI +RET
 
+0AC 17MI SHRD    0A4 17MI SHLD
+
 : invd    ( -- )  prefix-0f  h# 08 asm8,  ;
 : wbinvd  ( -- )  prefix-0f  h# 09 asm8,  ;
 : wrmsr   ( -- )  prefix-0f  h# 30 asm8,  ;




More information about the openfirmware mailing list