Hogy kell assembly-ban növelni egy karakterláncot eggyel?
példa:
van egy karakterlánc:
egyenlo db "a = $"
ezt a karakterláncot kiírom egyszer, majd azt akarom, hogy írja ki:
"b = $"
azaz eggyel növelni:
mov egyenlo,eax
mov bl,[eax]
inc bl
mov [eax],bl
Köszönöm.
És az megtudjátok mondani, hogy hogy kell megírni egy feltételes utasítást: példa
Pascalban:
if(a < 4 ) then b:=4
else b:= 7;
vagy c++-ban
if(a < b)
b = 5;
else b = 7;
Tegyük fel, hogy a két változó eax, és ebx-ben van, ekkor:
cmp eax,ebx
jg else
;opcodes
jmp elsevege
else:
;opcodes
elsevege:
Azt hiszem valami ilyesmi. A jmp,jne,jge,jz... stb. ugró utasításoknak nézz utána. Vannak olyan assemblerek, amiben van előre definiált makró elágazásra, ciklusra, de ez mindegyiknél működik
Úgy hallottam, hogy a pascal, c++ gépi kódra fordít, ami a legközelebb áll az ass-hoz.
Akkor azt jelenti, hogy a pascalban megírt összetett utasításokat a fordító felbontja részeredményekre.
Pl.
eredmenny =((a+b)*c)div(a-b))+(a mod b) div (c * 5)
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!