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

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

?? load_store.c

?? 內(nèi)核是系統(tǒng)的心臟
?? C
字號(hào):
/*---------------------------------------------------------------------------+
 |  load_store.c                                                             |
 |                                                                           |
 | This file contains most of the code to interpret the FPU instructions     |
 | which load and store from user memory.                                    |
 |                                                                           |
 | Copyright (C) 1992,1993,1994                                              |
 |                       W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |
 |                       Australia.  E-mail   billm@vaxc.cc.monash.edu.au    |
 |                                                                           |
 |                                                                           |
 +---------------------------------------------------------------------------*/

/*---------------------------------------------------------------------------+
 | Note:                                                                     |
 |    The file contains code which accesses user memory.                     |
 |    Emulator static data may change when user memory is accessed, due to   |
 |    other processes using the emulator while swapping is in progress.      |
 +---------------------------------------------------------------------------*/

#include <asm/segment.h>

#include "fpu_system.h"
#include "exception.h"
#include "fpu_emu.h"
#include "status_w.h"
#include "control_w.h"


#define _NONE_ 0   /* FPU_st0_ptr etc not needed */
#define _REG0_ 1   /* Will be storing st(0) */
#define _PUSH_ 3   /* Need to check for space to push onto stack */
#define _null_ 4   /* Function illegal or not implemented */

#define pop_0()	{ pop_ptr->tag = TW_Empty; top++; }


static unsigned char const type_table[32] = {
  _PUSH_, _PUSH_, _PUSH_, _PUSH_,
  _null_, _null_, _null_, _null_,
  _REG0_, _REG0_, _REG0_, _REG0_,
  _REG0_, _REG0_, _REG0_, _REG0_,
  _NONE_, _null_, _NONE_, _PUSH_,
  _NONE_, _PUSH_, _null_, _PUSH_,
  _NONE_, _null_, _NONE_, _REG0_,
  _NONE_, _REG0_, _NONE_, _REG0_
  };

