Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  Assembler ja selle seos teiste keeltega märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
mine lehele 1, 2, 3  järgmine
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
gnoom
HV veteran

liitunud: 12.12.2003




sõnum 18.08.2009 21:06:51 Assembler ja selle seos teiste keeltega vasta tsitaadiga

.Eestlane. kirjutas:
Assembleri õppimine on lihtsalt mõistmaks kõikide keelte tagamaid.

No kui tahad keelte tagamaid õppida mõistma, siis võta kätte ja kirjuta miski oma keel valmis. Siis on ka tagamaad selged. thumbs_up.gif
Kommentaarid: 67 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 64
tagasi üles
vaata kasutaja infot saada privaatsõnum
.Eestlane.
HV kasutaja
.Eestlane.

liitunud: 14.01.2006




sõnum 26.08.2009 13:10:06 vasta tsitaadiga

ärge hulluks minge
Kommentaarid: 3 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 3
tagasi üles
vaata kasutaja infot saada privaatsõnum
tooner
HV vaatleja

liitunud: 07.05.2009




sõnum 15.10.2009 23:32:12 vasta tsitaadiga

.Eestlane. kirjutas:
ärge hulluks minge


Pole hullu, vähemalt vanasti (ja ma loodan et ka siiamaani) õpetati ülikoolis lexi ja yacci igale ititudengile. Tuleb kasuks. Kas assembler kõrgkeelte mõistmisel kasuks tuleb, selles ma nii kindel ei ole.
Kommentaarid: 1 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 1
tagasi üles
vaata kasutaja infot saada privaatsõnum
Deadlock
Kreisi kasutaja

liitunud: 16.07.2004




sõnum 17.10.2009 14:10:27 vasta tsitaadiga

No ikka tuleb, arvestades, et keel assembleriks tõlgitakse. Päris hea on ju teada, mida iga funktsioon sul arvutis riistvaraga täpselt teeb.
_________________
"Believe you can, believe you can't; either way, you're right." - Henry Ford
Kommentaarid: 8 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
tooner
HV vaatleja

liitunud: 07.05.2009




sõnum 18.10.2009 22:34:44 vasta tsitaadiga

Bluebull kirjutas:
No ikka tuleb, arvestades, et keel assembleriks tõlgitakse. Päris hea on ju teada, mida iga funktsioon sul arvutis riistvaraga täpselt teeb.


Mismõttes "iga keel assembleriks tõlgitakse"? icon_smile.gif Masinkoodiks tõlgitakse, mitte assembleriks. Ja muide, nimeta kasvõi üks funktsioon mille kohta sa täpselt tead, milleks ta tõlgitakse? Tänased kompilaatorid on nii kole targaks läinud, et optimeerivad rohkem, kui üks assembleritundja progeja ise oskaks.
Kommentaarid: 1 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 1
tagasi üles
vaata kasutaja infot saada privaatsõnum
gnoom
HV veteran

liitunud: 12.12.2003




sõnum 19.10.2009 01:10:58 vasta tsitaadiga

tooner kirjutas:
Tänased kompilaatorid on nii kole targaks läinud, et optimeerivad rohkem, kui üks assembleritundja progeja ise oskaks.

Kompilaator saab olla just nii tark kui ta on oma looja poolt tehtud. icon_smile.gif
Kommentaarid: 67 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 64
tagasi üles
vaata kasutaja infot saada privaatsõnum
Deadlock
Kreisi kasutaja

liitunud: 16.07.2004




sõnum 19.10.2009 14:59:18 vasta tsitaadiga

tooner kirjutas:

Mismõttes "iga keel assembleriks tõlgitakse"? icon_smile.gif Masinkoodiks tõlgitakse, mitte assembleriks. Ja muide, nimeta kasvõi üks funktsioon mille kohta sa täpselt tead, milleks ta tõlgitakse? Tänased kompilaatorid on nii kole targaks läinud, et optimeerivad rohkem, kui üks assembleritundja progeja ise oskaks.


Veidi panin mööda, assemblyks tõesti mitte, kuigi masinkoodi ja assembly vahe on ju põhimõtteliselt ainult koodi esituses kinni.. Vähemalt nii ma olen aru saanud ja seega pole mingi probleem ka mingit kõrgemat progemiskeelt assemblyks tõlkida.
Kommentaarid: 8 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
Supiplex
HV veteran
Supiplex

