ik ben nu dus ook assembly aan het leren, maar krijg nu de volgende warning:
(ja het is een simpel priemtest-programma
)
Als ik het programma uitvoer krijg ik ook een fatale fout
Dit is m'n code:
Wat zit hier fout
code:
1
2
3
| g:\c++\priem\priem.cpp(87) : warning C4414: 'end' : short jump to function converted to near g:\c++\priem\priem.cpp(94) : warning C4414: 'end' : short jump to function converted to near g:\c++\priem\priem.cpp(102) : warning C4102: 'end' : unreferenced label |
(ja het is een simpel priemtest-programma
Als ik het programma uitvoer krijg ik ook een fatale fout
Dit is m'n code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| UINT priem_asm(UINT testgetal)
{
UINT r;
_asm
{
mov eax, [testgetal] //testgetal weer in eax zetten
mov ecx, 2 //ecx (deelgetal) is twee
mov edx, 0 //edx resetten
div ecx //delen door ecx (twee)
cmp edx, 0 //is de rest nul?
je end //zo ja return 2
mov ecx, 3 //ecx is het getal om door te delen (beginnend met 3)
looping: //label voor de loop
mov eax, [testgetal] //testgetal weer in eax zetten
mov edx, 0 //edx resetten
div ecx //delen door ecx
cmp edx, 0 //is ie nul?
je end //dan deelbaar door ecx
cmp ecx, eax //is ecx al hoog genoeg?
add ecx, 2 //met twee verhogen
jl looping //zo niet, dan nog een keer
mov ecx, 0 //door niks te delen? dan return value null
end:
mov [r], ecx
}
return r;
} |
Wat zit hier fout