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

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

?? dp_call.c

?? 話帶數(shù)據(jù)中傳真解調(diào)程序
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
   dp_ringback_off_cadence = 0;   dp_ringback_cycles = 0;}// ?bool dp_ringback_detected (void){   int eax;   bool state_changed = false;   int ecx = dp_ringback_state;   int edx = 0;   eax = dp_read_dsp_ram(0x3A) & 0x1000;   if (eax == 0) edx = 1;   if (dp_ringback_state == 1) goto loc_2AF1D;   if (dp_ringback_state != 2) goto loc_2AF68;   // Ringback state is 2.    if (eax == 0) goto loc_2AF68;   eax = x_elapsed_time(dp_ringback_off_timer);   dp_ringback_off_cadence = eax;   if (eax <= 0x1f4) goto loc_2AF0F;   dp_ringback_on_timer = x_current_time();loc_2AF0F:   dp_ringback_state = 1;   state_changed = true;   goto loc_2AF5D;//----------------------------------   // Ringback state is 1. loc_2AF1D:   if (edx == 0) goto loc_2AF4B;   dp_ringback_on_cadence = x_elapsed_time(dp_ringback_on_timer);   dp_ringback_state = 2;   state_changed = true;   // Reset on timer.   dp_ringback_on_timer = x_current_time();loc_2AF4B:   eax = x_elapsed_time(dp_ringback_on_timer);   if (eax <= 0xc8) goto loc_2AF68;loc_2AF5D:   // Reset off timer.   dp_ringback_off_timer = x_current_time();loc_2AF68:   // Has there been a transition in the ringback state   // and are the cadence values in range.   if ((state_changed == true)      && (dp_ringback_on_cadence > 800)      && (dp_ringback_on_cadence <= 3000)      && (dp_ringback_off_cadence > 1000))	 // If so we have completed another cycle.	 dp_ringback_cycles++;   if (dp_ringback_cycles > 0) {	 eax = x_elapsed_time(dp_ringback_off_timer);	 ecx = (S(0x45) * 100) + 150;	 if (eax > ecx) return true;	 if (dp_ringback_cycles != 0) return false;   }   eax = x_elapsed_time(dp_no_ringback_timer);   ecx = S(0x46) * 1000;   if (eax <= ecx) 	 return false;   else	 return true;}bool dp_quiet_answer_detected(void){  int q_time;  if(dp_read_dsp_ram(0x27) != 0) {	dp_quiet_answer_timer = x_current_time();	return false;  }  q_time = x_elapsed_time(dp_quiet_answer_timer);   if (q_time > 0x1387)	return true;  else	return false;}void dp_calling_tone_cmd (void){   short dsp_value;   if ((S(0x55) == 6) || (S(0x74) == 0) || (S(0x74) == 1)) goto loc_2B08E;   if ((ETC_mode & 3) != 1) goto loc_2B04E;   dp_write_dsp_ram(5, 0x3DD1);   dsp_value = 0x1090;   goto loc_2B05F;loc_2B04E:   dp_write_dsp_ram (5, 0x3A00);   dsp_value = 0x1B0C; loc_2B05F:   dp_write_dsp_ram(6, dsp_value);   dp_write_dsp_ram(0x17, 0x262);   dp_write_dsp_ram(0x11, H_transmit_level_ndB);   dp_modem_command(7, 1, 0);   return; loc_2B08E:   if (S(0x38) == 10) return;   // The following is not in Jamie's newdis1.#if 1   if (S(0x38) != 8) goto loc_2B0B1;   if (S(0x38) != 1) goto loc_2B0B1;   if (S(0x23) >= 3) return;   S(0x23) = S(0x23) + 1;#endifloc_2B0B1:   v8_ci_orig();}void dp_detect_over_current (unsigned char arg1){  printf("dp_detect_over_current(%d): warning not yet implemented!\n", arg1);}/*   30994:	80 3d 64 2e 06 00 00 	cmpb   $0x0,H_overcurrent_sense_validation_time   3099b:	74 5f          	je     0x309fc <_dp_detect_over_current@4+0x68>   3099d:	6a 41          	pushl  $0x41   3099f:	e8 c0 31 00 00 	call   _x_input@4   309a4:	84 c0          	testb  %al,%al   309a6:	74 49          	je     0x309f1 <_dp_detect_over_current@4+0x5d>   309a8:	66 a1 80 29 06 00 	movw   _dp_ocp_timer,%ax   309ae:	50             	pushl  %eax   309af:	e8 5a 68 00 00 	call   _x_elapsed_time@4   309b4:	0f b7 c8       	movzwl %ax,%ecx   309b7:	0f b6 05 64 2e 06 00 	movzbl H_overcurrent_sense_validation_time,%eax   309be:	8d 04 80       	leal   (%eax,%eax,4),%eax   309c1:	d1 e0          	shll   %eax   309c3:	3b c8          	cmpl   %eax,%ecx   309c5:	7c 35          	jl     0x309fc <_dp_detect_over_current@4+0x68>   309c7:	8a 44 24 04    	movb   0x4(%esp,1),%al   309cb:	6a 03          	pushl  $0x3   309cd:	f6 d8          	negb   %al   309cf:	1b c0          	sbbl   %eax,%eax   309d1:	c7 05 88 2d 06 00 21 00 00 00 	movl   $0x21,_dp_state   309db:	83 e0 07       	andl   $0x7,%eax   309de:	40             	incl   %eax   309df:	40             	incl   %eax   309e0:	a3 08 2f 06 00 	movl   %eax,_x_dial_residual   309e5:	e8 12 32 00 00 	call   _x_output@4   309ea:	e8 63 aa ff ff 	call   _dp_over_current_alert@0   309ef:	eb 0b          	jmp    0x309fc <_dp_detect_over_current@4+0x68>   309f1:	e8 e4 67 00 00 	call   _x_current_time@0   309f6:	66 a3 80 29 06 00 	movw   %ax,_dp_ocp_timer   309fc:	c2 04 00       	ret    $0x4   309ff:	cc             	int3   */// I think this is used to maintain a list of failed call numbers.void dp_update_blacklist (char* szDialstring, unsigned char arg2){  printf("dp_update_blacklist(%p, %d): warning not yet implemented!\n", szDialstring, arg2);}void dp_dial (void){  /* Needs sorting out!  int eax, ebx, edi;  void* esi;  unsigned char cl;  // Make room on the stack.		 sub	 esp, 54h  eax = dp_dial_state;  if (eax > 0xa) goto loc_2B6E7; // 9922    switch(eax) {  case 0: goto loc_2B341;  case 1: goto loc_2B51F;  case 2: goto loc_2B577;  case 3: goto loc_2B6AA;  case 4: goto loc_2B713;  case 5: goto loc_2B757;  case 6: goto loc_2B7AA;  case 7: goto loc_2B800;  case 8: goto loc_2B857;  case 9: goto loc_2BD3C;  case 0xA: goto loc_2BD9D; loc_2B341:  ebx = 0;  dp_busy_cycles = 0;  dp_answer_state = 0;  dp_max_pause = 0;  dp_continous_busy_timer = x_current_time();  esi = dp_dial_string;  if (dp_stored_number(dp_dial_string) == 0){	x_dial_residual = 0;	goto loc_2B850;  }  dp_dial_ptr = dp_dial_string;  edi = 1;  // byte_59F16 = H_dial_modifier_validation  if (H_dial_modifier_validation != 1) goto loc_2B3D2;  if (dp_test_dialstring(esi) == 0)	*dp_dial_string = 0;  eax = esi; //dp_dial_stringloc_2B3A0:  dp_dial_ptr = eax;  cl = *eax;  if((cl == 0x54) || (cl == 0x50)) goto loc_2B3B6;  if(cl != 0x2c) goto loc_2B3C7;loc_2B3B6:  if (*(eax + 1) != 0x2c) goto loc_2B3C7;  *(eax + 1) = cl;  eax = dp_dial_ptr;  eax++;  goto loc_2B3A0;loc_2B3C7:  if (*eax != 0x2c) goto loc_2B3D2;  eax++;  dp_dial_ptr = eax;loc_2B3D2:  if (*eax != 0x54) goto loc_2B3DE;  byte_59E8F = 1;loc_2B3DE:  if (*eax != 0x50) goto loc_2B3F3;  if(byte_59F20 != 0) goto loc_2B3F3;  byte_59E8F = 0;loc_2B3F3:   //ebx = 0?  if (dp_dialing_status != ebx) goto loc_2B45D;  eax = x_modem_mode;  if (eax == ebx) goto loc_2B408;  if (eax != edi) goto loc_2B45D;loc_2B408:  if (byte_59EDA != 0) goto loc_2B428;  if (byte_59EFE == 0) goto loc_2B428;  if (dp_check_list(esi) != 0) goto loc_2B850;loc_2B428:  eax = byte_59EE6;  esi = 0x1388;    //????  if (eax != 5) goto loc_2B43B;  esi = 0x1770;loc_2B43B:  if (eax == 0x19) goto loc_2B45D;  if (dp_first_call != 0) goto loc_2B45D;  eax = dp_timer1;  eax = x_elapsed_time(eax);  if (eax < esi) goto loc_2B6E7;loc_2B45D:  dp_dial_timer = x_current_time();  if (cell_originate == 1) goto loc_2B4B7;  eax = dp_dialing_status;  if (eax != ebx) goto loc_2B4A4;  eax = dp_offhook_cmd();  if (eax == 0) goto loc_2B846;  dp_dialing_status = 2;  dp_ocp_timer = x_current_time();  dp_dial_state = edi;  goto loc_2B500;loc_2B4A4:  if (eax != edi) goto loc_2B4C3;  dp_offhook_cmd();  dp_dialing_status = 2;loc_2B4B7:  dp_dial_state = 8; // DIAL_DIGIT  goto loc_2B500;loc_2B4C3:  if (_S[0x6a] != 2) goto loc_2B4D1;  dp_offhook_cmd();loc_2B4D1:  esi = 8;  if (x_modem_mode == 2) goto loc_2B4FA;  if (byte_59E97 == 0) goto  loc_2B4EC;  x_output(esi);loc_2B4EC:  x_output(0x0e);  x_output(0x13);loc_2B4FA:  dp_dial_state = esi;loc_2B500:  eax = x_current_time();  dp_dial_timer = eax;  if (byte_59E97 != 3) goto loc_2B6E7;  x_output(7);  goto loc_2B6E7;  //----------------------------------loc_2B51F:  eax = dp_dial_timer;  eax = x_elapsed_time(eax);  if (eax < 0x37) goto loc_2B66A;  eax = dp_dial_ptr;  eax = *eax  if (al == 0) goto loc_2B563;  if (al == 0x3b) goto loc_2B56B;  dp_detect_tones_cmd();  dp_dial_state = 2;  // DIAL_1  eax = x_current_time();  dp_dial_timer = eax;  goto loc_2B66A;loc_2B563:  if (eax != 0x3b) goto loc_2B60B;loc_2B56B:  dp_dialing_status = 0;  goto loc_2B60B;loc_2B577:  if (byte_59E8D != 0) || (byte_59F06 == 0) goto loc_2B5E3;  eax = dp_dial_timer;  eax = x_elapsed_time(eax);  ecx = byte_59E66;  ecx = ecx * 0x3E8; // Upper 32 bits of result in edx?    if (eax <= ecx) goto loc_2B66A;  esi = 8;  if (byte_59F06 != 2) goto loc_2B5CD;  eax = x_modem_mode;  if (eax == 0) goto loc_2B5C7;  if (eax != 1) goto loc_2B5CD;loc_2B5C7:   x_output(esi);loc_2B5CD:  eax = x_current_time();  dp_timer = eax;  dp_dial_state = esi;  goto loc_2B66A;  // Entries in jump table.loc_2B66A:loc_2B846:loc_2B850:loc_2BD9D:loc_2BD3C:loc_2B857:loc_2B800:loc_2B7AA:loc_2B757:loc_2B713:loc_2B6AA:  // Bye bye!loc_2B6E7:  eax = 0;  //0002BD93		 call	 sub__x_output_4  //0002BD98		 jmp	 loc_2B6E7  */}// Bodge routine to set up modem state for dialling.// Extracted from dp_periodic_task, called when (S + 0x72) != 0xA// and dp_state = 1;void bodge_init_dial (void){  if (dp_state == 1) {	//printf ("Setting up dial stuff.\n");	dp_state = 2;	dp_dialing_status = 0;	S_ring_count = 0;	dp_ring_int = 0;	dp_count = 0;	dp_ring_int_count = 0;	dp_calling_tone_disable = 0;	dp_timer1 = x_current_time();	dp_threshold = H_dial_tone_detection_threshold_dB;	dp_enable_ring_int();  }  // This bit is extracted from dp_dial.  dp_busy_cycles = 0;  dp_answer_state = 0;  dp_max_pause = 0;  dp_continous_busy_timer = x_current_time();}// Seems to be called when dp_state is 4, and dp_dial returns 2.// Extracted from dp_periodic_task.void bodge_after_dial_init (void){   //loc_27E92:	XREF: sub__dp_periodic_task_0+40   dp_timer = x_current_time();   dp_ocp_timer= x_current_time();   dp_threshold = H_call_progress_detection_threshold_ndB;   dp_state = 16;   x_set_current_time(&dp_long_timer);   if (S_speaker_enable == 3) x_output(8);}// Detects an incoming call.bool call_detected(void){	 if (dp_ring_detected() == true) {	   printf("Ring detected!\n");	   // Reset timer and set up modem state.	   dp_timer = x_current_time();	   dp_state = 17;	   x_modem_state = 2;	   return true;	 }	 else	   return false;}// This function is my invention, but includes code from dp_periodic_task// to set up the connection for data transfer.void connect_to_modem(void){  // What's S_connect_completion_timeout set to?  // Keep an eye on dp_long_timer  printf("Attempting to connect to remote modem...\n");  // Extracted from code for dp_state == 10.  //loc_2813D:  x_status[0x3d] = 7;           // byte_4AA5D  dp_state = 13;  if (dp_vpcm_init())	dp_state = 65;              // 535 sets dp_state = 66.  /*00028157                 mov     dword__dp_state, 42h Set above.000290C3                 cmp     dword__dp_state, 42h -> dp_vpcm_retrain_cmd in dp_task00029237                 cmp     dword__dp_state, 42h -> dp_vpcm_retrain_cmd in dp_task00029275                 cmp     dword__dp_state, 42h -> dp_vpcm_retrain_cmd in dp_task  */  else	dp_originate_cmd();  //loc_28168  if (H_blacklist_or_delay_flag)	dp_update_blacklist(dp_dial_string, 0);  dp_detect_over_current(1);  // Reset long timer.  x_minute_count = 0;  x_minute_timer = x_current_time();  x_set_current_time(&dp_long_timer);  // Main loop, try to get connected transitioning through the relevant states.    while(dp_state != 1){	//Artificial delay.	x_sleep(10);		dp_periodic_task();  }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品国产无套在线观| 欧美日韩极品在线观看一区| 色婷婷亚洲综合| 日韩欧美亚洲一区二区| 亚洲伦理在线精品| 国产一区二区调教| 欧美日韩精品欧美日韩精品一| 国产女主播在线一区二区| 免费在线观看精品| 欧美午夜精品一区二区三区| 国产精品久久久久久久久免费樱桃| 免费观看一级特黄欧美大片| 91久久精品国产91性色tv| 亚洲国产成人一区二区三区| 韩国视频一区二区| 欧美一区二区三区啪啪| 亚洲一区二区偷拍精品| 99久久精品国产精品久久| 久久久久久久综合日本| 美女www一区二区| 3atv在线一区二区三区| 夜色激情一区二区| 色综合久久久久综合| 亚洲欧洲精品一区二区三区| 国产精品77777| 国产女主播视频一区二区| 麻豆精品国产91久久久久久| 7777精品伊人久久久大香线蕉完整版 | 亚洲成a人在线观看| 国产精品99久久不卡二区| 91行情网站电视在线观看高清版| 亚洲精品欧美激情| 久久这里只精品最新地址| 在线观看国产精品网站| 国产精品一区二区果冻传媒| 亚洲制服欧美中文字幕中文字幕| 精品成人a区在线观看| 色综合天天性综合| 国产一区二区三区四区在线观看| 亚洲欧美日韩国产手机在线| 精品国产网站在线观看| 欧美三级在线播放| www.爱久久.com| 精品一区二区三区免费播放| 一区二区三区精品在线观看| 日韩久久免费av| 欧美日高清视频| 99在线视频精品| 国产精品一级片| 久久草av在线| 亚洲3atv精品一区二区三区| 国产精品久久二区二区| 久久综合视频网| 欧美疯狂做受xxxx富婆| 色综合天天综合网天天狠天天 | 蜜桃在线一区二区三区| 一区二区三区免费观看| 国产精品电影一区二区三区| 久久久影视传媒| 欧美一级欧美三级在线观看| 欧美视频在线播放| 91麻豆国产香蕉久久精品| 国产高清不卡一区| 极品少妇一区二区三区精品视频 | 欧美日韩亚洲另类| 在线观看网站黄不卡| 99r国产精品| a4yy欧美一区二区三区| 风间由美一区二区三区在线观看 | 蜜臀精品一区二区三区在线观看| 一区二区三区四区在线播放 | 丁香五精品蜜臀久久久久99网站| 九九视频精品免费| 日本不卡高清视频| 蜜臀久久99精品久久久画质超高清 | 日韩制服丝袜av| 亚洲国产日产av| 亚洲一区二区三区四区中文字幕| 亚洲天堂av老司机| 亚洲免费观看高清完整版在线| 亚洲少妇30p| 亚洲精品国产成人久久av盗摄| 国产精品乱码一区二三区小蝌蚪| 国产精品毛片久久久久久久| 国产精品亲子乱子伦xxxx裸| 国产精品欧美一级免费| 亚洲男人天堂av| 午夜不卡av免费| 老鸭窝一区二区久久精品| 黑人巨大精品欧美一区| 国产成人在线影院 | 欧美午夜精品免费| 欧美理论电影在线| 日韩免费成人网| 国产日本欧洲亚洲| 亚洲色大成网站www久久九九| 亚洲午夜免费视频| 男女视频一区二区| 丁香天五香天堂综合| 91成人免费在线视频| 欧美福利电影网| 国产欧美日韩在线看| 亚洲免费观看高清完整版在线| 午夜欧美2019年伦理| 老司机精品视频线观看86| 国产盗摄视频一区二区三区| 99精品视频中文字幕| 欧美日韩电影在线| 久久日一线二线三线suv| 国产精品国产馆在线真实露脸 | 日韩欧美国产综合| 欧美激情中文不卡| 亚洲成在人线免费| 国产精品夜夜爽| 在线观看成人小视频| 精品国产伦一区二区三区观看体验 | 欧美一区日韩一区| 欧美国产综合色视频| 午夜电影久久久| 91视频你懂的| 精品国产在天天线2019| 一区二区三区在线视频播放| 久久不见久久见免费视频1| av中文字幕不卡| 精品国产1区二区| 亚洲一区精品在线| 国产成人午夜精品5599| 欧美在线观看视频一区二区| 久久久久久久久久久99999| 亚洲一级在线观看| 成人黄色软件下载| 日韩免费视频线观看| 亚洲一区二区综合| 不卡免费追剧大全电视剧网站| 在线不卡免费欧美| 亚洲日穴在线视频| 国产精品一品视频| 欧美一区二区三级| 一区二区三区四区视频精品免费| 国内精品伊人久久久久av影院| 在线免费观看一区| 亚洲三级久久久| 不卡视频一二三四| 中文字幕欧美国产| 韩日精品视频一区| 精品毛片乱码1区2区3区| 天堂精品中文字幕在线| 91黄色在线观看| 成人欧美一区二区三区黑人麻豆 | 久久99精品久久久久| 欧美日韩五月天| 亚洲美女电影在线| 99国产精品久久久久| 国产精品久久久久久久久搜平片| 国产福利一区在线| 久久久国产精华| 国产一区二区不卡在线| 日韩精品一区二区三区三区免费 | 欧美成人猛片aaaaaaa| 免费国产亚洲视频| 欧美大胆一级视频| 日本最新不卡在线| 日韩视频一区在线观看| 日本亚洲一区二区| 日韩三级电影网址| 久久99国内精品| 精品少妇一区二区三区在线播放 | 精品日韩在线一区| 九色|91porny| 国产日韩欧美综合在线| 高清成人在线观看| 国产精品不卡在线观看| 94-欧美-setu| 亚洲一区二区在线免费观看视频| 欧美影视一区二区三区| 亚洲成av人片一区二区| 日韩欧美自拍偷拍| 国产在线视频一区二区| 国产日韩欧美精品综合| 成人av资源站| 亚洲一二三四区不卡| 欧美日韩国产欧美日美国产精品| 日韩国产欧美在线视频| 精品国产乱码久久久久久老虎| 国产精品一区三区| 亚洲女同一区二区| 88在线观看91蜜桃国自产| 国产一区二区三区视频在线播放| 国产视频视频一区| 色综合婷婷久久| 免费看日韩a级影片| 久久久精品日韩欧美| 一本色道久久综合狠狠躁的推荐| 亚洲h在线观看| 26uuu成人网一区二区三区| 99久久国产免费看| 天天免费综合色| 久久久精品tv| 欧洲av在线精品| 老司机精品视频导航|