termineertaak: ; Opgave 3 ; ; gooit de taak die deze routine oproept uit de takenlijst ; en zet de uitvoering verder met een andere taak uit de takenlijst mov [Huidige_Taak], dword 0 ; Nu moeten we zoeken een andere taak om uit te voeren. push eax push ecx mov eax, [Huidige_Taak] mov ecx, [Huidige_Tick] .zoeker: add eax, 8 cmp eax, takenlijst + (MAX_TAKEN * 8) jl .verder_zoeken lea eax, [takenlijst] .verder_zoeken: cmp dword[eax], 0 je .zoeker cmp dword[eax+4], ecx jg .zoeker ; Nieuwe taak is gevonden. mov [Huidige_Taak], eax mov esp, [eax] pop ecx pop eax ret