Assembly programozás. Segítene valaki?
Unit unit_5;
procedure Fgv5 (V1:int32 in EBX; V2:int32 in EAX; mask:int32); @external;
procedure Fgv5 (V1:int32 in EBX; V2:int32 in EAX; mask:int32);
Begin Fgv5;//(V1 VAGY V2) bitjeivel felülírja V2-bitjeit, ahol a mask-ban 0-ás bit van
PUSH(ECX);
PUSH(EDX);
PUSH(EDI);
PUSH(ESI);
ide jönne a lényegi kód
POP(ESI);
POP(EDI);
POP(EDX);
POP(ECX);
End Fgv5;
end unit_5;
fontos lenne!
Már ne is haragudj, de mi a kérdésed? Mert azt itt nem látok. Inline ASM kódot látok pacal közé tákolva, amit kerülni kéne. Borzalmas azonosítókat látok (Fgv5, V1, V2), amiért jobb helyeken ujjlevágás jár. Befejezetlen kódot látok, ami így, konkrét kérdés nélkül kissé olyan szagú, mintha azt várnád, hogy mi írjuk meg a programot helyetted.
Ha a kérdés az, hogy segítene-e valaki, akkor a válasz igen.
result := (V1 OR V2) AND (NOT mask); // erre gondoltál?
Miért kell ehhez
Én nem látom olyan katasztrofálisnak, ha amúgy Pascalban programozni tanuló ember Pascalba illesztve ismerkedik az assembly alapjaival. Ha szüksége lesz rá, úgyis továbblép majd, ez csak egy keretrendszer. Nekem a nyolcvanas években még BASIC-ben kellett megírnom az assembleremet, hogy egyáltalán hozzákezdhessek, vagy beírhattam POKE utasításokkal egyenként a numerikus kódokat, ez talán rosszabb?
Az viszont csakugyan sokat segítene a válaszban, ha a kérdező feltenné a kérdést.
A "fontos lenne" információértéke legfeljebb 0. Mindenkinek fontos, aki kérdez, csak van, aki értelmesen teszi.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!