void load_store_instr(char type, fpu_addr_modes addr_modes)
{
  FPU_REG *pop_ptr;  /* We need a version of FPU_st0_ptr which won't
			change if the emulator is re-entered. */

  pop_ptr = NULL;    /* Initialized just to stop compiler warnings. */
  switch ( type_table[(int) (unsigned) type] )
    {
    case _NONE_:
      break;
    case _REG0_:
      pop_ptr = &st(0);       /* Some of these instructions pop after
				 storing */

      FPU_st0_ptr = pop_ptr;      /* Set the global variables. */
      FPU_st0_tag = FPU_st0_ptr->tag;
      break;
    case _PUSH_:
      {
	pop_ptr = &st(-1);
	if ( pop_ptr->tag != TW_Empty )
	  { stack_overflow(); return; }
	top--;
      }
      break;
    case _null_:
      FPU_illegal();
      return;
#ifdef PARANOID
    default:
      EXCEPTION(EX_INTERNAL);
      return;
#endif PARANOID
    }

switch ( type )
  {
  case 000:       /* fld m32real */
    clear_C1();
    reg_load_single();
    if ( (FPU_loaded_data.tag == TW_NaN) &&
	real_2op_NaN(&FPU_loaded_data, &FPU_loaded_data, &FPU_loaded_data) )
      {
	top++;
	break;
      }
    reg_move(&FPU_loaded_data, pop_ptr);
    break;
  case 001:      /* fild m32int */
    clear_C1();
    reg_load_int32();
    reg_move(&FPU_loaded_data, pop_ptr);
    break;
  case 002:      /* fld m64real */
    clear_C1();
    reg_load_double();
    if ( (FPU_loaded_data.tag == TW_NaN) &&
	real_2op_NaN(&FPU_loaded_data, &FPU_loaded_data, &FPU_loaded_data) )
      {
	top++;
	break;
      }
    reg_move(&FPU_loaded_data, pop_ptr);
    break;
  case 003:      /* fild m16int */
    clear_C1();
    reg_load_int16();
    reg_move(&FPU_loaded_data, pop_ptr);
    break;
  case 010:      /* fst m32real */
    clear_C1();
    reg_store_single();
    break;
  case 011:      /* fist m32int */
    clear_C1();
    reg_store_int32();
    break;
  case 012:     /* fst m64real */
    clear_C1();
    reg_store_double();
    break;
  case 013:     /* fist m16int */
    clear_C1();
    reg_store_int16();
    break;
  case 014:     /* fstp m32real */
    clear_C1();
    if ( reg_store_single() )
      pop_0();  /* pop only if the number was actually stored
		 (see the 80486 manual p16-28) */
    break;
  case 015:     /* fistp m32int */
    clear_C1();
    if ( reg_store_int32() )
      pop_0();  /* pop only if the number was actually stored
		 (see the 80486 manual p16-28) */
    break;
  case 016:     /* fstp m64real */
    clear_C1();
    if ( reg_store_double() )
      pop_0();  /* pop only if the number was actually stored
		 (see the 80486 manual p16-28) */
    break;
  case 017:     /* fistp m16int */
    clear_C1();
    if ( reg_store_int16() )
      pop_0();  /* pop only if the number was actually stored
		 (see the 80486 manual p16-28) */
    break;
  case 020:     /* fldenv  m14/28byte */
    fldenv(addr_modes);
    break;
  case 022:     /* frstor m94/108byte */
    frstor(addr_modes);
    break;
  case 023:     /* fbld m80dec */
    clear_C1();
    reg_load_bcd();
    reg_move(&FPU_loaded_data, pop_ptr);
    break;
  case 024:     /* fldcw */
    RE_ENTRANT_CHECK_OFF;
    FPU_verify_area(VERIFY_READ, FPU_data_address, 2);
    control_word = get_fs_word((unsigned short *) FPU_data_address);
    RE_ENTRANT_CHECK_ON;
    if ( partial_status & ~control_word & CW_Exceptions )
      partial_status |= (SW_Summary | SW_Backward);
    else
      partial_status &= ~(SW_Summary | SW_Backward);
#ifdef PECULIAR_486
    control_word |= 0x40;  /* An 80486 appears to always set this bit */
#endif PECULIAR_486
    NO_NET_DATA_EFFECT;
    NO_NET_INSTR_EFFECT;
    break;
  case 025:      /* fld m80real */
    clear_C1();
    reg_load_extended();
    reg_move(&FPU_loaded_data, pop_ptr);
    break;
  case 027:      /* fild m64int */
    clear_C1();
    reg_load_int64();
    reg_move(&FPU_loaded_data, pop_ptr);
    break;
  case 030:     /* fstenv  m14/28byte */
    fstenv(addr_modes);
    NO_NET_DATA_EFFECT;
    break;
  case 032:      /* fsave */
    fsave(addr_modes);
    NO_NET_DATA_EFFECT;
    break;
  case 033:      /* fbstp m80dec */
    clear_C1();
    if ( reg_store_bcd() )
      pop_0();  /* pop only if the number was actually stored
		 (see the 80486 manual p16-28) */
    break;
  case 034:      /* fstcw m16int */
    RE_ENTRANT_CHECK_OFF;
    FPU_verify_area(VERIFY_WRITE,FPU_data_address,2);
    put_fs_word(control_word, (short *) FPU_data_address);
    RE_ENTRANT_CHECK_ON;
    NO_NET_DATA_EFFECT;
    NO_NET_INSTR_EFFECT;
    break;
  case 035:      /* fstp m80real */
    clear_C1();
    if ( reg_store_extended() )
      pop_0();  /* pop only if the number was actually stored
		 (see the 80486 manual p16-28) */
    break;
  case 036:      /* fstsw m2byte */
    RE_ENTRANT_CHECK_OFF;
    FPU_verify_area(VERIFY_WRITE,FPU_data_address,2);
    put_fs_word(status_word(),(short *) FPU_data_address);
    RE_ENTRANT_CHECK_ON;
    NO_NET_DATA_EFFECT;
    NO_NET_INSTR_EFFECT;
    break;
  case 037:      /* fistp m64int */
    clear_C1();
    if ( reg_store_int64() )
      pop_0();  /* pop only if the number was actually stored
		 (see the 80486 manual p16-28) */
    break;
  }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线成人av网站| 成人av网站在线| 蜜臀精品一区二区三区在线观看| 国产成人在线免费观看| 欧美精品xxxxbbbb| 91视频在线观看| 精品美女被调教视频大全网站| 亚洲一区二区三区四区中文字幕| 91丝袜国产在线播放| 欧美日韩中文一区| 中文字幕欧美三区| 国产剧情一区在线| 久久精品夜夜夜夜久久| 国产毛片精品一区| 日韩精品中午字幕| 国产综合色视频| 中文字幕在线不卡| 欧美私人免费视频| 久久成人羞羞网站| 一色屋精品亚洲香蕉网站| 国产精品毛片无遮挡高清| 成人国产免费视频| 午夜精品久久久久久久 | 国产精品久久久久久久久久久免费看| 国产精品白丝jk黑袜喷水| 亚洲美女屁股眼交| 精品毛片乱码1区2区3区| 国产91丝袜在线观看| 91在线视频官网| 三级欧美韩日大片在线看| 久久久久久久综合| 欧美日韩一区二区在线视频| 国产精品白丝av| 亚洲电影第三页| 中文成人av在线| 日韩视频一区二区三区在线播放| 97精品超碰一区二区三区| 精品一区二区三区免费观看| 一区二区三区精品| 中文字幕第一区| 91精品国产91热久久久做人人| voyeur盗摄精品| 国产精品亚洲人在线观看| 日本不卡一区二区三区| 午夜精品久久久久久久 | 日韩手机在线导航| 91黄色免费看| 色婷婷综合久色| 色哟哟精品一区| 99免费精品在线观看| 成人av免费在线观看| 懂色av一区二区三区免费观看| 九九九精品视频| 91国内精品野花午夜精品| www.欧美精品一二区| 丝袜美腿成人在线| 亚洲电影在线免费观看| 亚欧色一区w666天堂| 亚洲自拍偷拍九九九| 一区二区三区中文字幕电影| 亚洲色图在线视频| 亚洲国产精品久久一线不卡| 三级不卡在线观看| 国产一区二区三区| 精品一区二区三区视频| 精品制服美女久久| 麻豆精品新av中文字幕| 美国十次综合导航| 亚洲制服丝袜在线| 亚洲婷婷在线视频| 久久久综合九色合综国产精品| 久久综合九色综合欧美就去吻| 91国偷自产一区二区三区成为亚洲经典 | 国产精品久久久久一区| 国产精品白丝在线| 欧美成人午夜电影| 久久久亚洲精华液精华液精华液| 日韩欧美久久久| 欧美极品少妇xxxxⅹ高跟鞋| 国产视频在线观看一区二区三区 | 日韩成人午夜电影| 精品一区二区三区的国产在线播放| 国产一区二区在线观看免费| 成人久久视频在线观看| 欧美日韩国产高清一区二区三区 | zzijzzij亚洲日本少妇熟睡| 波多野结衣精品在线| 欧美性三三影院| 久久精品一区八戒影视| 久久久综合视频| 欧美麻豆精品久久久久久| 欧美日韩一区二区三区高清| 日韩一区二区视频| 亚洲欧美日韩人成在线播放| 亚洲精品国产精华液| 国产成人午夜高潮毛片| 欧美一区二区三区免费视频| 一区二区视频在线| 欧美视频在线播放| 亚洲三级久久久| 精品一区免费av| 欧美二区三区91| 欧美性猛交一区二区三区精品| 欧美色图在线观看| 中文字幕精品综合| 国产一区二区三区四区五区美女| 欧美日韩视频专区在线播放| 亚洲欧美综合在线精品| 麻豆国产精品官网| 日韩视频免费观看高清完整版在线观看| 欧美韩国日本综合| 粗大黑人巨茎大战欧美成人| 日韩视频一区二区三区在线播放| 午夜影视日本亚洲欧洲精品| 欧美日韩国产在线观看| 亚洲国产精品久久久久婷婷884| 欧美性一级生活| 国产精品日产欧美久久久久| 国产毛片精品一区| 久久精品亚洲国产奇米99| 亚洲第一激情av| 亚洲国产电影在线观看| 亚洲一二三四在线观看| 在线观看av一区| 国产欧美一区在线| 亚洲h在线观看| 99国产精品99久久久久久| 国产精品久久久久国产精品日日| 懂色av中文一区二区三区| 日韩美女视频一区二区| 91官网在线观看| 午夜久久久久久| 久久精品人人做人人爽人人| 99视频一区二区| 五月天激情综合| 色噜噜狠狠成人中文综合| 久久先锋影音av鲁色资源网| 成人理论电影网| 天天av天天翘天天综合网色鬼国产| 精品国产电影一区二区| 国内精品视频一区二区三区八戒| 日韩一级片在线观看| 亚州成人在线电影| 精品播放一区二区| 色一情一乱一乱一91av| 性做久久久久久| **欧美大码日韩| 欧美一区二区美女| 91在线视频网址| 国产一区二区不卡| 日日骚欧美日韩| 一区二区在线电影| 国产精品少妇自拍| 欧美大片在线观看| 色婷婷一区二区三区四区| 麻豆一区二区三区| 中文字幕一区二区三区精华液 | 精品日韩在线一区| 欧美日韩国产精品自在自线| 色婷婷激情一区二区三区| 99久久久免费精品国产一区二区| 日韩国产欧美视频| 亚洲综合小说图片| 亚洲精品国产a久久久久久| 中文字幕一区二区三| 中文字幕亚洲成人| 一区二区高清视频在线观看| 亚洲图片欧美色图| 亚洲欧美国产毛片在线| 亚洲男女一区二区三区| 亚洲天堂免费在线观看视频| 久久影视一区二区| 久久色成人在线| 欧美成人vr18sexvr| 久久午夜色播影院免费高清| 一区二区三区在线免费观看| 美女视频一区二区三区| 国产不卡免费视频| 欧美日韩精品一区二区天天拍小说 | 精品久久99ma| 911精品产国品一二三产区| 91美女在线视频| 欧美日韩成人综合| 成人精品视频一区二区三区| 日韩免费观看2025年上映的电影| 国产美女在线精品| 亚洲综合无码一区二区| 久久蜜桃av一区二区天堂| 久久久99精品免费观看不卡| 国产精品一线二线三线| 国产一区二区美女| 日本一区二区免费在线观看视频| 亚洲国产日韩在线一区模特| 国产.精品.日韩.另类.中文.在线.播放| 日韩精品亚洲专区| 亚洲高清免费观看| 日韩欧美亚洲另类制服综合在线 | 成人免费毛片app| 国产曰批免费观看久久久| 一区二区三区在线视频免费|