亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? op_mem.h

?? QEMU 0.91 source code, supports ARM processor including S3C24xx series
?? H
?? 第 1 頁 / 共 3 頁
字號:
/* *  PowerPC emulation micro-operations for qemu. * *  Copyright (c) 2003-2007 Jocelyn Mayer * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */#include "op_mem_access.h"/***                             Integer load                              ***/#define PPC_LD_OP(name, op)                                                   \void OPPROTO glue(glue(op_l, name), MEMSUFFIX) (void)                         \{                                                                             \    T1 = glue(op, MEMSUFFIX)((uint32_t)T0);                                   \    RETURN();                                                                 \}#if defined(TARGET_PPC64)#define PPC_LD_OP_64(name, op)                                                \void OPPROTO glue(glue(glue(op_l, name), _64), MEMSUFFIX) (void)              \{                                                                             \    T1 = glue(op, MEMSUFFIX)((uint64_t)T0);                                   \    RETURN();                                                                 \}#endif#define PPC_ST_OP(name, op)                                                   \void OPPROTO glue(glue(op_st, name), MEMSUFFIX) (void)                        \{                                                                             \    glue(op, MEMSUFFIX)((uint32_t)T0, T1);                                    \    RETURN();                                                                 \}#if defined(TARGET_PPC64)#define PPC_ST_OP_64(name, op)                                                \void OPPROTO glue(glue(glue(op_st, name), _64), MEMSUFFIX) (void)             \{                                                                             \    glue(op, MEMSUFFIX)((uint64_t)T0, T1);                                    \    RETURN();                                                                 \}#endifPPC_LD_OP(bz, ldu8);PPC_LD_OP(ha, lds16);PPC_LD_OP(hz, ldu16);PPC_LD_OP(wz, ldu32);#if defined(TARGET_PPC64)PPC_LD_OP(wa, lds32);PPC_LD_OP(d, ldu64);PPC_LD_OP_64(bz, ldu8);PPC_LD_OP_64(ha, lds16);PPC_LD_OP_64(hz, ldu16);PPC_LD_OP_64(wz, ldu32);PPC_LD_OP_64(wa, lds32);PPC_LD_OP_64(d, ldu64);#endifPPC_LD_OP(ha_le, lds16r);PPC_LD_OP(hz_le, ldu16r);PPC_LD_OP(wz_le, ldu32r);#if defined(TARGET_PPC64)PPC_LD_OP(wa_le, lds32r);PPC_LD_OP(d_le, ldu64r);PPC_LD_OP_64(ha_le, lds16r);PPC_LD_OP_64(hz_le, ldu16r);PPC_LD_OP_64(wz_le, ldu32r);PPC_LD_OP_64(wa_le, lds32r);PPC_LD_OP_64(d_le, ldu64r);#endif/***                              Integer store                            ***/PPC_ST_OP(b, st8);PPC_ST_OP(h, st16);PPC_ST_OP(w, st32);#if defined(TARGET_PPC64)PPC_ST_OP(d, st64);PPC_ST_OP_64(b, st8);PPC_ST_OP_64(h, st16);PPC_ST_OP_64(w, st32);PPC_ST_OP_64(d, st64);#endifPPC_ST_OP(h_le, st16r);PPC_ST_OP(w_le, st32r);#if defined(TARGET_PPC64)PPC_ST_OP(d_le, st64r);PPC_ST_OP_64(h_le, st16r);PPC_ST_OP_64(w_le, st32r);PPC_ST_OP_64(d_le, st64r);#endif/***                Integer load and store with byte reverse               ***/PPC_LD_OP(hbr, ldu16r);PPC_LD_OP(wbr, ldu32r);PPC_ST_OP(hbr, st16r);PPC_ST_OP(wbr, st32r);#if defined(TARGET_PPC64)PPC_LD_OP_64(hbr, ldu16r);PPC_LD_OP_64(wbr, ldu32r);PPC_ST_OP_64(hbr, st16r);PPC_ST_OP_64(wbr, st32r);#endifPPC_LD_OP(hbr_le, ldu16);PPC_LD_OP(wbr_le, ldu32);PPC_ST_OP(hbr_le, st16);PPC_ST_OP(wbr_le, st32);#if defined(TARGET_PPC64)PPC_LD_OP_64(hbr_le, ldu16);PPC_LD_OP_64(wbr_le, ldu32);PPC_ST_OP_64(hbr_le, st16);PPC_ST_OP_64(wbr_le, st32);#endif/***                    Integer load and store multiple                    ***/void OPPROTO glue(op_lmw, MEMSUFFIX) (void){    glue(do_lmw, MEMSUFFIX)(PARAM1);    RETURN();}#if defined(TARGET_PPC64)void OPPROTO glue(op_lmw_64, MEMSUFFIX) (void){    glue(do_lmw_64, MEMSUFFIX)(PARAM1);    RETURN();}#endifvoid OPPROTO glue(op_lmw_le, MEMSUFFIX) (void){    glue(do_lmw_le, MEMSUFFIX)(PARAM1);    RETURN();}#if defined(TARGET_PPC64)void OPPROTO glue(op_lmw_le_64, MEMSUFFIX) (void){    glue(do_lmw_le_64, MEMSUFFIX)(PARAM1);    RETURN();}#endifvoid OPPROTO glue(op_stmw, MEMSUFFIX) (void){    glue(do_stmw, MEMSUFFIX)(PARAM1);    RETURN();}#if defined(TARGET_PPC64)void OPPROTO glue(op_stmw_64, MEMSUFFIX) (void){    glue(do_stmw_64, MEMSUFFIX)(PARAM1);    RETURN();}#endifvoid OPPROTO glue(op_stmw_le, MEMSUFFIX) (void){    glue(do_stmw_le, MEMSUFFIX)(PARAM1);    RETURN();}#if defined(TARGET_PPC64)void OPPROTO glue(op_stmw_le_64, MEMSUFFIX) (void){    glue(do_stmw_le_64, MEMSUFFIX)(PARAM1);    RETURN();}#endif/***                    Integer load and store strings                     ***/void OPPROTO glue(op_lswi, MEMSUFFIX) (void){    glue(do_lsw, MEMSUFFIX)(PARAM1);    RETURN();}#if defined(TARGET_PPC64)void OPPROTO glue(op_lswi_64, MEMSUFFIX) (void){    glue(do_lsw_64, MEMSUFFIX)(PARAM1);    RETURN();}#endif/* PPC32 specification says we must generate an exception if * rA is in the range of registers to be loaded. * In an other hand, IBM says this is valid, but rA won't be loaded. * For now, I'll follow the spec... */void OPPROTO glue(op_lswx, MEMSUFFIX) (void){    /* Note: T1 comes from xer_bc then no cast is needed */    if (likely(T1 != 0)) {        if (unlikely((PARAM1 < PARAM2 && (PARAM1 + T1) > PARAM2) ||                     (PARAM1 < PARAM3 && (PARAM1 + T1) > PARAM3))) {            do_raise_exception_err(POWERPC_EXCP_PROGRAM,                                   POWERPC_EXCP_INVAL |                                   POWERPC_EXCP_INVAL_LSWX);        } else {            glue(do_lsw, MEMSUFFIX)(PARAM1);        }    }    RETURN();}#if defined(TARGET_PPC64)void OPPROTO glue(op_lswx_64, MEMSUFFIX) (void){    /* Note: T1 comes from xer_bc then no cast is needed */    if (likely(T1 != 0)) {        if (unlikely((PARAM1 < PARAM2 && (PARAM1 + T1) > PARAM2) ||                     (PARAM1 < PARAM3 && (PARAM1 + T1) > PARAM3))) {            do_raise_exception_err(POWERPC_EXCP_PROGRAM,                                   POWERPC_EXCP_INVAL |                                   POWERPC_EXCP_INVAL_LSWX);        } else {            glue(do_lsw_64, MEMSUFFIX)(PARAM1);        }    }    RETURN();}#endifvoid OPPROTO glue(op_stsw, MEMSUFFIX) (void){    glue(do_stsw, MEMSUFFIX)(PARAM1);    RETURN();}#if defined(TARGET_PPC64)void OPPROTO glue(op_stsw_64, MEMSUFFIX) (void){    glue(do_stsw_64, MEMSUFFIX)(PARAM1);    RETURN();}#endif/***                         Floating-point store                          ***/#define PPC_STF_OP(name, op)                                                  \void OPPROTO glue(glue(op_st, name), MEMSUFFIX) (void)                        \{                                                                             \    glue(op, MEMSUFFIX)((uint32_t)T0, FT0);                                   \    RETURN();                                                                 \}#if defined(TARGET_PPC64)#define PPC_STF_OP_64(name, op)                                               \void OPPROTO glue(glue(glue(op_st, name), _64), MEMSUFFIX) (void)             \{                                                                             \    glue(op, MEMSUFFIX)((uint64_t)T0, FT0);                                   \    RETURN();                                                                 \}#endifstatic always_inline void glue(stfs, MEMSUFFIX) (target_ulong EA, double d){    glue(stfl, MEMSUFFIX)(EA, float64_to_float32(d, &env->fp_status));}#if defined(WORDS_BIGENDIAN)#define WORD0 0#define WORD1 1#else#define WORD0 1#define WORD1 0#endifstatic always_inline void glue(stfiw, MEMSUFFIX) (target_ulong EA, double d){    union {        double d;        uint32_t u[2];    } u;    /* Store the low order 32 bits without any conversion */    u.d = d;    glue(st32, MEMSUFFIX)(EA, u.u[WORD0]);}#undef WORD0#undef WORD1PPC_STF_OP(fd, stfq);PPC_STF_OP(fs, stfs);PPC_STF_OP(fiw, stfiw);#if defined(TARGET_PPC64)PPC_STF_OP_64(fd, stfq);PPC_STF_OP_64(fs, stfs);PPC_STF_OP_64(fiw, stfiw);#endifstatic always_inline void glue(stfqr, MEMSUFFIX) (target_ulong EA, double d){    union {        double d;        uint64_t u;    } u;    u.d = d;    u.u = bswap64(u.u);    glue(stfq, MEMSUFFIX)(EA, u.d);}static always_inline void glue(stfsr, MEMSUFFIX) (target_ulong EA, double d){    union {        float f;        uint32_t u;    } u;    u.f = float64_to_float32(d, &env->fp_status);    u.u = bswap32(u.u);    glue(stfl, MEMSUFFIX)(EA, u.f);}static always_inline void glue(stfiwr, MEMSUFFIX) (target_ulong EA, double d){    union {        double d;        uint64_t u;    } u;    /* Store the low order 32 bits without any conversion */    u.d = d;    u.u = bswap32(u.u);    glue(st32, MEMSUFFIX)(EA, u.u);}PPC_STF_OP(fd_le, stfqr);PPC_STF_OP(fs_le, stfsr);PPC_STF_OP(fiw_le, stfiwr);#if defined(TARGET_PPC64)PPC_STF_OP_64(fd_le, stfqr);PPC_STF_OP_64(fs_le, stfsr);PPC_STF_OP_64(fiw_le, stfiwr);#endif/***                         Floating-point load                           ***/#define PPC_LDF_OP(name, op)                                                  \void OPPROTO glue(glue(op_l, name), MEMSUFFIX) (void)                         \{                                                                             \    FT0 = glue(op, MEMSUFFIX)((uint32_t)T0);                                  \    RETURN();                                                                 \}#if defined(TARGET_PPC64)#define PPC_LDF_OP_64(name, op)                                               \void OPPROTO glue(glue(glue(op_l, name), _64), MEMSUFFIX) (void)              \{                                                                             \    FT0 = glue(op, MEMSUFFIX)((uint64_t)T0);                                  \    RETURN();                                                                 \}#endifstatic always_inline double glue(ldfs, MEMSUFFIX) (target_ulong EA){    return float32_to_float64(glue(ldfl, MEMSUFFIX)(EA), &env->fp_status);}PPC_LDF_OP(fd, ldfq);PPC_LDF_OP(fs, ldfs);#if defined(TARGET_PPC64)PPC_LDF_OP_64(fd, ldfq);PPC_LDF_OP_64(fs, ldfs);#endifstatic always_inline double glue(ldfqr, MEMSUFFIX) (target_ulong EA){    union {        double d;        uint64_t u;    } u;    u.d = glue(ldfq, MEMSUFFIX)(EA);    u.u = bswap64(u.u);    return u.d;}static always_inline double glue(ldfsr, MEMSUFFIX) (target_ulong EA){    union {        float f;        uint32_t u;    } u;    u.f = glue(ldfl, MEMSUFFIX)(EA);    u.u = bswap32(u.u);    return float32_to_float64(u.f, &env->fp_status);}PPC_LDF_OP(fd_le, ldfqr);PPC_LDF_OP(fs_le, ldfsr);#if defined(TARGET_PPC64)PPC_LDF_OP_64(fd_le, ldfqr);PPC_LDF_OP_64(fs_le, ldfsr);#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费亚洲电影在线| 国产精品网站一区| 欧美aaaaaa午夜精品| 91精品欧美久久久久久动漫| 婷婷丁香久久五月婷婷| 日韩网站在线看片你懂的| 精品一区二区三区av| 欧美韩国日本综合| 99精品久久只有精品| 夜夜嗨av一区二区三区网页| 欧美裸体bbwbbwbbw| 精品视频在线免费| 人人狠狠综合久久亚洲| 久久免费精品国产久精品久久久久| 国产精品1区2区| 日韩一区中文字幕| 欧美日韩国产bt| 国产一区高清在线| 亚洲精品精品亚洲| 日韩欧美色综合| 成人一区二区三区视频在线观看| 一区二区三区产品免费精品久久75| 欧美日韩精品二区第二页| 激情五月激情综合网| 1区2区3区欧美| 欧美一卡2卡3卡4卡| 国产成人av福利| 亚洲乱码国产乱码精品精可以看| 91精品国产手机| av中文字幕在线不卡| 亚洲成av人片观看| 国产日产精品1区| 欧美日韩一区二区三区在线看 | 91网址在线看| 日本vs亚洲vs韩国一区三区| 久久久国产综合精品女国产盗摄| 欧洲视频一区二区| 国产98色在线|日韩| 午夜精品福利一区二区三区av| 久久亚洲综合av| 91精品久久久久久久99蜜桃| 成人av免费网站| 日本欧美一区二区三区| 亚洲免费毛片网站| 免费精品99久久国产综合精品| ...中文天堂在线一区| 日韩欧美国产高清| 欧美亚洲一区二区三区四区| 国产不卡视频在线观看| 图片区小说区区亚洲影院| 国产精品蜜臀在线观看| 精品少妇一区二区三区视频免付费 | 欧美日韩黄视频| 成人一级视频在线观看| 蜜桃久久av一区| 视频一区二区三区入口| 亚洲男人的天堂av| 中文字幕不卡在线观看| 欧美成人a视频| 欧美一级黄色大片| 欧美日韩aaa| 欧日韩精品视频| 色欧美片视频在线观看在线视频| 国产sm精品调教视频网站| 久久99精品久久久久久| 天堂久久一区二区三区| 亚洲午夜一区二区| 一区二区三区蜜桃网| 亚洲另类色综合网站| 中文字幕一区二区三中文字幕| 国产区在线观看成人精品 | 91精品国产91久久久久久一区二区| 91浏览器在线视频| 91无套直看片红桃| 色天使久久综合网天天| 色综合一个色综合亚洲| 91影视在线播放| 97久久超碰国产精品| k8久久久一区二区三区| 91蜜桃免费观看视频| 91免费版pro下载短视频| 91麻豆免费观看| 在线观看日产精品| 欧美va亚洲va| 免费日本视频一区| 国产日韩欧美在线一区| 久久精品综合网| 国产精品久久久久久久久动漫 | 欧美三级电影网| 欧美久久久久免费| 日韩午夜在线观看| 久久综合久久综合久久| 久久久久综合网| 中文字幕在线观看一区二区| 一区二区三区四区不卡视频| 午夜精品爽啪视频| 久久av资源网| 成人国产在线观看| 日本电影欧美片| 欧美一级日韩免费不卡| 精品第一国产综合精品aⅴ| 国产喷白浆一区二区三区| 1区2区3区精品视频| 亚洲mv在线观看| 狠狠色丁香婷婷综合| aaa亚洲精品| 欧美三级韩国三级日本一级| 精品国一区二区三区| 国产精品毛片高清在线完整版| 一区二区三区国产| 另类小说一区二区三区| 成人理论电影网| 欧美老年两性高潮| 久久久精品黄色| 午夜精品福利视频网站| 国产99久久久精品| 欧美色涩在线第一页| 精品对白一区国产伦| 亚洲免费观看高清完整| 老司机午夜精品| 色综合视频一区二区三区高清| 91精品婷婷国产综合久久竹菊| 国产日产欧美一区二区视频| 亚洲午夜精品网| 国产福利一区在线观看| 欧美肥胖老妇做爰| 1024成人网色www| 激情五月播播久久久精品| 日本韩国欧美三级| 久久久久久亚洲综合| 91色porny在线视频| 日韩三级精品电影久久久| 亚洲婷婷综合色高清在线| 麻豆国产一区二区| 色久综合一二码| 国产欧美1区2区3区| 美女看a上一区| 欧美色图天堂网| 国产精品久久久久久妇女6080| 青娱乐精品视频在线| 91老司机福利 在线| 久久亚洲私人国产精品va媚药| 丝袜诱惑制服诱惑色一区在线观看 | 欧美日韩aaaaa| 亚洲精品中文字幕在线观看| 国产精品一级在线| 日韩一区二区中文字幕| 亚洲午夜精品在线| 色综合久久88色综合天天6| 国产日本一区二区| 国产在线不卡一区| 欧美大胆一级视频| 男女视频一区二区| 欧美日韩国产综合视频在线观看| 亚洲桃色在线一区| 成人一区二区视频| 中文字幕av免费专区久久| 国产一区激情在线| www国产成人免费观看视频 深夜成人网| 亚洲成人动漫一区| 欧美日韩在线一区二区| 亚洲一区二区综合| 亚洲午夜影视影院在线观看| 99精品久久99久久久久| 国产麻豆午夜三级精品| 国产精品素人一区二区| 成人性生交大片免费看中文网站| 欧美精品一区二区不卡| 99视频精品在线| 一区二区三区日韩欧美| 日韩精品中午字幕| av午夜一区麻豆| 麻豆91在线播放免费| 韩国三级在线一区| 国产亚洲精品超碰| 久久精品无码一区二区三区| 国产精品久久久久久亚洲毛片 | 国产成人亚洲综合a∨婷婷 | 国产精品国产三级国产普通话蜜臀 | 精品国产一区二区在线观看| 蜜桃视频在线观看一区| 日韩免费高清av| 国产一区二区主播在线| 亚洲国产高清aⅴ视频| 99在线精品一区二区三区| 亚洲另类春色国产| 欧美久久久久久久久久| 美女尤物国产一区| 国产日本欧美一区二区| 不卡的av在线| 亚洲一区二区三区四区在线 | 五月激情综合婷婷| 日韩一级视频免费观看在线| 麻豆成人久久精品二区三区小说| 欧美www视频| 成人高清免费观看| 亚洲国产另类av| 欧美r级电影在线观看| 成人app网站| 天堂一区二区在线|