liitunud: 11.12.2002




sõnum 19.10.2009 15:02:05 vasta tsitaadiga

tooner kirjutas:
Bluebull kirjutas:
No ikka tuleb, arvestades, et keel assembleriks tõlgitakse. Päris hea on ju teada, mida iga funktsioon sul arvutis riistvaraga täpselt teeb.


Mismõttes "iga keel assembleriks tõlgitakse"? icon_smile.gif Masinkoodiks tõlgitakse, mitte assembleriks.


Tihti tõlgitakse enne assemberiks ja sealt masinkoodiks. Aga mis seal ikka tähti närida.

tooner kirjutas:
Ja muide, nimeta kasvõi üks funktsioon mille kohta sa täpselt tead, milleks ta tõlgitakse? Tänased kompilaatorid on nii kole targaks läinud, et optimeerivad rohkem, kui üks assembleritundja progeja ise oskaks.


Vaat selles ongi iva, et ei tea. Aeg-ajalt tasub (ja harva lausa tuleb) kood debuggeris käima tõmmata ja disassembleri aknas vaadata mida kompilaator valmis meisterdas.

Üldiselt veebi- ja rakendusprogrammeerijad tõesti ei pea end assembleriga vaevama, aga kui natukenegi allapoole ronida siis tuleb ikka kõvasti kasuks. Maailmas on süsteemi-, draiveri- ja sardprogejatele tööd nigu muda - ja see töö on muide kuradi põnev icon_smile.gif

_________________
The young lady had an unusual list,
Linked in part to a structural weakness.
She set no preconditions.
Kommentaarid: 38 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 34
tagasi üles
vaata kasutaja infot saada privaatsõnum
gnoom
HV veteran

liitunud: 12.12.2003




sõnum 19.10.2009 19:08:51 vasta tsitaadiga

Supiplex kirjutas:
Üldiselt veebi- ja rakendusprogrammeerijad tõesti ei pea end assembleriga vaevama, aga kui natukenegi allapoole ronida siis tuleb ikka kõvasti kasuks. Maailmas on süsteemi-, draiveri- ja sardprogejatele tööd nigu muda - ja see töö on muide kuradi põnev icon_smile.gif

Vähe sellest et elu põnevam on, sellega saab ka rammusama vorsti lauale kui veebinikerdajad. icon_wink.gif
Kommentaarid: 67 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 64
tagasi üles
vaata kasutaja infot saada privaatsõnum
maxorator
HV kasutaja

liitunud: 30.08.2006




sõnum 19.10.2009 22:36:27 vasta tsitaadiga

Assembly ei olegi tegelikult programmeerimiskeel. See on lihtsalt veidi inimloetavamal kujul esitatud masinakood ning masinakood on erineva arhitektuuriga seadmetel erinev. Keele tagamaid sellega otseselt ei õpi. Saab teada vaid, kuidas mingi kindel kompileerija mingile kindlale seadmele seda koodi masinakoodiks ümber on tõlkinud.
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum
nene
Kreisi kasutaja
nene

liitunud: 20.03.2004




sõnum 19.10.2009 23:26:37 vasta tsitaadiga

maxorator kirjutas:
Assembly ei olegi tegelikult programmeerimiskeel.


Tohoh. Ma ei tahaks sellel pikemalt peatuda, aga see väide lihtsalt kutsub ennast ümber lükkama.

Programmeerimiskeel = keel milles saab programmeerida.

maxorator ütleb: Assembly pole programmeerimiskeel.

Järelikult: assembly's ei saa programmeerida või assembly pole keel.

Ma ei suuda uskuda kumbagi neist järeldustest, seega on väär kas antud programmeerimiskeele definitsioon või maxoratori väide. Kipun eeldama viimast.

.Eestlane. kirjutas:
Assembleri õppimine on lihtsalt mõistmaks kõikide keelte tagamaid.


