- ↑ IicHandlers
- assemble Cyrix-specific machine instructions.
- See also
- IiHandlers,
[Cyrix686]
[Cyrix686ap]
iic PROGRAM FORMAT=COFF,MODEL=FLAT,WIDTH=32
INCLUDEHEAD "euroasm.htm" ; Interface (structures, symbols and macros) of other modules.
INCLUDEHEAD \ ; Include headers of another modules used in this module.
ea.htm, \
eaopt.htm, \
exp.htm, \
ii.htm, \
msg.htm, \
pgm.htm, \
pgmopt.htm, \
sss.htm, \
stm.htm, \
sym.htm, \
syswin.htm, \
;;
iic HEAD ; Start of module interface.
- ↑ %IicList
- enumerates machine instructions
of this family which €ASM can assemble.
Each instruction declared in %IicList
requires the corresponding
handler in this file.
- See also
- DictLookupIi
%IicList %SET \
BB0_RESET, \
BB1_RESET, \
CPU_READ, \
CPU_WRITE, \
DMINT, \
PADDSIW, \
PAVEB, \
PDISTIB, \
PMAGW, \
PMACHRIW, \
PMULHRIW, \
PMULHRWC, \
PMVGEZB, \
PMVLZB, \
PMVNZB, \
PMVZB, \
PSUBSIW, \
RDM, \
RDSHR, \
RSDC, \
RSLDT, \
RSTS, \
SMINT, \
SMINTOLD, \
SVDC, \
SVLDT, \
SVTS, \
WRSHR, \
;
ENDHEAD iic ; End of module interface.
- ↑ PDISTIB
- Packed Distance and Accumulate with Implied destination.
- Category
- SSE Cyrix
- Operands
- mmx, mem
- Opcode
- 0x0F54 /r
- CPU
- 586, Cyrix
- Documented
- Sandpile
- Tested by
- t3605
IicPDISTIB:: PROC
MOV CL,0x54
.op:IiRequire 586,MMX,CYRIX
IiEmitOpcode 0x0F,ECX
IiOpEn RM
IiModRM /r
IiDispatchFormat mmx.mem
.mmx.mem:
RET
ENDP IicPDISTIB::
- ↑ PMVZB
- Packed Conditional Move if zero.
- Category
- SSE Cyrix
- Operands
- mmx, mem
- Opcode
- 0x0F58 /r
- CPU
- 586, Cyrix
- Documented
- Sandpile
- Tested by
- t3605
IicPMVZB:: PROC
MOV CL,0x58
JMP IicPDISTIB.op:
ENDP IicPMVZB::
- ↑ PMVNZB
- Packed Conditional Move if not zero.
- Category
- SSE Cyrix
- Operands
- mmx, mem
- Opcode
- 0x0F5A /r
- CPU
- 586, Cyrix
- Documented
- Sandpile
- Tested by
- t3605
IicPMVNZB:: PROC
MOV CL,0x5A
JMP IicPDISTIB.op:
ENDP IicPMVNZB::
- ↑ PMVLZB
- Packed Conditional Move if less than zero.
- Category
- SSE Cyrix
- Operands
- mmx, mem
- Opcode
- 0x0F5B /r
- CPU
- 586, Cyrix
- Documented
- Sandpile
- Tested by
- t3605
IicPMVLZB:: PROC
MOV CL,0x5B
JMP IicPDISTIB.op:
ENDP IicPMVLZB::
- ↑ PMVGEZB
- Packed Conditional Move if greater than or equal to zero.
- Category
- SSE Cyrix
- Operands
- mmx, mem
- Opcode
- 0x0F5C /r
- CPU
- 586, Cyrix
- Documented
- Sandpile
- Tested by
- t3605
IicPMVGEZB:: PROC
MOV CL,0x5C
JMP IicPDISTIB.op:
ENDP IicPMVGEZB::
- ↑ PMACHRIW
- Packed Multiply and Accumulate with Rounding.
- Category
- SSE Cyrix
- Operands
- mmx, mem
- Opcode
- 0x0F5E /r
- CPU
- 586, Cyrix
- Documented
- Sandpile
- Tested by
- t3605
IicPMACHRIW:: PROC
MOV CL,0x5E
JMP IicPDISTIB.op:
ENDP IicPMACHRIW::
- ↑ PAVEB
- Packed Average Byte.
- Category
- SSE Cyrix
- Operands
- xxm,xxm | xxm,mem
- Opcode
- 0x0F50 /r
- CPU
- 586, Cyrix
- Documented
- Sandpile
- Tested by
- t3610
IicPAVEB:: PROC
MOV CL,0x50
.op:IiRequire 586,MMX,CYRIX
IiEmitOpcode 0x0F,ECX
IiEncoding DATA=QWORD
IiOpEn RM
IiModRM /r
IiDispatchFormat mmx.mem, mmx.mmx
.mmx.mmx:
.mmx.mem:
RET
ENDP IicPAVEB::
- ↑ PADDSIW
- Packed Add with Saturation with Implied destination.
- Category
- SSE Cyrix
- Operands
- xxm,xxm | xxm,mem
- Opcode
- 0x0F51 /r
- CPU
- 586, Cyrix
- Documented
- Sandpile
- Tested by
- t3610
IicPADDSIW:: PROC
MOV CL,0x51
JMP IicPAVEB.op:
ENDP IicPADDSIW::
- ↑ PMAGW
- Packed Magnitude.
- Category
- SSE Cyrix
- Operands
- xxm,xxm | xxm,mem
- Opcode
- 0x0F52 /r
- CPU
- 586, Cyrix
- Documented
- Sandpile
- Tested by
- t3610
IicPMAGW:: PROC
MOV CL,0x52
JMP IicPAVEB.op:
ENDP IicPMAGW::
- ↑ PSUBSIW
- Packed Subtract with Saturation with Implied destination.
- Category
- SSE Cyrix
- Operands
- xxm,xxm | xxm,mem
- Opcode
- 0x0F55 /r
- CPU
- 586, Cyrix
- Documented
- Sandpile
- Tested by
- t3610
IicPSUBSIW:: PROC
MOV CL,0x55
JMP IicPAVEB.op:
ENDP IicPSUBSIW::
- ↑ PMULHRWC
- Packed Multiply High with Rounding (Cyrix)
- Category
- SSE Cyrix
- Operands
- xxm,xxm | xxm,mem
- Opcode
- 0x0F59 /r
- Remark
- Documented as PMULHRW
0x0F59 /r
by Cyrix,
but the same mnemonic is also used by AMD 3DNow! 0x0F0F /r 0xB7
(Packed 16-bit integer multiply with rounding), so this Cyrix variant
is renamed to PMULHRWC and AMD variant PMULHRW is aliased to PMULHRWA
in €ASM as well as in
NASM.
- CPU
- 586, Cyrix
- Documented
- Sandpile
- See also
- PMULHRW,
PMULHRWA.
- Tested by
- t3610
IicPMULHRWC:: PROC
MOV CL,0x59
JMP IicPAVEB.op:
ENDP IicPMULHRWC::
- ↑ PMULHRIW
- Packed Multiply High with Rounding with Implied destination.
- Category
- SSE Cyrix
- Operands
- xxm,xxm | xxm,mem
- Opcode
- 0x0F5D /r
- CPU
- 586, Cyrix
- Documented
- Sandpile
- Tested by
- t3610
IicPMULHRIW:: PROC
MOV CL,0x5D
JMP IicPAVEB.op:
ENDP IicPMULHRIW::
- ↑ RDSHR
- Read SMM Header Pointer Register
- Category
- system
- Operands
- r32/m32
- Opcode
- 0x0F36 /0
- Documented
- [Cyrix686]
- Tested by
- t4200
IicRDSHR:: PROC
IiRequire 686,CYRIX,PRIV
IiEmitOpcode 0x0F,0x36
IiOpEn M
IiModRM /0
IiEncoding DATA=DWORD
IiDispatchFormat r32,mem
.r32:
.mem:RET
ENDP IicRDSHR::
- ↑ WRSHR
- Write SMM Header Pointer Register
- Category
- system
- Operands
- r32/m32
- Opcode
- 0x0F37 /0
- Documented
- [Cyrix686]
- See also
- GETSEC (same opcode)
- Tested by
- t4200
IicWRSHR:: PROC
IiRequire 686,CYRIX,PRIV
IiEmitOpcode 0x0F,0x37
IiOpEn M
IiModRM /0
IiEncoding DATA=DWORD
IiDispatchFormat r32,mem
.r32:
.mem:RET
ENDP IicWRSHR::
- ↑ SVDC
- Save Segment Register and Descriptor
- Category
- system
- Opcode
- 0x0F78 /r
- Tested by
- t4205
IicSVDC:: PROC
IiRequire 486,CYRIX,PRIV
IiEmitOpcode 0x0F,0x78
IiOpEn MR
IiModRM /r
IiEncoding DATA=TBYTE
IiDispatchFormat mem.Sreg
.mem.Sreg:
RET
ENDP IicSVDC::
- ↑ RSDC
- Restore Segment Register and Descriptor
- Category
- system
- Opcode
- 0x0F79 /r
- Tested by
- t4205
IicRSDC:: PROC
IiRequire 486,CYRIX,PRIV
IiEmitOpcode 0x0F,0x79
IiOpEn RM
IiModRM /r
IiEncoding DATA=TBYTE
IiDispatchFormat Sreg.mem
.Sreg.mem:
RET
ENDP IicRSDC::
- ↑ SVLDT
- Save LDTR and Descriptor
- Category
- system
- Opcode
- 0xF7A /0
- Tested by
- t4210
IicSVLDT:: PROC
MOV CL,0x7A
.op:IiRequire 486,CYRIX,PRIV
IiEmitOpcode 0x0F,ECX
IiOpEn M
IiModRM /0
IiEncoding DATA=TBYTE
IiDispatchFormat mem
.mem:RET
ENDP IicSVLDT::
- ↑ RSLDT
- Restore LDTR and Descriptor
- Category
- system
- Opcode
- 0x0F7B /0
- Tested by
- t4210
IicRSLDT:: PROC
MOV CL,0x7B
JMP IicSVLDT.op:
ENDP IicRSLDT::
- ↑ SVTS
- SVTS
- Category
- system
- Opcode
- 0x0F7C /0
- Tested by
- t4210
IicSVTS:: PROC
MOV CL,0x7C
JMP IicSVLDT.op:
ENDP IicSVTS::
- ↑ RSTS
- Restore TSR and Descriptor
- Category
- system
- Opcode
- 0x0F7D /0
- Tested by
- t4210
IicRSTS:: PROC
MOV CL,0x7D
JMP IicSVLDT.op:
ENDP IicRSTS::
- ↑ SMINT
- Software SMM Entry
- Category
- system
- Opcode
- 0x0F38
- Tested by
- t4205
IicSMINT:: PROC
IiRequire 486,CYRIX
IiEmitOpcode 0x0F,0x38
IiDispatchFormat none
.none:RET
ENDP IicSMINT::
- ↑ SMINTOLD
- Software SMM Entry (original encoding)
- Category
- system
- Opcode
- 0x0F7E
- Tested by
- t4205
IicSMINTOLD:: PROC
IiRequire 486,CYRIX,UNDOC
IiEmitOpcode 0x0F,0x7E
IiDispatchFormat none
.none:RET
ENDP IicSMINTOLD::
- ↑ DMINT
- Enter Debug Management Mode
- Category
- AMD Geode
- Opcode
- 0x0F39
- CPU
- AMD/Cyrix Geode
- Documented
- [AMDGeode]
- Tested by
- t4215
IicDMINT:: PROC
IiRequire 686,CYRIX
IiEmitOpcode 0x0F,0x39
IiDispatchFormat none
.none:RET
ENDP IicDMINT::
- ↑ RDM
- Leave Debug Management Mode
- Category
- AMD Geode
- Opcode
- 0x0F3A
- CPU
- AMD/Cyrix Geode
- Documented
- [AMDGeode]
- See also
- BB0_RESET
- Tested by
- t4215
IicRDM:: PROC
IiRequire 686,CYRIX
IiEmitOpcode 0x0F,0x3A
IiDispatchFormat none
.none:RET
ENDP IicRDM::
- ↑ BB0_RESET
- BitBlt0 reset
- Category
- Cyrix GX1
- Operands
- -
- Opcode
- 0x0F3A
- CPU
- CYRIX
- Documented
- NASM
- See also
- RDM
- Tested by
- t4215
IicBB0_RESET:: PROC
MOV CL,0x3A
.op:IiRequire 586,CYRIX,UNDOC
IiEmitOpcode 0x0F,ECX
IiDispatchFormat none
.none:RET
ENDP IicBB0_RESET::
- ↑ BB1_RESET
- BitBlt1 reset
- Category
- Cyrix GX1
- Operands
- -
- Opcode
- 0x0F3B
- CPU
- CYRIX
- Documented
- NASM
- Tested by
- t4215
IicBB1_RESET:: PROC
MOV CL,0x3B
JMP IicBB0_RESET.op:
ENDP IicBB1_RESET::
- ↑ CPU_WRITE
- CPU write
- Category
- Cyrix GX1
- Operands
- -
- Opcode
- 0x0F3C
- CPU
- CYRIX
- Documented
- NASM
- Tested by
- t4215
IicCPU_WRITE:: PROC
MOV CL,0x3C
JMP IicBB0_RESET.op:
ENDP IicCPU_WRITE::
- ↑ CPU_READ
- CPU read
- Category
- Cyrix GX1
- Operands
- -
- Opcode
- 0x0F3D
- CPU
- CYRIX
- Documented
- NASM
- Tested by
- t4215
IicCPU_READ:: PROC
MOV CL,0x3D
JMP IicBB0_RESET.op:
ENDP IicCPU_READ::
ENDPROGRAM iic
▲Back to the top▲