Revision 5fafdf24 target-i386/op.c
b/target-i386/op.c | ||
---|---|---|
1 | 1 |
/* |
2 | 2 |
* i386 micro operations |
3 |
*
|
|
3 |
* |
|
4 | 4 |
* Copyright (c) 2003 Fabrice Bellard |
5 | 5 |
* |
6 | 6 |
* This library is free software; you can redistribute it and/or |
... | ... | |
521 | 521 |
__p.l.v1 = PARAM1;\ |
522 | 522 |
__p.l.v0 = PARAM2;\ |
523 | 523 |
__p.q;\ |
524 |
})
|
|
524 |
}) |
|
525 | 525 |
|
526 | 526 |
void OPPROTO op_movq_T0_im64(void) |
527 | 527 |
{ |
... | ... | |
1149 | 1149 |
{ |
1150 | 1150 |
int selector; |
1151 | 1151 |
SegmentCache *sc; |
1152 |
|
|
1152 |
|
|
1153 | 1153 |
selector = T0 & 0xffff; |
1154 | 1154 |
/* env->segs[] access */ |
1155 | 1155 |
sc = (SegmentCache *)((char *)env + PARAM1); |
... | ... | |
1193 | 1193 |
} |
1194 | 1194 |
FORCE_RET(); |
1195 | 1195 |
} |
1196 |
|
|
1196 |
|
|
1197 | 1197 |
void OPPROTO op_arpl_update(void) |
1198 | 1198 |
{ |
1199 | 1199 |
int eflags; |
1200 | 1200 |
eflags = cc_table[CC_OP].compute_all(); |
1201 | 1201 |
CC_SRC = (eflags & ~CC_Z) | T1; |
1202 | 1202 |
} |
1203 |
|
|
1203 |
|
|
1204 | 1204 |
/* T0: segment, T1:eip */ |
1205 | 1205 |
void OPPROTO op_ljmp_protected_T0_T1(void) |
1206 | 1206 |
{ |
... | ... | |
1248 | 1248 |
helper_movl_crN_T0(PARAM1); |
1249 | 1249 |
} |
1250 | 1250 |
|
1251 |
#if !defined(CONFIG_USER_ONLY)
|
|
1251 |
#if !defined(CONFIG_USER_ONLY) |
|
1252 | 1252 |
void OPPROTO op_movtl_T0_cr8(void) |
1253 | 1253 |
{ |
1254 | 1254 |
T0 = cpu_get_apic_tpr(env); |
... | ... | |
1591 | 1591 |
[CC_OP_SUBB] = { compute_all_subb, compute_c_subb }, |
1592 | 1592 |
[CC_OP_SUBW] = { compute_all_subw, compute_c_subw }, |
1593 | 1593 |
[CC_OP_SUBL] = { compute_all_subl, compute_c_subl }, |
1594 |
|
|
1594 |
|
|
1595 | 1595 |
[CC_OP_SBBB] = { compute_all_sbbb, compute_c_sbbb }, |
1596 | 1596 |
[CC_OP_SBBW] = { compute_all_sbbw, compute_c_sbbw }, |
1597 | 1597 |
[CC_OP_SBBL] = { compute_all_sbbl, compute_c_sbbl }, |
1598 |
|
|
1598 |
|
|
1599 | 1599 |
[CC_OP_LOGICB] = { compute_all_logicb, compute_c_logicb }, |
1600 | 1600 |
[CC_OP_LOGICW] = { compute_all_logicw, compute_c_logicw }, |
1601 | 1601 |
[CC_OP_LOGICL] = { compute_all_logicl, compute_c_logicl }, |
1602 |
|
|
1602 |
|
|
1603 | 1603 |
[CC_OP_INCB] = { compute_all_incb, compute_c_incl }, |
1604 | 1604 |
[CC_OP_INCW] = { compute_all_incw, compute_c_incl }, |
1605 | 1605 |
[CC_OP_INCL] = { compute_all_incl, compute_c_incl }, |
1606 |
|
|
1606 |
|
|
1607 | 1607 |
[CC_OP_DECB] = { compute_all_decb, compute_c_incl }, |
1608 | 1608 |
[CC_OP_DECW] = { compute_all_decw, compute_c_incl }, |
1609 | 1609 |
[CC_OP_DECL] = { compute_all_decl, compute_c_incl }, |
1610 |
|
|
1610 |
|
|
1611 | 1611 |
[CC_OP_SHLB] = { compute_all_shlb, compute_c_shlb }, |
1612 | 1612 |
[CC_OP_SHLW] = { compute_all_shlw, compute_c_shlw }, |
1613 | 1613 |
[CC_OP_SHLL] = { compute_all_shll, compute_c_shll }, |
... | ... | |
1624 | 1624 |
[CC_OP_ADCQ] = { compute_all_adcq, compute_c_adcq }, |
1625 | 1625 |
|
1626 | 1626 |
[CC_OP_SUBQ] = { compute_all_subq, compute_c_subq }, |
1627 |
|
|
1627 |
|
|
1628 | 1628 |
[CC_OP_SBBQ] = { compute_all_sbbq, compute_c_sbbq }, |
1629 |
|
|
1629 |
|
|
1630 | 1630 |
[CC_OP_LOGICQ] = { compute_all_logicq, compute_c_logicq }, |
1631 |
|
|
1631 |
|
|
1632 | 1632 |
[CC_OP_INCQ] = { compute_all_incq, compute_c_incl }, |
1633 | 1633 |
|
1634 | 1634 |
[CC_OP_DECQ] = { compute_all_decq, compute_c_incl }, |
Also available in: Unified diff