Selles on tublisti tõtt, sest algseks programmeerimiskeeleks oli loomulikult masinkeel (ja assembler lihtsalt selle inimloetavam variant). Assembler on muidugi väga üldine nimetaja ning hea pildi saamiseks tuleks tegelikult uurida mitmeid erinevaid masinkeeli, neiteks lisaks x86 arhitektuurile ka vanade pesamasinate omi ja moodsamaid RISC assemblereid.

Masinkeel on senini ääretult oluline osa arvutite arhitektuurist. Ning oma arvuti arhitektuuri peaks programmeerija ju ometigi mõistma. Tõesti, pole tarvis teada, täpselt millisesse masinkoodi mingi kõrgemas keeles kirjutet programm tõlgitakse, aga oluline on aru saada miks ja kuidas on üldse võimalik, et miskid klaviatuurilt sisse toksitud koodid panevad arvuti mingit toimingut tegema. Ning assembleri/masinkoodi mõistmine on selle arusaamise juures oluline lüli.

Programmeerimiskeeltega tutvudes masinkeelte välja jätmine on mu meelest umbes nagu loomadega tutvudes selgrootute väljajätmine.

Ma ei taha siinkohal väita, et iga endast lugupidav programmeerija peaks tundma end kodus ka assembleri vallas - sugugi mitte. Suurem osa enamikest masinkeeltest on tobedad masinaspetsiifilised detailid. Olulisem osa on mõista masinkeeli kui selliseid.

_________________
Mõistus otsas? Pane pinusse...


viimati muutis nene 19.10.2009 23:28:53, muudetud 1 kord
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Ho Ho
HV Guru
Ho Ho

liitunud: 16.02.2002




sõnum 19.10.2009 23:28:47 vasta tsitaadiga

Masinkoodi kanantab hexeditoriga otse kirjutada. Kas see on programmeerimiskeel? :-p

Assembleri mõningane tundmine on igati hea. Valdavalt küll suudavad vähegi adekvaadsed kompilaatorid ka väga osava progeja koodi madalal tasemel paremini opitmeerida, kui progeja ise. Sellisel puhul tasub lasta kompilaatoril väljastada ASM ning see üle vaadata, ehk saab asja veelgi paremaks teha. Otse nullist assembleri kirjutamine on üldiselt üsna mõttetu tegevus ning loob aeglasema koodi. Praktiliselt alati annab kõrgemal tasemel andmestruktuuride-algoritmidega mängides oluliselt suuremaid võite saada kui käsitsi käskude järjekordi muutes.

_________________
Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity"
Kommentaarid: 106 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 86
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
tooner
HV vaatleja

liitunud: 07.05.2009




sõnum 19.10.2009 23:54:28 vasta tsitaadiga

Ohoo, tuliseks aruteluks on läinud icon_smile.gif

Njah, ega ma ei vaidlegi vastu, et masina arhitektuuri tundmine kasuks ei tule... väga hea (võibolla isegi möödapääsmatu) on, kui progeja teab, kuidas ta andmestruktuurid mälus välja näevad ja ta nendega manipuleerida oskab. Aga masinkoodi debugimine on ikka suht ebatavaline sündmus, seda ka sardprogeja jaoks.
Kommentaarid: 1 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 1
tagasi üles
vaata kasutaja infot saada privaatsõnum
HacaX
HV Guru
HacaX

liitunud: 22.01.2004




sõnum 20.10.2009 20:50:12 vasta tsitaadiga

Ho Ho kirjutas:
Masinkoodi kanantab hexeditoriga otse kirjutada. Kas see on programmeerimiskeel? :-p [...]

Kui sa masinkoodi mõistad siis muidugi. Lõpptulemuses - programmis - ei muuda see ju midagi kas sa trükid sisse assemblerkoodi ja siis kompileerid selle käivitatavaks vormiks, või sisestad otse kompileeritud kujul icon_razz.gif

Omalt poolt muidu nõustuks, et assemblerist ettekujutus võiks süsteemiprogejatel olla, kahjuks süsteemi siseelu tundmine (mis assembleri mõistmisega paratamatult kaasa tuleb) kindlasti ei ole.

_________________
IMO & GPLed
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 22
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
pisi
HV vaatleja
pisi

liitunud: 14.08.2003




sõnum 24.10.2009 11:44:24 vasta tsitaadiga

