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, ;
openfirmware@openfirmware.info