⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000000.htm

📁 一份很好的linux入门资料
💻 HTM
字号:
<HTML><HEAD>  <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人:&nbsp;chenl&nbsp;(bigmouth),&nbsp;信区:&nbsp;Linux&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;Re:&nbsp;请熟悉汇编的大峡帮忙!!!!&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Sat&nbsp;Aug&nbsp;&nbsp;7&nbsp;09:10:28&nbsp;1999)&nbsp;WWW-POST&nbsp;<BR>&nbsp;<BR>【&nbsp;在&nbsp;xtime&nbsp;(逝者)&nbsp;的大作中提到:&nbsp;】
&nbsp;<BR>∶<I>&nbsp;下面是Linux进程切换的原代码:
&nbsp;</I><BR>∶<I>&nbsp;#define&nbsp;switch_to(prev,next)&nbsp;do&nbsp;{&nbsp;\
&nbsp;</I><BR>∶<I>&nbsp;__asm__(&quot;movl&nbsp;%2,&quot;SYMBOL_NAME_STR(current_set)&quot;\n\t&quot;&nbsp;\&nbsp;
&nbsp;</I><BR>In&nbsp;c:&nbsp;current_set=next;
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__asm&nbsp;longjump&nbsp;(*(((char*(&amp;next-&gt;tss.tr)-4))
&nbsp;<BR>	/*&nbsp;swith&nbsp;the&nbsp;task,&nbsp;refer&nbsp;to&nbsp;the&nbsp;i386&nbsp;task&nbsp;switch&nbsp;*/
&nbsp;<BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;ljmp&nbsp;%0\n\t&quot;&nbsp;\
&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;cmpl&nbsp;%1,&quot;SYMBOL_NAME_STR(last_task_used_math)&quot;\n\t&quot;&nbsp;\&nbsp;
&nbsp;</I><BR>	if(last_task_used_math_coprocessor){
&nbsp;<BR>		save&nbsp;all&nbsp;debug&nbsp;register&nbsp;for&nbsp;the
&nbsp;<BR>		process&nbsp;&quot;prev&quot;
&nbsp;<BR>		use&nbsp;loaddebug();
&nbsp;<BR>	}
&nbsp;<BR>	return;
&nbsp;<BR>wish&nbsp;this&nbsp;could&nbsp;give&nbsp;u&nbsp;help.
&nbsp;<BR>	
&nbsp;<BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;jne&nbsp;1f\n\t&quot;&nbsp;\
&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;clts\n&quot;&nbsp;\&nbsp;
&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;1:&quot;&nbsp;\&nbsp;
&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;/*&nbsp;no&nbsp;outputs&nbsp;*/&nbsp;\&nbsp;
&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&quot;m&quot;&nbsp;(*(((char&nbsp;*)&amp;next-&gt;tss.tr)-4)),&nbsp;\
&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;r&quot;&nbsp;(prev),&nbsp;&quot;r&quot;&nbsp;(next));&nbsp;\&nbsp;
&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Now&nbsp;maybe&nbsp;reload&nbsp;the&nbsp;debug&nbsp;registers&nbsp;*/&nbsp;\
&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(prev-&gt;debugreg[7]){&nbsp;\&nbsp;&nbsp;
&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loaddebug(prev,0);&nbsp;\&nbsp;&nbsp;
&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loaddebug(prev,1);&nbsp;\
&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loaddebug(prev,2);&nbsp;\&nbsp;&nbsp;
&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loaddebug(prev,3);&nbsp;\&nbsp;&nbsp;
&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loaddebug(prev,6);&nbsp;\&nbsp;
&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;\
&nbsp;</I><BR>∶<I>&nbsp;}&nbsp;while&nbsp;(0)
&nbsp;</I><BR>∶<I>&nbsp;恳请大峡给予增援!向小生讲解以下该函数的大体意思。
&nbsp;</I><BR>&nbsp;<BR>--&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;舟摇摇而轻扬,&nbsp;风飘飘以吹衣,&nbsp;<BR>&nbsp;&nbsp;问征夫以前路,&nbsp;恨晨光之曦微.&nbsp;<BR>&nbsp;<BR>※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;bbs.net.tsinghua.edu.cn·[FROM:&nbsp;202.115.6.100]&nbsp;&nbsp;<BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -