- Írja meg az alábbi egyszerű eljárást, amely meghatározza
két
szám
összegét!
Procedure Osszead1(VAR V1:int64; VAL V2:int64; RESULT R:int64);
Begin Osszead1;//R=V1+V2
- Írja meg az alábbi egyszerű eljárást, amely meghatározza
két
szám
összegét!
Procedure Osszead2(VALRES V1:int64; VAL V2:int64);
Begin Osszead2;//V1=V1+V2
- Írja meg az alábbi egyszerű eljárást, amely meghatározza
két
szám
összegét!
Procedure Osszead3(VAR V1:int64; VAL V2:uns32; RESULT R:int64);
Begin Osszead3;//R=V1+V2
- Írja meg az alábbi egyszerű eljárást, amely meghatározza
két
szám
összegét!
Procedure Osszead4(VAR V1:int64; VAL V2:int16; RESULT R:int64);
Begin Osszead4;//R=V1+V2
- Írja meg az alábbi egyszerű eljárást, amely meghatározza
két
szám
különbségét!
Procedure Kivon1(VAL V1:int64; VAR V2:int64; RESULT R:int64);
Begin Kivon1;//R=V1-V2
- Írja meg az alábbi egyszerű eljárást, amely összehasonlítja
két
argumentumát!
Procedure Hasonlit1(VAL V1:int64; VAR V2:int64);
Begin Hasonlit1;//AL=(V1>V2)?1:0
- Írja meg az alábbi egyszerű eljárást, amely összehasonlítja
két
argumentumát!
Procedure Hasonlit2(VAL V1:uns128; VAL V2:uns128);
Begin Hasonlit2;//AL=(V1<V2)?1:0
- Írja meg az alábbi egyszerű eljárást, amely meghatározza
két
szám
különbségét!
Procedure Kivon2(VAL V1:int64; VALRES V2:int64);
Begin Kivon2;//V2=V1-V2
- Írja meg az alábbi egyszerű eljárást, amely meghatározza
két
szám
különbségét!
Procedure Kivon3(VAR V1:int64; VAL V2:int32; RESULT R:int64);
Begin Kivon3;//R=V1-V2
- Írja meg az alábbi egyszerű eljárást, amely meghatározza
két
szám különbségét!
Procedure Kivon4(VAR V1:int64; VAL V2:uns8; RESULT R:int64);
Begin Kivon4;//R=V1-V2
- Írja meg az alábbi egyszerű eljárást, amely meghatározza
egy
szám abszolút értékét!
Procedure Abs1(VAL V1:int64; RESULT R:int64);
Begin Abs1;//R=|V1|
- Írja meg az alábbi egyszerű eljárást, amely meghatározza
egy
szám abszolút értékét!
Procedure Abs2(VAR V1:int64);
Begin Abs2;//(EDX:EAX)=|V1|
- Írja meg az alábbi eljárást, amely meghatározza két szám
szorzatát!
Procedure Szoroz1(VAL V1:uns64; VAR V2:uns32; RESULT R:uns64);
Begin Szoroz1;//R=V1*V2, ill. EAX=(R=0)?0:1
- Írja meg az alábbi eljárást, amely meghatározza két szám
szorzatát!
Procedure Szoroz2(VAL V1:uns64; VAR V2:uns16; RESULT R:uns64);
Begin Szoroz2;//R=V1*V2, ill. EAX=(R=0)?0:1
- Írja meg az alábbi eljárást, amely meghatározza két szám
szorzatát!
Procedure Szoroz3(VAR V1:uns32; VAR V2:uns16; RESULT R:uns32);
Begin Szoroz3;//R=V1*V2, ill. EAX=(R=0)?0:1
- Írja meg az alábbi eljárást, amely meghatározza két szám
szorzatát!
Procedure Szoroz4(VAL V1:int64; VAL V2:uns16; RESULT R:int64);
Begin Szoroz4;//R=V1*V2, ill. EAX=(R=0)?0:1
- Írja meg az alábbi eljárást, amely meghatározza két szám
hányadosát!
Procedure Oszt1(VAL V1:uns64; VAR V2:uns32; RESULT R:uns64);
Begin Oszt1;//R=V1/V2
- Írja meg az alábbi eljárást, amely meghatározza az osztási
maradékot!
Procedure Oszt2(VAL V1:uns64; VAR V2:uns32; RESULT R:uns32);
Begin Oszt2;//R=V1%V2
- Írja meg az alábbi eljárást, amely meghatározza két szám
hányadosát!
Procedure Oszt3(VAR V1:uns64; VAL V2:uns32; RESULT R:uns64);
Begin Oszt3;//R=V1/V2
- Írja meg az alábbi eljárást, amely meghatározza az osztási
maradékot!
Procedure Oszt4(VAR V1:uns64; VAL V2:uns32; RESULT R:uns32);
Begin Oszt4;//R=V1%V2
- Írja meg az alábbi eljárást, amely meghatározza az osztási
maradékot!
Procedure Oszt5(VAR V1:uns64; VAL V2:uns32);
Begin Oszt5;//EAX=V1%V2
- Írja meg az alábbi eljárást, amely meghatározza az osztási
maradékot!
Procedure Oszt6(VAR V1:uns64; VALRES V2:uns32);
Begin Oszt6;//V2=V1%V2
- Írja meg az alábbi eljárást, amely meghatározza két szám
hányadosát!
Procedure Oszt7(VAR V1:uns64; VAL V2:uns32);
Begin Oszt7;//V1=V1/V2
- Írja meg az alábbi eljárást, amely meghatározza két szám
hányadosát!
Procedure Oszt8(VALRES V1:uns64; VAL V2:uns32);
Begin Oszt8;//V1=V1/V2
- Írja meg az alábbi eljárást, amely meghatározza két szám
hányadosát!
Procedure Oszt9(VAL V1:uns64; VAL V2:uns16);
Begin Oszt9;//(EDX:EAX)=V1/V2
- Írja meg az alábbi eljárást, amely elvégzi a kijelölt
forgatást!
Procedure Forgat1(VAL V1:uns64; VAL V2:uns8);
Begin Forgat1;//(EDX:EAX)=V1; ROL(V2,EDX:EAX)
- Írja meg az alábbi eljárást, amely elvégzi a kijelölt
forgatást!
Procedure Forgat2(VAL V1:uns64; VAL V2:uns8;
RESULT R:uns64);
Begin Forgat2;//R=V1; ROR(V2,R)
- Írja meg az alábbi eljárást, amely elvégzi a kijelölt
eltolást!
Procedure Eltol1(VAL V1:uns64; VAL V2:uns8; RESULT R:uns64);
Begin Eltol1;//R=V1; SHR(V2,R)
- Írja meg az alábbi eljárást, amely elvégzi a kijelölt
eltolást!
Procedure Eltol2(VALRES V1:uns64; VAL V2:uns8);
Begin Eltol2;// SHL(V2,V1)
- Írja meg az alábbi eljárást, amely elvégzi a kijelölt
eltolást!
Procedure Eltol3(VAR V1:uns64; VAL V2:uns8;
RESULT R:uns64);
Begin Eltol3;// R=V1; SAR(V2,R)
- Írja meg az alábbi eljárást! (Használjon forgató és eltoló
utasításokat!)
Procedure Bitek1(V1:int32 in EBX; V2:int32 in EAX);
Begin Bitek1;// V2 "második öt"
bitjét (25..29 helyiérték) felülírja V1 megfelelő bitjeivel
- Írja meg az alábbi eljárást, amely biteket helyez át egyik
változóból
a másikba!
Procedure Bitek2(V1:int32 in EBX; V2:int32 in EAX; mask:int32);
Begin Bitek2;// V1 bitjeivel felülírja V2-bitjeit, ahol a
mask-ban 1-es bit van
- Írja meg az alábbi eljárást, amely biteket helyez át egyik
változóból
a másikba!
Procedure Bitek3(V1:int32 in EBX; V2:int32 in EAX; mask:int32);
Begin Bitek3;//(V1 ÉS V2) bitjeivel felülírja
V2-bitjeit, ahol a mask-ban 1-es bit van
- Írja meg az alábbi eljárást, amely biteket helyez át egyik
változóból
a másikba!
Procedure Bitek4(V1:int32 in EBX; V2:int32 in EAX; mask:int32);
Begin Bitek4;// V1 bitjeivel felülírja V2-bitjeit, ahol a
mask-ban 0-ás bit van
- Írja meg az alábbi eljárást, amely biteket helyez át egyik
változóból
a másikba!
Procedure Bitek5(V1:int32 in EBX; V2:int32 in EAX; mask:int32);
Begin Bitek5;//(V1 VAGY V2) bitjeivel felülírja
V2-bitjeit, ahol a mask-ban 0-ás bit van
- Írja meg az alábbi eljárást, amely összehasonlítja két
argumentumát!
Procedure Bitek6(V1:int32 in EBX; V2:int32 in EAX);
VAR tmp:dword;
Begin Bitek6;// AL=(V1 minden bitje >= V2 megfelelö
bitje)?1:0