久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
memcpy匯編
[打印本頁]
作者:
51黑tt
時間:
2016-3-5 23:59
標題:
memcpy匯編
意間在Linux內核中發現這么一段匯編代碼,更準確地說應該是gcc內聯匯編,寫得很精彩,拿出來和大家分享一下。
代碼是在include/asm-i386/string.h中,是針對i386對memcpy做進一步優化。我們知道,一個簡單的memcpy其實和strcpy差不多,區別只是前者檢查的是復制的個數,而后者檢查的是當前字符是否是’\0′。
而這顯然還有很大的優化余地,首先像這種非常常用的庫函數是可以用匯編重寫來提高速度的。當然了,可移植性是降低了,但我們可以針對每個平臺寫一套匯編。這樣速度上的提升還是蠻樂觀的。其次,memcpy顯然沒必要一個一個字節地復制,其實我們最多每次也就復制4個字節(當然是在i386上),但如果復制數量大的話,這種提升還是很明顯的。于是下面的匯編就出來樂~!
0.png
(212.43 KB, 下載次數: 35)
下載附件
2016-3-5 23:59 上傳
評論如下:
34~36
rep=>重復
movsl=>以long為單位拷貝,從from(%esi)到to(%edi),復制n/4次。別擔心,這里是i386。
37~38
恩,用n/4去和n相與。
39
若n/4個4就是全部則完成,跳轉到后面的標號,結束。
40
還有剩下的,好,把n%4剩下的一個一個字節地復制。
41~44
這里看不懂的就去學gcc的嵌入匯編語法吧!
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
亚洲精品在线看
|
人人亚洲
|
成人免费看片
|
久草精品视频
|
91精品久久久久久久久
|
日韩久久精品
|
91爱爱·com
|
欧美久久久网站
|
日韩成人影院
|
欧美日韩三级在线观看
|
91精品国产欧美一区二区成人
|
91社区在线高清
|
三级黄色片在线播放
|
一区二区三区视频播放
|
国产无套一区二区三区久久
|
一级毛片视频免费观看
|
久久精品视频免费看
|
天天干狠狠
|
欧美一级黄色片免费观看
|
久久久久久久av麻豆果冻
|
成人片网址
|
亚洲一区二区三区免费观看
|
一级毛片免费完整视频
|
免费国产一区二区
|
欧美激情第一区
|
日韩精品在线视频免费观看
|
午夜精品久久久久久
|
精品一区国产
|
激情网五月天
|
91影院在线观看
|
九九热在线观看
|
久久精品免费观看
|
久久一区二区三区四区
|
亚洲毛片在线观看
|
精品国产免费一区二区三区演员表
|
一级片在线观看视频
|
色视频网站在线观看
|
91久久久久久久久久久久久
|
久草欧美视频
|
国产日韩精品视频
|
一呦二呦三呦国产精品
|