我发现了
mov al, bl
mov ah, bh
Run Code Online (Sandbox Code Playgroud)
比...快得多
mov ax, bx
Run Code Online (Sandbox Code Playgroud)
谁能解释我为什么?我在Windows XP下以32位模式运行Core 2 Duo 3 Ghz.使用NASM进行编译,然后与VS2010进行链接.Nasm编译命令:
nasm -f coff -o triangle.o triangle.asm
Run Code Online (Sandbox Code Playgroud)
这是我用来渲染三角形的主循环:
; some variables on stack
%define cr DWORD [ebp-20]
%define dcr DWORD [ebp-24]
%define dcg DWORD [ebp-32]
%define dcb DWORD [ebp-40]
loop:
add esi, dcg
mov eax, esi
shr eax, 8
add edi, dcb
mov ebx, edi
shr ebx, 16
mov bh, ah
mov eax, cr
add eax, dcr
mov cr, eax
mov ah, bh ; …
Run Code Online (Sandbox Code Playgroud)