Table of contents
MOVEFROMCREG
Retrieves data from CBUS register. Register address is encoded as CONST.0E+#imm. It seems that src1 is used for address. p6dis/p6as handle this automatically (p6dis decodes to CRBUS register names)
On Core2 there is HI/LO modifier, LO modifier accesses crbus 0..1ff, HI modifier is for 200..3ff.
BX = MOVEFROMCREG (CONST_0E+042 , CONST_0E+042 ) EAX = MOVEFROMCREG (CONST_0E+161 , CONST_0E+161 ) EAX = MOVEFROMCREG (TMP7 , CONST_0 , U2_20) R34 = MOVEFROMCREG (CR_SCP8 , R35 )
On core2:
.org 0x7f80 RBX = MOVEFROMCREG.LO(RAX, RAX /* s timhle to nefunguje: U4:0000 0000 0010 0000 0000 0000 0000 0000 */) RCX = MOVEFROMCREG.HI(RAX, RAX /* s timhle to nefunguje: U4:0000 0000 0010 0000 0000 0000 0000 0000 */) EOM MOVE.DSZ32 (CONST , CONST_0 , U4.00040000) EOM MOVE.DSZ32 (CONST , CONST_0 , U4.00040000) EOM MOVE.DSZ32 (CONST , CONST_0 , U4.00040000) .end b8F20000000f33c3c3c3c3c3Assembles on core2 as (triad, raw msram line):
7F80: 000638001C1C1D800000 000738001C1C1C800000 4000000060000000000800002 FF00: 0FC283F0 04200008 00003602 40000000 21001400 0480B216 00000000 20000000
The author is not affiliated with, endorsed by, or sponsored by Intel Corporation or its affiliates. All trademarks, including but not limited to Intel, Pentium, and any other registered or unregistered marks mentioned herein, are the property of their respective owners. Their use in this context is solely for descriptive and informational purposes and constitutes nominative fair use under applicable trademark laws.