From ec6e35b303352c728bef16103fb3b3ac13a04744 Mon Sep 17 00:00:00 2001 From: Stefan Lankes <stlankes@users.noreply.github.com> Date: Tue, 25 Apr 2017 15:39:49 +0200 Subject: [PATCH] Remove typos --- chapter2/pi/v6/calcPi_AVX.asm | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/chapter2/pi/v6/calcPi_AVX.asm b/chapter2/pi/v6/calcPi_AVX.asm index 040c68c..a6edb3d 100644 --- a/chapter2/pi/v6/calcPi_AVX.asm +++ b/chapter2/pi/v6/calcPi_AVX.asm @@ -5,16 +5,16 @@ extern step, sum,num_steps,four,two,one,ofs global calcPi_AVX global hasAVX -; Mit cpuid kann �berpr�ft werden, welche "Features" der Prozessor unterst�tzt. -; Bevor man Instruktionserweiterungen verwendet, sollte hiermit �berpr�ft werden, +; Mit cpuid kann überprüft werden, welche "Features" der Prozessor unterstützt. +; Bevor man Instruktionserweiterungen verwendet, sollte hiermit überprüft werden, ; ob diese vorhanden sind. -; Streng genommen muss vorher �berpr�ft werden, ob die Instruktion "cpuid" vorhanden +; Streng genommen muss vorher überprüft werden, ob die Instruktion "cpuid" vorhanden ; ist. Sie existiert erst seit 1993! hasAVX: push ebp mov ebp, esp - ; cpuid �berschreibt eax, ebx, ecx, edx => ebx, ecx sichern + ; cpuid überschreibt eax, ebx, ecx, edx => ebx, ecx sichern push ebx push ecx @@ -22,11 +22,11 @@ hasAVX: ; Verwendet das OS XASVE und XRSTOR? mov eax, 1 cpuid - and ecx, 18000000h ; pr�fe bit 27 (OS uses XSAVE/XRSTOR) + and ecx, 18000000h ; prüfe bit 27 (OS uses XSAVE/XRSTOR) cmp ecx, 18000000h ; und 28 (AVX supported by CPU) jne not_supported - ; Unterst�tzt das OS AVX? + ; Unterstützt das OS AVX? xor ecx, ecx xgetbv and eax, 110b @@ -61,12 +61,12 @@ calcPi_AVX: vmovapd ymm3, [four] ; initialisiere ymm3 mit (4.0, 4.0, 4.0, 4.0) L1: - cmp ecx, [num_steps] ; Abbruchbedingung �berpr�fen + cmp ecx, [num_steps] ; Abbruchbedingung überprüfen jge L2 ; Berechne (i+0.5)*step vmulpd ymm4, ymm1, ymm2 ; Quadriere das Zwischenergebniss - ; und erh�he um eins + ; und erhöhe um eins vmulpd ymm4, ymm4, ymm4 vaddpd ymm4, ymm4, [one] %if 1 @@ -75,12 +75,12 @@ L1: %else ; vdivpd ist extrem langsam ; Idee: Approximiere den Reziprokwert und - ; verfeinere die Liesung mit mit den Newton-Raphson Verfahren + ; verfeinere die Loesung mit den Newton-Raphson Verfahren vmovapd ymm5, ymm4 vmovapd ymm6, ymm4 vcvtpd2ps xmm4, ymm5 ; Konvertiere in einfache Genauigkeit vrcpps xmm4, xmm4 ; Approximiere den Reziprokwert (Genauigkeit 2^-12) - vcvtps2pd ymm4, xmm4 ; Konvertiere nun wieder zur�ck + vcvtps2pd ymm4, xmm4 ; Konvertiere nun wieder zurück ; Newton-Raphson Verfahren anwenden, um eine genaueres Ergebnis zu haben ; x1 = x0 * (2 - d * x0) = 2 * x0 - d * x0 * x0; vmulpd ymm5, ymm4 @@ -97,18 +97,18 @@ L1: ; mit 4 multiplizieren vmulpd ymm4, ymm3 %endif - ; Summiere die ermittelten Rechtecksh�hen auf + ; Summiere die ermittelten Rechteckshöhen auf vaddpd ymm0, ymm0, ymm4 - ; Laufz�hler erh�hen und + ; Laufzähler erhöhen und ; zum Schleifenanfang springen vaddpd ymm2, ymm2, ymm3 add ecx, 4 jmp L1 L2: - vperm2f128 ymm3, ymm0, ymm0, 0x1 ; tausche die niedrigen mit den h�heren 128 Bits + vperm2f128 ymm3, ymm0, ymm0, 0x1 ; tausche die niedrigen mit den höheren 128 Bits vaddpd ymm3, ymm3, ymm0 ; implizit werden die oberen mit den niedrigen 128 Bits addiert vhaddpd ymm3, ymm3, ymm3 ; die unteren beiden Zahlen addiert - vmovsd [sum], xmm3 ; Ergebnis zur�ckkopieren + vmovsd [sum], xmm3 ; Ergebnis zurückkopieren pop ecx pop ebx -- GitLab