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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ppc-opc.c

?? 廣州斯道2410普及版II的源代碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
  unsigned long uval;  int mb, me;  uval = value;  if (uval == 0)    {      if (errmsg != (const char **) NULL)	*errmsg = "illegal bitmask";      return insn;    }  me = 31;  while ((uval & 1) == 0)    {      uval >>= 1;      --me;    }  mb = me;  uval >>= 1;  while ((uval & 1) != 0)    {      uval >>= 1;      --mb;    }  if (uval != 0)    {      if (errmsg != (const char **) NULL)	*errmsg = "illegal bitmask";    }  return insn | (mb << 6) | (me << 1);}static longextract_mbe (insn, invalid)     unsigned long insn;     int *invalid;{  long ret;  int mb, me;  int i;  if (invalid != (int *) NULL)    *invalid = 1;  ret = 0;  mb = (insn >> 6) & 0x1f;  me = (insn >> 1) & 0x1f;  for (i = mb; i < me; i++)    ret |= 1 << (31 - i);  return ret;}/* The MB or ME field in an MD or MDS form instruction.  The high bit   is wrapped to the low end.  *//*ARGSUSED*/static unsigned longinsert_mb6 (insn, value, errmsg)     unsigned long insn;     long value;     const char **errmsg;{  return insn | ((value & 0x1f) << 6) | (value & 0x20);}/*ARGSUSED*/static longextract_mb6 (insn, invalid)     unsigned long insn;     int *invalid;{  return ((insn >> 6) & 0x1f) | (insn & 0x20);}/* The NB field in an X form instruction.  The value 32 is stored as   0.  */static unsigned longinsert_nb (insn, value, errmsg)     unsigned long insn;     long value;     const char **errmsg;{  if (value < 0 || value > 32)    *errmsg = "value out of range";  if (value == 32)    value = 0;  return insn | ((value & 0x1f) << 11);}/*ARGSUSED*/static longextract_nb (insn, invalid)     unsigned long insn;     int *invalid;{  long ret;  ret = (insn >> 11) & 0x1f;  if (ret == 0)    ret = 32;  return ret;}/* The NSI field in a D form instruction.  This is the same as the SI   field, only negated.  The extraction function always marks it as   invalid, since we never want to recognize an instruction which uses   a field of this type.  *//*ARGSUSED*/static unsigned longinsert_nsi (insn, value, errmsg)     unsigned long insn;     long value;     const char **errmsg;{  return insn | ((- value) & 0xffff);}static longextract_nsi (insn, invalid)     unsigned long insn;     int *invalid;{  if (invalid != (int *) NULL)    *invalid = 1;  if ((insn & 0x8000) != 0)    return - ((insn & 0xffff) - 0x10000);  else    return - (insn & 0xffff);}/* The RA field in a D or X form instruction which is an updating   load, which means that the RA field may not be zero and may not   equal the RT field.  */static unsigned longinsert_ral (insn, value, errmsg)     unsigned long insn;     long value;     const char **errmsg;{  if (value == 0      || value == ((insn >> 21) & 0x1f))    *errmsg = "invalid register operand when updating";  return insn | ((value & 0x1f) << 16);}/* The RA field in an lmw instruction, which has special value   restrictions.  */static unsigned longinsert_ram (insn, value, errmsg)     unsigned long insn;     long value;     const char **errmsg;{  if (value >= ((insn >> 21) & 0x1f))    *errmsg = "index register in load range";  return insn | ((value & 0x1f) << 16);}/* The RA field in a D or X form instruction which is an updating   store or an updating floating point load, which means that the RA   field may not be zero.  */static unsigned longinsert_ras (insn, value, errmsg)     unsigned long insn;     long value;     const char **errmsg;{  if (value == 0)    *errmsg = "invalid register operand when updating";  return insn | ((value & 0x1f) << 16);}/* The RB field in an X form instruction when it must be the same as   the RS field in the instruction.  This is used for extended   mnemonics like mr.  This operand is marked FAKE.  The insertion   function just copies the BT field into the BA field, and the   extraction function just checks that the fields are the same.  *//*ARGSUSED*/static unsigned long insert_rbs (insn, value, errmsg)     unsigned long insn;     long value;     const char **errmsg;{  return insn | (((insn >> 21) & 0x1f) << 11);}static longextract_rbs (insn, invalid)     unsigned long insn;     int *invalid;{  if (invalid != (int *) NULL      && ((insn >> 21) & 0x1f) != ((insn >> 11) & 0x1f))    *invalid = 1;  return 0;}/* The SH field in an MD form instruction.  This is split.  *//*ARGSUSED*/static unsigned longinsert_sh6 (insn, value, errmsg)     unsigned long insn;     long value;     const char **errmsg;{  return insn | ((value & 0x1f) << 11) | ((value & 0x20) >> 4);}/*ARGSUSED*/static longextract_sh6 (insn, invalid)     unsigned long insn;     int *invalid;{  return ((insn >> 11) & 0x1f) | ((insn << 4) & 0x20);}/* The SPR field in an XFX form instruction.  This is flipped--the   lower 5 bits are stored in the upper 5 and vice- versa.  */static unsigned longinsert_spr (insn, value, errmsg)     unsigned long insn;     long value;     const char **errmsg;{  return insn | ((value & 0x1f) << 16) | ((value & 0x3e0) << 6);}static longextract_spr (insn, invalid)     unsigned long insn;     int *invalid;{  return ((insn >> 16) & 0x1f) | ((insn >> 6) & 0x3e0);}/* The TBR field in an XFX instruction.  This is just like SPR, but it   is optional.  When TBR is omitted, it must be inserted as 268 (the   magic number of the TB register).  These functions treat 0   (indicating an omitted optional operand) as 268.  This means that   ``mftb 4,0'' is not handled correctly.  This does not matter very   much, since the architecture manual does not define mftb as   accepting any values other than 268 or 269.  */#define TB (268)static unsigned longinsert_tbr (insn, value, errmsg)     unsigned long insn;     long value;     const char **errmsg;{  if (value == 0)    value = TB;  return insn | ((value & 0x1f) << 16) | ((value & 0x3e0) << 6);}static longextract_tbr (insn, invalid)     unsigned long insn;     int *invalid;{  long ret;  ret = ((insn >> 16) & 0x1f) | ((insn >> 6) & 0x3e0);  if (ret == TB)    ret = 0;  return ret;}/* Macros used to form opcodes.  *//* The main opcode.  */#define OP(x) (((x) & 0x3f) << 26)#define OP_MASK OP (0x3f)/* The main opcode combined with a trap code in the TO field of a D   form instruction.  Used for extended mnemonics for the trap   instructions.  */#define OPTO(x,to) (OP (x) | (((to) & 0x1f) << 21))#define OPTO_MASK (OP_MASK | TO_MASK)/* The main opcode combined with a comparison size bit in the L field   of a D form or X form instruction.  Used for extended mnemonics for   the comparison instructions.  */#define OPL(x,l) (OP (x) | (((l) & 1) << 21))#define OPL_MASK OPL (0x3f,1)/* An A form instruction.  */#define A(op, xop, rc) (OP (op) | (((xop) & 0x1f) << 1) | ((rc) & 1))#define A_MASK A (0x3f, 0x1f, 1)/* An A_MASK with the FRB field fixed.  */#define AFRB_MASK (A_MASK | FRB_MASK)/* An A_MASK with the FRC field fixed.  */#define AFRC_MASK (A_MASK | FRC_MASK)/* An A_MASK with the FRA and FRC fields fixed.  */#define AFRAFRC_MASK (A_MASK | FRA_MASK | FRC_MASK)/* A B form instruction.  */#define B(op, aa, lk) (OP (op) | (((aa) & 1) << 1) | ((lk) & 1))#define B_MASK B (0x3f, 1, 1)/* A B form instruction setting the BO field.  */#define BBO(op, bo, aa, lk) (B ((op), (aa), (lk)) | (((bo) & 0x1f) << 21))#define BBO_MASK BBO (0x3f, 0x1f, 1, 1)/* A BBO_MASK with the y bit of the BO field removed.  This permits   matching a conditional branch regardless of the setting of the y   bit.  */#define Y_MASK (1 << 21)#define BBOY_MASK (BBO_MASK &~ Y_MASK)/* A B form instruction setting the BO field and the condition bits of   the BI field.  */#define BBOCB(op, bo, cb, aa, lk) \  (BBO ((op), (bo), (aa), (lk)) | (((cb) & 0x3) << 16))#define BBOCB_MASK BBOCB (0x3f, 0x1f, 0x3, 1, 1)/* A BBOCB_MASK with the y bit of the BO field removed.  */#define BBOYCB_MASK (BBOCB_MASK &~ Y_MASK)/* A BBOYCB_MASK in which the BI field is fixed.  */#define BBOYBI_MASK (BBOYCB_MASK | BI_MASK)/* The main opcode mask with the RA field clear.  */#define DRA_MASK (OP_MASK | RA_MASK)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品高清在线| 在线综合视频播放| 中文字幕乱码亚洲精品一区| 韩国av一区二区三区四区| 欧美mv日韩mv国产网站app| 青椒成人免费视频| 久久综合成人精品亚洲另类欧美 | 久久精品国产99国产| 欧美大白屁股肥臀xxxxxx| 久久66热re国产| 久久久午夜精品| 色一区在线观看| 日韩高清一区二区| 久久久久久久久久久久久女国产乱| 成人综合婷婷国产精品久久| 亚洲视频香蕉人妖| 欧美日韩日日摸| 国产一区二区伦理片| 最新国产精品久久精品| 欧美日韩精品一区二区三区蜜桃 | 在线亚洲免费视频| 婷婷国产v国产偷v亚洲高清| 精品国内二区三区| 一本高清dvd不卡在线观看| 日本不卡视频在线观看| 国产精品三级久久久久三级| 欧美日韩亚洲丝袜制服| 国产一区二区三区国产| 夜夜嗨av一区二区三区四季av| 欧美大片在线观看一区| 一本一道久久a久久精品 | 91精品欧美久久久久久动漫| 国产一区二区中文字幕| 一区二区三区日韩欧美| 久久综合色一综合色88| 欧洲精品视频在线观看| 国产精品 欧美精品| 天天操天天综合网| 日本一区二区综合亚洲| 欧美精品第一页| 99麻豆久久久国产精品免费 | 麻豆高清免费国产一区| 亚洲欧美在线视频观看| 欧美一区二区视频观看视频 | 一区二区视频在线看| 精品免费99久久| 欧美色视频一区| 成人av高清在线| 国模无码大尺度一区二区三区| 午夜在线电影亚洲一区| 国产精品久久久久久久裸模| 日韩欧美亚洲国产精品字幕久久久| 色噜噜狠狠色综合欧洲selulu| 精品在线你懂的| 亚洲18影院在线观看| 日韩码欧中文字| 久久夜色精品国产噜噜av| 在线91免费看| 在线欧美日韩国产| 一本久久a久久精品亚洲| 处破女av一区二区| 国产一区二区看久久| 激情综合五月婷婷| 六月丁香综合在线视频| 亚洲国产综合人成综合网站| 1024亚洲合集| 中文av一区二区| 久久精品人人做人人爽人人| 精品不卡在线视频| 日韩精品影音先锋| 日韩一区二区电影| 欧美电影精品一区二区| 日韩欧美一区中文| 欧美一区二区福利视频| 欧美另类z0zxhd电影| 欧美日韩不卡在线| 欧美日韩在线播放一区| 欧美男生操女生| 欧美一区二区成人| 日韩亚洲欧美在线观看| 欧美一级日韩免费不卡| 欧美一区二区二区| 久久影院电视剧免费观看| 久久色.com| 欧美国产成人在线| 中文字幕一区在线| 亚洲精选免费视频| 亚洲一区二区三区中文字幕在线| 亚洲女与黑人做爰| 五月开心婷婷久久| 麻豆极品一区二区三区| 国产精品亚洲视频| 99久久婷婷国产综合精品电影| 色婷婷激情久久| 欧美日韩日本视频| 精品剧情在线观看| 欧美激情中文字幕| 亚洲人成网站色在线观看| 亚洲v日本v欧美v久久精品| 日韩av网站免费在线| 国产综合色视频| 99精品视频一区二区| 欧美视频一区二区三区| 欧美大片拔萝卜| 中文一区二区在线观看| 亚洲电影一区二区| 国产一区二区三区免费播放| www.欧美日韩| 欧美午夜精品电影| 精品电影一区二区三区| 综合久久久久久久| 图片区小说区区亚洲影院| 国产精品一级二级三级| 色综合久久中文综合久久牛| 4438成人网| 中文字幕精品综合| 日韩—二三区免费观看av| 粉嫩av亚洲一区二区图片| 欧美日韩精品一区二区三区| 久久久精品中文字幕麻豆发布| 亚洲精品中文在线观看| 麻豆一区二区三| 99国产精品国产精品毛片| 欧美成va人片在线观看| 亚洲青青青在线视频| 国产一区二区三区在线观看免费视频 | 欧美高清视频一二三区 | 久久精品亚洲精品国产欧美kt∨| 中文字幕一区视频| 看片的网站亚洲| 色天天综合色天天久久| 久久色.com| 视频一区二区三区入口| av在线播放成人| 日韩欧美国产综合一区| 一区二区三区不卡在线观看| 国产一区二三区| 91精品国产欧美一区二区成人| 自拍偷在线精品自拍偷无码专区 | 日韩亚洲欧美成人一区| 亚洲美女视频在线观看| 成人高清av在线| 精品久久久久久久久久久院品网 | 婷婷开心久久网| 波多野结衣一区二区三区 | 99re热视频精品| 国产午夜亚洲精品午夜鲁丝片| 亚洲成a人片在线观看中文| www.亚洲在线| 国产性天天综合网| 精油按摩中文字幕久久| 欧美日韩高清在线播放| 一区二区三区中文在线观看| 成人精品视频.| 久久久综合九色合综国产精品| 蜜桃视频在线一区| 9191成人精品久久| 亚洲成a人在线观看| 色偷偷成人一区二区三区91 | 亚洲精品免费播放| 成人91在线观看| 国产精品三级视频| 成人免费av在线| 国产精品欧美久久久久一区二区| 国产自产视频一区二区三区| 精品蜜桃在线看| 国产真实乱偷精品视频免| 欧美tickling挠脚心丨vk| 精品一区二区三区蜜桃| 日韩一区二区三区免费看 | 18欧美乱大交hd1984| 99精品视频一区| 亚洲男人的天堂网| 欧美午夜在线一二页| 午夜日韩在线观看| 91精品国产高清一区二区三区| 亚洲h在线观看| 日韩三级精品电影久久久| 久久精品国产网站| 国产色产综合产在线视频| 成人久久18免费网站麻豆| 综合亚洲深深色噜噜狠狠网站| 91无套直看片红桃| 亚洲一区二区三区三| 欧美肥妇free| 九九视频精品免费| 国产精品白丝在线| 欧美视频在线播放| 久久国产精品无码网站| 国产三级欧美三级日产三级99 | 日韩免费高清av| 国产在线播精品第三| 中文字幕一区二区三区色视频 | 欧美午夜一区二区| 久久精品国产精品亚洲红杏 | 精品国一区二区三区| 粗大黑人巨茎大战欧美成人| 亚洲精品成人少妇| 日韩一区二区三区免费观看| 国产成人99久久亚洲综合精品|