Kezdőoldal » Számítástechnika » Programozás » Ha assembly nyelven akarok...

Ha assembly nyelven akarok programozni, akkor kell ismerjem a számítógép processzorában levő összes regisztert?

Figyelt kérdés
Hogyan férhetek hozzájuk? Gondolom windowsos környezetben nem lehet hozzáférni az egészhez.
2013. márc. 1. 17:23
 1/10 anonim ***** válasza:

Csak azokat kell ismerni, amiket használni szeretnél a megvalósítás során.

Címzés alapján tudsz hozzáférni (írni, olvasni)

2013. márc. 1. 17:56
Hasznos számodra ez a válasz?
 2/10 A kérdező kommentje:
De ahhoz, hogy tudjam, hogy miket akarok felhasználni kell tudjam, hogy mik közül válogathatok...ehhez meg kell ismerni párat.
2013. márc. 1. 18:12
 3/10 anonim ***** válasza:
Erre vannak a kézikönyvek és tutoriálok.
2013. márc. 1. 18:15
Hasznos számodra ez a válasz?
 4/10 iostream ***** válasza:
Első körben elég egy regisztert ismerni, minden elvégezhető úgy is. Ha meg akarsz hívni egy függvényt, megszakítást, akkor meg annak a doksija elmondja, hogy kell (hova mit kell pakolni).
2013. márc. 1. 19:47
Hasznos számodra ez a válasz?
 5/10 anonim ***** válasza:

Hát röhejes, hogy egy regiszterrel meg lehet csinálni bármit :D

Ezt nem úgy kell elképzelni, hogy leülsz, és megtanulod... Kinyomtatod az utasítás készletet, és a regisztereket, meg információt gyűjtesz az oszcillátorról, watch dog timer-ről, portokról... attól függ mint programozol, bios felett, windows felett, pic-et...

Minden le van írva, hogy pl szorzásnál melyik regiszterbe kell rakni az operandusokat, és melyik regiszterben áll elő az eredmény, melyik utasítás melyik flag-et változtatja...

2013. márc. 1. 20:48
Hasznos számodra ez a válasz?
 6/10 anonim ***** válasza:

iostream, gratulálok :) tudod, a PC assembly nem RISC, úgyhogy ha csak pl az EAXot használod, akkor nem fogsz tudni osztani, meg pl memóriát címezni.


a kérdésre válaszolva: vegyél elő egy X86 assembly tutorialt, és először tanuld meg a 8086-ot. ott mindenhez hozzá fogsz tudni férni, főleg azért, mert egy virtuális gépen fog futni az egész program a windowsban. az igazi regisztereket védett módban meg by design nem fogod tudni elérni ha alkalmazást indítasz (ring 3), de a védett mód még elég messze van, ha most kezdesz programozni, és megkockáztatom, nem is fogsz saját bootloadert írni egyhamar :) debuggerekkel belenézhetsz azért pár regiszterbe, és át is írhatod őket - OllyDbg és SoftIce, win XP alatt.

2013. márc. 1. 22:32
Hasznos számodra ez a válasz?
 7/10 A kérdező kommentje:
Tulajdonképpen programoztam már assembly-ben mikrokontrollereket meg PicoBlaze-t, de azoknak nem ennyire komplikált a felépítésük (gondolom az utasításkészletük sem). Nameg minden fontos regiszterhez könnyen hozzá lehet férni. Kíváncsi voltam, hogy ez mennyire komplikálódik el a számítógép esetében.
2013. márc. 1. 23:14
 8/10 anonim ***** válasza:
hát ha a mostani PCt akarod assemblyben programozni, akkor a védett módot kell megtanulni, ami eléggé összetett, uakkor visszafelé kompatibilis a 8086-ig
2013. márc. 2. 03:01
Hasznos számodra ez a válasz?
 9/10 iostream ***** válasza:
Hogyne tudnál osztani. Csak a maradékot veszíted el :)
2013. márc. 2. 09:38
Hasznos számodra ez a válasz?
 10/10 anonim ***** válasza:

>Ha assembly nyelven akarok programozni, akkor kell ismerjem a számítógép processzorában levő összes regisztert?


Persze, hogy illik. Na de, nincs azokból olyan sok. 4 ált célú (ax,bx,cx,dx), ugyanez 32 biten (eax,ebx,ecx,edx), IP (utasítás pointer), SP (stack pointer), AC (akku), PC (program counter), flagek, árnyékregiszterek, stb.

2014. aug. 15. 13:57
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!