方法一:使用第三方变量 , b = , temp; temp = a; a = b; b = temp; 方法二:变量加减法(即121,加减减) , b = ; a = a + b; b = a - b; a = a - b; 方法三:使用按位异或 , b = ; a = a ^ b; b = a ^ b; a = a ^ b;
/* 34 * Get physical address of first (actually last :-) free page, and mark it 35 * used. If no free pages left, return 0. 36 */ unsigned long get_free_page(void) { register unsigned long __res asm("ax"); __asm__("std ; repne ; scasw\n\t&q
Linux-0.11内存管理模块是源码中比較难以理解的部分,如今把笔者个人的理解发表 先发Linux-0.11内核内存管理get_free_page()函数分析 有时间再写其它函数或者文件的:) /* *Author : DavidLin *Date : 2014-11-11pm *Email : linpeng1577@163.com or linpeng1577@gmail.com *world : the city of SZ, in China *Ver