Kezdőoldal » Számítástechnika » Programozás » Hogy kell assembly-ban növelni...

Hogy kell assembly-ban növelni egy karakterláncot eggyel?

Figyelt kérdés

példa:

van egy karakterlánc:


egyenlo db "a = $"


ezt a karakterláncot kiírom egyszer, majd azt akarom, hogy írja ki:

"b = $"


2011. okt. 28. 11:52
 1/7 _Jessy_ ***** válasza:

mov eax,egyenlo

mov [eax],'b'

2011. okt. 28. 13:50
Hasznos számodra ez a válasz?
 2/7 _Jessy_ ***** válasza:

azaz eggyel növelni:

mov egyenlo,eax

mov bl,[eax]

inc bl

mov [eax],bl

2011. okt. 28. 13:53
Hasznos számodra ez a válasz?
 3/7 A kérdező kommentje:

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;

2011. okt. 28. 16:57
 4/7 _Jessy_ ***** válasza:

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

2011. okt. 28. 20:56
Hasznos számodra ez a válasz?
 5/7 _Jessy_ ***** válasza:
bocsi, az előbb elírtam < esetén a jg helyett jl kell
2011. okt. 28. 20:58
Hasznos számodra ez a válasz?
 6/7 A kérdező kommentje:

Ú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)

2011. okt. 29. 08:57
 7/7 _Jessy_ ***** válasza:
Minden fordító gépi kódra fordít :) Ha érdekel a dolog, megkeresem, és elküldöm az egyik ford. prog beadandómat, ami egy pascalhoz hasonló nyelven írt egyszerű programot fordít le assembly kódra. Azt elemezgetheted. Ja és a kérdésre a válasz: igen, az összetettebb kifejezéseket felbontja
2011. okt. 29. 11:29
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!