|
|
|
|
|
|
17
|
|
17
|
|
|
18
|
Hier wird der Lock durch das Vertauschen des Wertes in `mutex` mit dem Register `ax` gesetzt. Aufgehoben wird der Lock, in dem eine `0` in die Mutex-Variable (`mutex`) geschrieben wird.
|
18
|
Hier wird der Lock durch das Vertauschen des Wertes in `mutex` mit dem Register `ax` gesetzt. Aufgehoben wird der Lock, in dem eine `0` in die Mutex-Variable (`mutex`) geschrieben wird.
|
|
19
|
|
19
|
|
|
20
|
-1. Das Programm liefert nun immer den erwarteten Wert. Sowohl mit `./x86.py -p test-and-set.s -M mutex,count -R ax,bx -i 1 -a bx=40,bx=40` als auch mit nur `-i 1000` steht am Ende der Wert `80` in `count`.
|
|
|
|
|
|
20
|
+1. Das Programm liefert nun immer den erwarteten Wert. Sowohl mit `./x86.py -p test-and-set.s -M mutex,count -R ax,bx -i 1 -a ax=40:bx=40,ax=40:bx=40` als auch mit nur `-i 1000` steht am Ende der Wert `80` in `count`.
|
|
|
|
21
|
+
|
|
|
|
22
|
+2. Die mit der Flag `-P` ausgeführten Tests laufen fehlerfrei. Beispielsweise liefern `./x86.py -p test-and-set.s -M mutex,count -R ax,bx -a ax=5:bx=5,ax=5:bx=5 -P 0011` und `./x86.py -p test-and-set.s -M mutex,count -R ax,bx -a ax=5:bx=5,ax=5:bx=5 -P 001000000000001` beide das erwartete Ergebnis (`10`).
|