Jah, tõeline vana programmeerija pritsib puhast kahendkoodi, kutsutagu seda algajate poolt assembleriks või kuidas iganes. Can YOU whistle 300 baud?
tagasi üles
vaata kasutaja infot saada privaatsõnum
andreie
HV vaatleja
andreie

liitunud: 09.09.2006




sõnum 28.10.2009 11:43:00 vasta tsitaadiga

.Eestlane. kirjutas:
ärge hulluks minge

Just nimelt, kui inimene oskab ainult assemblerit, siis kuidas ta tänapäeval midagi valmis programmeeriks?

_________________
Unix survives only because everyone else has done so badly.
Kommentaarid: 5 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 5
tagasi üles
vaata kasutaja infot saada privaatsõnum
i8080
Kreisi kasutaja
i8080

liitunud: 15.03.2002



Autoriseeritud ID-kaardiga

sõnum 28.10.2009 12:00:44 vasta tsitaadiga

pisi kirjutas:
tõeline vana programmeerija pritsib puhast kahendkoodi


õige tähelepanek icon_wink.gif mu avatar sellele puhtjuhuslikult viitabki...
... ja seal programmi esimene käsk 0x76 on muideks HALT
Kommentaarid: 169 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 151
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
pisi
HV vaatleja
pisi

liitunud: 14.08.2003




sõnum 29.10.2009 00:22:33 vasta tsitaadiga

andreie kirjutas:
.Eestlane. kirjutas:
ärge hulluks minge

Just nimelt, kui inimene oskab ainult assemblerit, siis kuidas ta tänapäeval midagi valmis programmeeriks?

Ungari ühel ägedal bändil on lugu programmeerijatest. Selle refrääniks:
10 PRINT "STUPID"
20 GOTO 10
See võiks isegi "kahe käe sõrmede" baitidega tehtav olla
_________________
pisi - maailmaparandaja ja muidumees
tagasi üles
vaata kasutaja infot saada privaatsõnum
Aruta
HV vaatleja

liitunud: 29.10.2009




sõnum 29.10.2009 01:42:28 vasta tsitaadiga

Tore et te veel assemblerit mäletate.

1968. arvutiga suhtlust alustades sai kirjutada ainult
8-ndarve ja registreid ja hüpped tuli sõnades ära lugeda.
(baidi mõistet veel kasutuses ei olnud).
50xxxx oli loe
51yyyy salvesta
52zzzzz liida
jne
Kui võtsid kätte perfolindi, siis lugesid rahulikult mida programm teeb ja
harva pidid vaatama mõnda koodi.

Siis tuli assembler.
Seal olid
1. muutujad.
2. märgendid
olid:
mov
add jne
Oli lihtsam.

Kui vaja oli, siis võisid kirjutada macro ja see tegi siis sul elu veel lihtsamaks.
MASM-32 jooksis veel hiljuti Windows 95 peal.
Seal oli palju näidiseid ja vajadusel võisid kasutada ka C funktsioone.

85-90 sai kirjutada juba tavaliselt C all.
Aga näiteks teksititöötluse 1,2 MB pikuses programmis
tuli korduvalt vigu parandada ja see käis debugeri koodi baasil.
parandatud sai umbes paarsada kohta aga alati oli nii et:
1. otsisid vea ülesse.
2. surusid sealkandis programmi kokku, 10 -20 30 baiti ja
3. kirjutasid sinna paranduse, mis auku lahedalt ära mahtus

Ja siis tuli kirjutada PARANDAJA.
See oli programm, mis luges sisse originaalprogrammi ja paranduste faili,
otsis ülesse vigased kohad ja vahetas baidid ära.
Süntaks umbes nii et:
*vana lõik aaaaaa*uus bbbbbb*
iga rea esimene bait oli eraldaja - kasuta mida tahad, ise tead.

Koostöös juristidega sai uuritud, kas selline tegevus on legaalne.
Tulemus oli, et keegi ei öelnud ei ega jah. Põhivastus oli et vaatame, uurime ja siis ütleme.
Seda ütlemise aega ei tulnudki.

95. aastaks oli sama tekstitöötluse uus versioon kasvanud juba 7 MB suuruseks.
Juurde oli tulnud võimalus et tabel tehti ühe nupuga.
Osa vigu oli parandatud, osa oli vanu ja osa uusi oli lisandunud.
____
Kui ma nüüd möödunud nädalal katsusin saada käima USB to LPT kaablit
(8 bitti korraga käes on ju ilus!)
ja selleks netist vabavara jupi leidsin, siis see VC oli kenast asm lõike täis.

Samas räägitakse et Ülikoolis olla loobutud tudengitele hex arve õpetamast.
Et polevat elus enam vaja.

Aga nii meie assembleriga elasime.
Siis.
tagasi üles
vaata kasutaja infot saada privaatsõnum
Deadlock
Kreisi kasutaja

liitunud: 16.07.2004




sõnum 29.10.2009 14:06:18 vasta tsitaadiga

Aruta kirjutas:

Samas räägitakse et Ülikoolis olla loobutud tudengitele hex arve õpetamast.


Viimased progemisained nüüd see semester käsil ja pole tõesti ette tulnud..
Kommentaarid: 8 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
virus152
HV vaatleja
virus152

liitunud: 05.03.2009




sõnum 29.10.2009 14:14:52 vasta tsitaadiga

Aruta kirjutas:

Samas räägitakse et Ülikoolis olla loobutud tudengitele hex arve õpetamast.

Hex arve nagu 16-ndsüsteemi?
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum
Deadlock
Kreisi kasutaja

liitunud: 16.07.2004




sõnum 29.10.2009 14:18:28 vasta tsitaadiga

virus152 kirjutas:
Aruta kirjutas:

Samas räägitakse et Ülikoolis olla loobutud tudengitele hex arve õpetamast.

Hex arve nagu 16-ndsüsteemi?


Ma usun, et pigem nende semantilist tähendust protsessori jaoks vms..
Kommentaarid: 8 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
Aruta
HV vaatleja

liitunud: 29.10.2009




sõnum 29.10.2009 17:47:04 vasta tsitaadiga

See hexa lugu oli umbes nii.
Saime hommikul metsa vahel kokku ühe vana tuttava Ülikooli poisiga.

Mõtlesin, et küsin nõu, et millega NEMAD exe failidest vigu otsivad.
Vastab: Meie ei otsigi.
K: Kuidas te siis saate?
V: (Laiutab käsi.)
K: Noh aga ilma ju ei saa!
V: Ahh, me ei õpeta enam tudengitele kuusteistsüsteemis numbreid kah.

Vat umbes selline jutuajamine oli.
Ma siis enam ei küsinud et kas Hemmingi kood ikka kuskil veel kasutuses on.
Et kas nad seda ikka õpetavad.
tagasi üles
vaata kasutaja infot saada privaatsõnum
virus152
HV vaatleja
virus152

liitunud: 05.03.2009




sõnum 29.10.2009 18:13:57 vasta tsitaadiga

See arvusüsteemide jutt on küll jama. Sissejuhatava programmeerimiskursuse esimeses tahvlipraksis hakati neid õpetama, kes varem ei osanud. Pearõhk oli küll kahendsüsteemil, aga ka 8-nd ja 16-ndsüsteem vaadati eraldi üle. Kuigi minul oli arvusüsteemide teema juba gümnaasiumis ära, kui mitte varem ja ma usun, et teistel oli ka.

Exe-de töötlemise kohta ei tea täpselt, aga mõne valikaine temaatikas arvatavasti ikka on. icon_rolleyes.gif
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum
Ho Ho
HV Guru
Ho Ho

liitunud: 16.02.2002




sõnum 29.10.2009 18:14:13 vasta tsitaadiga

"Vanasti" umbes 4-5a tagasi õpetati TTÜ's base 2/8/16/n süsteeme diskreetse matemaatika loengutes. Olles käinud kokku neljas erinevas progemisloengus siis kolm neist olid üksteise koopiad eri keeltes ja neljas ei jõudnud isegi keskkooli taseme maakondliku progemisolümpiaadi ülesannete tasemele.
_________________
Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity"
Kommentaarid: 106 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 86
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  Assembler ja selle seos teiste keeltega mine lehele 1, 2, 3  järgmine
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.