看板 ASM 關於我們 聯絡資訊
前面的code比較慢 後面的code比較快 做optimizing就會碰到裡面的東西 這篇講的算是比較粗淺的部份 -------------------- 1.避免AGI延遲 mov ebx,1 mov edi,10000h mov [edi],eax mov edi,10000h mov ebx,1 mov [edi],eax 2.避免先寫後讀(8-bit和16-bit視作同一個) mov eax,dword ptr [ebp-4] mov dword ptr [ebp-8],eax mov ebx,dword ptr [ebp-8] mov dword ptr [ebp-0ch],ebx mov edx,dword ptr [ebp-0ch] mov dword ptr [ebp-4],edx mov eax,dword ptr [ebp-4] mov ebx,dword ptr [ebp-8] mov edx,dword ptr [ebp-0ch] mov dword ptr [ebp-8],eax mov dword ptr [ebp-0ch],ebx mov dword ptr [ebp-4],edx 3.利用cache mov eax,dword ptr [ebp-14h] mov eax,dword ptr [ebp-18h] mov eax,dword ptr [ebp-1ch] mov eax,dword ptr [ebp-4] mov dword ptr [ebp-8],eax mov eax,dword ptr [ebp-8] mov dword ptr [ebp-0ch],eax mov eax,dword ptr [ebp-0ch] mov dword ptr [ebp-4],eax mov eax,dword ptr [ebp-4] mov eax,dword ptr [ebp-8] mov eax,dword ptr [ebp-0ch] mov eax,dword ptr [ebp-4] mov dword ptr [ebp-8],eax mov eax,dword ptr [ebp-8] mov dword ptr [ebp-0ch],eax mov eax,dword ptr [ebp-0ch] mov dword ptr [ebp-4],eax 4.固定週期的multicycle opcode,後面如果是不固定週期的multicycle opcode可加快 CMC CMC CMC XCHG 5.少用帶有prefix的指令 MOV AX,[ebp-4] MOV BX,[ebp-4] MOV DX,[ebp-4] MOV EAX,[ebp-4] MOV EBX,[ebp-4] MOV EDX,[ebp-4] -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.134.226.149 ※ 編輯: loveflames 來自: 140.134.226.149 (11/30 01:26) ※ 編輯: loveflames 來自: 140.134.226.149 (11/30 01:26)