'Napot! Szeretnék assemblyzni (valamiért egyre nélkülönezhetettlenebbnek tünik).
Nos, linux alatt szeretnék. Halottam, hogy van nasm, masm, meg sok más asm. Ti melyiket ajánlanátok?
(Szempont: sok jo szájbarágos tutor van hozzá a neten, meg van linuxon is)
Előre is köszönöm :)
Meg anno igy minden info nélkül nem sikerült jo tutort találnom a neten :(
Azért is kéne mert jo lenne amugy is beleásnom magamat egy csöppet,hogy mi hogy müködik a felszin alatt.
Jo tudom, gugli a barátom. De szeretnék huppos tanácsot :D
Igen, tudom hogy nem tudok irno/fogalmazni, a helyesirással köszönő viszonyban se vagyok stbstb. szoval nyelvtan csicskák inkább ne szoljanak be :P
- 6904 megtekintés
Hozzászólások
nasm-mal jatszogattam regebben, az teljesen jonak tunt. egyszeruen osszerakhato belole futtathato allomany is, egy modul irasa pedig meg egyszerubb, mintha a csak a regi szep idokben 386-oson assemblyznenk, dos alatt, kb ;)
pl:
add.asm (ezt hivjuk):
section .text
global myadd
myadd:
push ebp
mov ebp,esp
mov eax,[ebp+8]
add eax,[ebp+12]
pop ebp
ret
add.c (ez hivja):
#include <stdio.h>
int myadd(int x,int y);
int main()
{
fprintf(stdout,"myadd()=%d\n",myadd(42,137));
return(0);
}
Makefile (forditas):
SHELL=/bin/sh
AS=nasm
AFLAGS=-f elf
CC=gcc
CFLAGS=-Wall -pedantic -ansi -O3
LD=ld
all: add
.PHONY: all clean
add.o: add.asm
$(AS) $(AFLAGS) -o add.o add.asm
add: add.c add.o
$(CC) $(CFLAGS) -o add add.c add.o
clean:
rm -f *.o add
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
nasm/yasm eleg olvashato (Intel stilusu).
GNU as , ezt tolja ki a gcc es hasonlot eszik, a binutils resze, AT&T stilusu.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
+1
egyébként intel32 esetén javallt olvasni/megcsinálni, hogy képet kapj a világról:
- K.I.S.S-féle kétoldalas 32bi intel összefoglalót (legális puskaként engedélyezni szoktam)
- a teensy tinyelf átolvasását
- ld és make parancsok man-jait, howtojait, főleg az ld-t. Bőséges példákat guglizz neten!
- szerkeszteni valami template-et, amiben assembly rutinokat hívogathatsz gcc-ből (és fordítva)
- makró assemblerben valami primitív basic-et összedobni (nem is olyan nehéz)
- és valamilyen interpreterben összedobni egy egyszerű, közvetlen binárist létrehozó kétmenetes assembler fordítót, pl. perlben. Nem is olyan nehéz, de beadandókban már nem merem kérni jópár éve. (Igen, és a mai programozó(palántá)knak már nemi életük is van :)
- tanulmányozd a 256byte- és régi 4k intrók forrásait
- less bele a MenuetOS forráskódjába, vagy bármely más kisebb, áttekinthető méretű assemblyben tákolt opergányolós rendszer forrásába
- stb. játssz sokat, amíg teheted, mert jön az asszony, a négybetűs élet, a nyolcnapos munkahét és a child process(ek:)
- A hozzászóláshoz be kell jelentkezni
"stb. játssz sokat, amíg teheted, mert jön az asszony, a négybetűs élet, a nyolcnapos munkahét és a child process(ek:)"
:D
- A hozzászóláshoz be kell jelentkezni
ezen en is derultem :)
---
Egy jól megállapított probléma félig megoldott probléma.
- Charles Kettering
- A hozzászóláshoz be kell jelentkezni
Ez jobb volt, mint a kávé, amit a cégnél főznek :)
- A hozzászóláshoz be kell jelentkezni
Ez a könyv NASM-on és gcc-n alapul, a példák forrásai letölthetőek Linuxra is.
PS.: Nyelvtan csicskák? Nem csak a helyesírással vagy gondban.
- A hozzászóláshoz be kell jelentkezni
Hanem pl? Amugy thx a linkért :P
- A hozzászóláshoz be kell jelentkezni
Ha az anyanyelvedet sem tudod, akkor mit akarsz egy programozási nyelvtől ?! Szintaktika és szemantika....tőled idegen fogalmak. Ne írj programot, kérlek ! Egyébként masm vagy nasm.
- A hozzászóláshoz be kell jelentkezni
nem egy jo kodert ismerek, akinek a helyesirasa hagy nemi kivanivalot.
lsd: turul :)
---
Egy jól megállapított probléma félig megoldott probléma.
- Charles Kettering
- A hozzászóláshoz be kell jelentkezni
Hát persze...C-ül tudok mádzsárul alig...és elolvasni is élvezet lehet. :)
Szóval el kéne dönteni, hogy ez a diszgráfia most betegség-e - mert akkor a C mondatokat sem tudja leírni, nem csak a magyart - avagy nem, mert akkor meg mindkettőt le kell tudnia írni. Ez a baj ezzel a "betegséggel". Mondjuk nekem az is elég, ha bevallja a zsenánt kóder, hogy magyarból kegyelemkettesekkel ment át, mert a csajok csöcse jobban érdekelte, mint a magyar....csak akkor nem kell mentegetőzni, fel kell vállalni a kapanyelet. ;)
- A hozzászóláshoz be kell jelentkezni
a diszgrafia jelenleg inkabb jarvany. legalabbis az elmult 4 evben jelentosen feltunt. koszonet valamelyik politikusnak
de az allitasomat fenntartom: nagyon sok ember kepes kiemelkedo tudasra. lehet, hogy nem tudja kommunikalni, de igenis, tisztelem a tudasukat
---
Egy jól megállapított probléma félig megoldott probléma.
- Charles Kettering
- A hozzászóláshoz be kell jelentkezni
Ha nem tud kommunikálni sem szóban, sem írásban, elárulnád, hogy hogyan derült ki a zsenialitása az illetőnek ? Átható tekintettel és enyhén szomorú arccal ült és ettől olyan értelmiségi lett a lénye ? :D A falusi kocsmákban látni ilyeneket...a baj az, hogy néha megszólalnak.
- A hozzászóláshoz be kell jelentkezni
pl.: tudnak algoritmizalni. es ez nem elhanyagolhato tenyezo
---
Egy jól megállapított probléma félig megoldott probléma.
- Charles Kettering
- A hozzászóláshoz be kell jelentkezni
Nekem amúgy ez a fogalmazás zavar nem eltanult. Már megvannak kiskorom óta ezek a problémáim. De könyörgök, nehogy má' emiatt ne legyen jogom programozó lenni...
- A hozzászóláshoz be kell jelentkezni
"magyarból kegyelemkettesekkel ment át, mert a csajok csöcse jobban érdekelte"
:)
- A hozzászóláshoz be kell jelentkezni
Hát őszinténszólva a fogalmazás sose volt erősségem, de ez sose gátolt meg abban, hogy c++-t vagy php-t gyakoroljak. (Szeintem nyelvek fogalma disztjunk a programozási nyelvekkel)
De ezért mondtam, amit mondtam a végén, hogy ne ez legyen belőle. Mindenki máskép működik, máskép tud.
Egyébként kösz XD
- A hozzászóláshoz be kell jelentkezni
Először is: Nem disztjunk, hanem diszjunkt, másrészt ez nem igaz. A programozási nyelveknek is van nyelvtana bizony. Most arról ne beszéljünk, hogy más attribúzumaik is közösek - azon kívül, hogy nyelvnek hívjuk őket - és nem mindegy az alaki megjelenése a tartalomnak, amit az adott nyelvben kifejezünk. :)
- A hozzászóláshoz be kell jelentkezni
Jó'vanna ezt is elírtam :)
A lényeg akkor is az, hogy nem szeretem ezt a skatulyázást, hogy (nem tud rendesen anyanyelvül => nem lehet belőle jó programozó)
Másrészt azt se szeretem, ha valaki valakinek olyat mond, hogy "klönyörgök te inkább ne programozz!", mer az ilyenekkel durván belelehet tiporni az emberbe érzelmileg. (etika, ebből legalább van nekem egy alap "ráérzésem")
- A hozzászóláshoz be kell jelentkezni
Meg gyakran nem azér irok el valamit, mer nem tudom, hogy kell írni. Szimplán csak nem veszem észre gyakran, hogy elírtam. (Így pl az előbbi disztjunkt nálam szimpla gépelési hiba:P )
- A hozzászóláshoz be kell jelentkezni
attribúzumaik
LOL.
- A hozzászóláshoz be kell jelentkezni
"A programozási nyelveknek is van nyelvtana bizony. "
Hálistennek, hogy van: ezért tud figyelmeztetni a fordító/interpreter, hogy valami nem kerek a szövegben - itt meg hálistennek vagyunk mi, ugyanerre. ;)
- A hozzászóláshoz be kell jelentkezni
Jah, de a compiler nem szol be, hogy "te műveletlen bunkó!" :D
- A hozzászóláshoz be kell jelentkezni
Van még hová fejlődniük a fordítóknak. ;)
Amúgy nem is ártana, ha beginner üzemmódban volna pár keresetlen szavuk az 1-2 karakteres szimbólumok láttán.
Pl.: Hmmm... okay, it's gonna be done, but you're a loooooseeeeer...
- A hozzászóláshoz be kell jelentkezni
lol :)
- A hozzászóláshoz be kell jelentkezni
"Ha az anyanyelvedet sem tudod, akkor mit akarsz egy programozási nyelvtől ?!"
Baaaz...
--
Fontos feladatot soha ne bizz olyan gepre, amit egyedul is fel tudsz emelni!
- A hozzászóláshoz be kell jelentkezni
Ez most pontosan mire akar utalni? :P
- A hozzászóláshoz be kell jelentkezni
Megkért mindenkit az elején, akkor most minek kell piszkálni vele?
Én speciel tisztelem érte, hogy tisztában van a hiányosságaival, ezeket felvállalja, s mindezek mellett van benne tudásvágy, tanulni-akarás.
Mi lett volna, ha ugyanígy álltak volna Einstein-hez, aki köztudottan diszlexiás volt...
- A hozzászóláshoz be kell jelentkezni
De Einstein nem is volt programozó :P
Ez most csak egy gúnyos megjegyzés volt. Imho van közös halmaza az emberi és a programozási nyelveknek, érthetően írni / beszélni megtanulni feltétlenül előnyös, de valóban nem feltétel. Csak, ha valaki nem tud beszélni, lehet akármilyen jó coder, ha nincs szerencséje az elhelyezkedéssel, könnyen eltűnhet a süllyesztőben.
--
- Jó estét - zökkent le nehézkesen a tomporára. - Én vagyok a konyhamester ajánlata. Felajánlhatom önöknek a testrészeimet?
- A hozzászóláshoz be kell jelentkezni
Ezt értem, de vegyük azt (példánál maradva), hogy Einstein diszlexiás volt, mégis kitalált, majd _leírt_ egy rakat zseniális elméletet, törvényt. Mindezek után még elő is adta a katedrán (érdekes lehetne, keresni egy archív felvételt, ahol beszél, meghallgatni, hogyan tette). Hozzáteszem, a történelmi írások szerint nagyon erős diszlexiája volt az öregnek.
De mint látjuk, fentebb a kolléga igen érdeklődő, szeretne tanulni, így szerintem ezzel nem lesz gondja, meg fogja tanulni a kommunikáció azon formáját is, amivel el tudja majd adni magát :)
- A hozzászóláshoz be kell jelentkezni
Hüp-hüp :')
Megható. Köszönöm a poziív hozzáálásodat :P
- A hozzászóláshoz be kell jelentkezni
Ugyanitt pszichológiai rendelés kettőtől ötig ;)
- A hozzászóláshoz be kell jelentkezni
Tőled tanultam a piszkálást. Mi a vérnek piszkálsz ? ;)
- A hozzászóláshoz be kell jelentkezni
:P
- A hozzászóláshoz be kell jelentkezni
Félre ne érts: nem én mondom, hogy a beszéd / íráskészség nélkül nem érdekel, ki milyen programozó. Én csak azt tapasztaltam, hogy ez világszerte fontos dolog, figyelembe veszik a HR -esek, stb. Miattuk érdemes ezt is megtanulni, nem azért hogy jobb coder legyen valaki. És igen, kitartással kompenzálhatóak a hiányosságok. Illetve behozhatóak is.
Amúgy a topicnyitó helyesírása annyira nem is borzalmas, a mondatai érthetőek... És nem szólna a topic 2/3 része offban a helyesírásról, ha nem hívja fel rá a figyelmet :P
--
- Jó estét - zökkent le nehézkesen a tomporára. - Én vagyok a konyhamester ajánlata. Felajánlhatom önöknek a testrészeimet?
- A hozzászóláshoz be kell jelentkezni
Peding pont az ellenkezőjét akartam vele elérni :)
- A hozzászóláshoz be kell jelentkezni
Off:
Csak hogy mindenkinek igaza legyen:
A diszlexia gyarkran jár diszgráfiával is. A diszgráfia egyik tünete lehet, hogy íráskor egy szón belül felcserél betűket az illető. Ez azért elég kínos programozás közben. De ha a diszgráfiásnak nincs ilyen tűnete, egyszerűen csak nagyon rondán ír, akkor máris lehet kíváló programozó.
Még mondja azt valaki, hogy nem a lehetőségek földjén élünk :-)
-----
Innen most töltsünk tiszta vizet a nyílt kártyákba: ...
- A hozzászóláshoz be kell jelentkezni
"A diszgráfia egyik tünete lehet, hogy íráskor egy szón belül felcserél betűket az illető"
Ez egy kicsit nem jön át :P Elvileg akárki felcserélheti a betüket véletlenül.
- A hozzászóláshoz be kell jelentkezni
Az akárki néha cserél fel betűket írás közben. A diszgráfiás, ha van ilyen tünete, akkor gyakran cseréli fel őket.
-----
Innen most töltsünk tiszta vizet a nyílt kártyákba: ...
- A hozzászóláshoz be kell jelentkezni
Hmmm, értem, kösz :)
- A hozzászóláshoz be kell jelentkezni
"A diszgráfia egyik tünete lehet, hogy íráskor egy szón belül felcserél betűket az illető. Ez azért elég kínos programozás közben"
Azt pár éve tudjuk, hogy élő nyelvben a betűcsere nem vagy alig hátráltatja a megértést - programozás közben meg akkor se használjon deklaráció nélküli szimbólumokat zabáló nyelvet az ember, és/vagy ne használjon betűcserével egymással keverhető szimbólumokat, ha éppe nem diszgráf.
Amúgy volt egy német kollégám, aki annyira súlyos eset volt, hogy papírra úgy írt, hogy olykor meg kellett állnia elgondolkodni, hogyan néz ki a következő betű - billentyűzeten viszont perfekt volt.
- A hozzászóláshoz be kell jelentkezni
Én speciel leszarnám a helyesírását, ha nem csicskázna.
Nem gond, ha nem tud rendesen az anyanyelvén, de legalább ne legyen rá büszke.
"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o
- A hozzászóláshoz be kell jelentkezni
Nem, nem vagyok rá büszke. Csak nem szeretem mikor nulla jóindulattal nekiálnak ódákat zengeni, hogy én milyen műveletlen, analfabéta tuskó vagyok.
De már írtam, kinek nem inge NE, ismétlem NE vegye magára.
- A hozzászóláshoz be kell jelentkezni
Még programozás során is előfordulhat, hogy másokkal kell kommunikálnod (csapatban dolgozol, vagy tanácsot kérsz egy fórumon), és az élet nem csak informatikából áll. Ezért nem mindegy, hogy fejezed ki magad. Ahogy beszélsz, írsz, az nagy mértékben formálja a rólad alkotott képet. Hidd el, érdemes ezen a területen is fejlődni.
Sajnos ez mostanában elég általános jelenség. Hallottam egyetemi oktatókat arról panaszkodni, hogy a felvett embereket először meg kell tanítani normálisan írni, olvasni, értelmesen megnyilvánulni.
Amúgy nem szoktam helyesírás miatt kötekedni. Az zavart, hogy Te ezt normálisnak tekinted, sőt lekezelően nyelvtan csicskának nevezed azokat, akik szóvá tennék a hibáidat. Valaki itt fordítva üli meg a lovat.
- A hozzászóláshoz be kell jelentkezni
"Az zavart, hogy Te ezt normálisnak tekinted, sőt lekezelően nyelvtan csicskának nevezed azokat, akik szóvá tennék a hibáidat. "
Ez most nem éppen rád illik. Nyelvtan csicskákkal azokra akartam utalni, akik hibát keresnek a szövegedben majd gúnyosan, rombolójelleggel megjegyzik.
De te épitőjellegűen megszoltad a magyaromat, és még válaszoltál is. :)
Szóval ezt az inget ne vedd magadra.
- A hozzászóláshoz be kell jelentkezni
na most ha asm -ezni akarsz, de azért akarod, hogy a lehetőségekhez mérten könnyű dolgod legyen,akkor masm.
http://www.masm32.com/board/index.php?PHPSESSID=53aecbe211be5de8f74c54b…
Ez pl. egy masm kód:
.if par1 == num
code
code
.elseif par2 == num
code
code
.else
code
code
.endif
Lap kb. felétől is:
http://www.movsd.com/masm.htm
Ez is:
http://kisj.blog.prog.hu/archives/10-MASM.html
Szóval teljesen jó, hogy sok mindent elintéz helyetted, meg tudsz makrókat írni.
Azt mondjuk nem tudom, hogy a masm mennyire támogatja a linuxot.
- A hozzászóláshoz be kell jelentkezni
Áh ez a mindent elintézős dolog nem tom, hogy jo lenne nekem. Mert nekem megértés miatt kéne legfőképp beletanulnom.
- A hozzászóláshoz be kell jelentkezni
azért a mindent elintézéstől eléggé messze van...
- A hozzászóláshoz be kell jelentkezni
A mindent elintézős asm a C. :)
"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o
- A hozzászóláshoz be kell jelentkezni
+1 :)
- A hozzászóláshoz be kell jelentkezni
subscribe
- A hozzászóláshoz be kell jelentkezni
Feliratkozom.
- A hozzászóláshoz be kell jelentkezni
Én is felíratkozom, ha valaki elárulja mi a célja itt a felíratkozásnak :D
- A hozzászóláshoz be kell jelentkezni
Jah, valaki plz magyarázza el :P
- A hozzászóláshoz be kell jelentkezni
Ez itt elég off, de: a saját adatoknál tudod követni azokat a témákat, amikhez hozzászóltál. Ha csak olvasod a témát, nem jelenik meg ebben a listában, tehát nem látod, hogy frissült e azóta, hogy utoljára ránéztél. Ezért valamit hozzászólsz a témához, hogy a listán megjelenjen: subscribe...
--
http://www.naszta.hu
- A hozzászóláshoz be kell jelentkezni
Vagy a "Friss tartalom -> Saját tartalom" menü-útvonalon keresztül is elérhető (tracker).
- A hozzászóláshoz be kell jelentkezni
Helló!
Szerintem kizárólag fasm. Én kb 1-2 éve váltottam nasm-ról, és azóta kisimultak a ráncaim.
Érvek:
1. SOKKAL jobb makrók
2. képes önmagát lefordítani, ezért jól portolható
3. elérhető Winfos, MacOSX, BSD, Linux és még ki tudja mi minden alatt
- A hozzászóláshoz be kell jelentkezni
Csak kíváncsiság!
Mit írnak még assemblyben x86 -ra. Csak tippelgetni tudok, driverek?
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
Teljes programokat leginkább hobbiból, vagy beadandónak. :)
De teljesítménykritikus részeket optimalizációs céllal azért előfordul hogy abban írnak meg.
"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o
- A hozzászóláshoz be kell jelentkezni
Sajnos nagyon kevés dolgot, ezért van az, hogy a fostalicska windows {n} előtt ülő user ugyanolyan gyorsnak érzi a 3,2 GHz-es, 8 Gb RAM-mal szerelt gépét, amiben 500 Gb-os gyors diszk van, mint egy öreg ember, aki win 3.1-et futtat a 386 SX masináján, 20 MHz-es processzoron, 16 Mb RAM-mal és 120 Gb-os merevlemezzel. Ugyanolyan kínosan homokórázik minden szoftver, csak nagyobb tömegtároló igénye van, több RAM-ot eszik, 220.000.000 kódsorral többet tartalmaz a forrsákódja, de mégis gyerekes senezhetőségek vannak benne. Igaz, színesebb, szagosabb és aero a felület.
- A hozzászóláshoz be kell jelentkezni
Félreértés ne essék, én még kézi kódolással is dolgoztam, azaz saját kicsi kezemmel fordítottam az assemblyt gépi kódba (hex). De ezek a "hős idők" elmúltak. Manapság az egychipes cuccokat is C -ben írogatják. Ami pedig a windows hibáit illeti, az assemblernek van benne a legkisebb szerepe. Ráadásul, el nem tudom képzelni, hogyan tudnál optimalizálni, egy multimagos agyon cachelt processzorra. Egy GUI felületű oprendszert évszázadok alatt sem írnának meg, nemhogy néhány év (kilenc anya nem szül egy hónap alatt gyereket).
A szépreményű kollégának pedig inkább javasolnék egy assembly átmeneti kódolású C compilert (a C++ szerintem már túl bonyolult lenne ehhez a gyakorlathoz) - írja meg a programját C -ben majd nézze meg a közbülső assembly kódot - hangolja addig a C forrást amíg az nem kezd arra hasonlítani amit assemblyben kellene írnia. Sokkal tanulságosabb, anno a régebbi C compilerrel így írtam megszakítás kezelő rutint - addig hangoltam, amíg azt nem láttam, hogy a rutin szinte olyan mintha én írtam volna assembly -ben (ez még a 486 -os világban volt).
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni