Overleg:Assembler (software)

Pagina-inhoud wordt niet ondersteund in andere talen.
Onderwerp toevoegen
Uit Wikipedia, de vrije encyclopedie
Laatste reactie: 11 jaar geleden door Richardw in het onderwerp De essentie

Verbetervoorstel voor dit artikel[brontekst bewerken]

Ik vind dat de programmeertaal 'assembly' heet en niet 'assembler'. Een assembler is het programma dat assembly omzet in machinecode. In dit artikel wordt nergens over assembly gesproken en dat vind ik toch wel een schande. Maar ik ben ook te lui om heel het artikel aan te gaan passen. 131.155.99.158 1 sep 2005 13:17 (CEST)Reageren

Volledig akkoord. Zuliani 2 feb 2007 17:33 (CET)Reageren

Primitief[brontekst bewerken]

Is assembler 'primitief'? Onder 'primitief' versta ik 'achterhaald' en dat weet ik toch zo niet. Assembler wordt nog steeds gebruikt voor doeleinden waar het gewoon het voordeligste is. Wilinckx 16 jul 2003 19:42 (CEST)Reageren

Naar mijn mening is assembler zeker niet primitief. Het is een low-level taal, wat zoveel wil zeggen als bewerkelijk. Je kunt er echter heel efficient in programmeren en compactere 'code' genereren dan met 'hogere' talen. Het wordt (denk ik) nog redelijk veel gebruikt. Wel is het heel erg CPU-gebonden. Harm 16 jul 2003 19:46 (CEST)Reageren
primitief is zeker niet synoniem met achterhaald. 'oorspronkelijk' komt er dichter bij. Het wordt nog wel gebruikt om in te programmeren maar haast alleen voor optimalisatie van zeer veel tijd vretende kleine loopjes, op andere manieren in assembler programmeren kost te veel tijd voor de programmeur. Evanherk 1 mei 2005 17:57 (CEST)Reageren

Naar mijn weten wordt het nog wel wat gebruikt maar slechts in wat 'niches': schrijven van device drivers, of speciale routines voor bijv. 3d berekeningen worden nog wel ns in assembly geschreven omdat ze dan efficienter zijn.

Met primitief zal gewoon bedoeld zijn dat het 1 van de eerste talen was. Een hamer is ook primitief, maar is niet verouderd. Egs 10 mrt 2005 13:00 (CET)Reageren

Ik heb de term primitief vervangen door low-level. Verander terug als je dat niet goed vind.

Verbetervoorstel voor dit artikel[brontekst bewerken]

Assembler is de moeder van alle programmeertalen. Eigenschappen:

De instructies en gegevens zijn in het geheugen van de computer gecodeerd opgeslagen, die voor de mens moeilijk te bevatten is. Daarom heeft men een dit vertaalprogramma ontwikkeld. Ook het omgekeerde is mogelijk om de machinecode terug te vertalen. Men noemt dat een debugger.
Intel 80x86 en Pentium en verwanten, zoals bj voorbeeld AMD welke vooral in gebruik zijn mij MS-DOS en Windows. Het bevat ook uitbreidingen, zogenaamde interrupts die het besturingssysteem afhandelt.

Voorbeeldje van Intel assemblerprogramma onder MS-DOS dat het afdrukbare deel van de 8-bits ASCII tabel op het beeldscherm toont.

;etiket opdracht parameters commentaar  
       .MODEL    SMALL      ; maak .exe max 2 segmenten 
       .STACK    128        ; 128 bytes voor buffer 
       .CODE                ; code segment - data hebben we niet
START: mov       dl,020h    ; vergeet stuurtekens, begin met spatie
M1:    MOV       AH,002H    ; toont inhoud van register
       INT       21H        ; DL op het beeldscherm
       INC       DL         ; verhoog DL met 1 dl++ voor C-kenners
       jz        m9         ; we zijn rond geweest FF gehad
       CALL      WACHTEN    ; aanroep van het subprogramma
       JMP M1               ; dit is niet erg gestructureerd...
m9:    mov       ah,04ch    ; terug naar besturingssysteem
       int       21h        ; MS-DOS via veel toegepaste interrupt  

WACHTEN PROC NEAR        ; subprogramma
        PUSH BX          ; zet gebruikte registers op stapel 
        PUSH CX          ; zoals ze in hoofdprogramma waren 
        MOV  BL,0A0H     ; buitenlus doorloop binnenlus 160 keer
w1:     MOV  CX,0FFFFH   ; binnenlus
w2:     DEC  CX          ; tel 65535 keer
        JNZ  w2
        DEC  BL
        JNZ  w1
        POP  CX           ; zet registers weer terug 
        POP  BX           ; in oorspronkelijke staat
        RET               ; terug naar het hoofdprogramma

WACHTEN ENDP
        END       START 

Andere processoren met een veel genruikt besturingssysteem
PowerPC processoren met Mac-OSX
IBM mainframe series met bij voorbeeld MVS


--Patio 1 mei 2005 11:51 (CEST)Reageren


Kan ik me wel in vinden, maar je Nederlands laat nogal wat steekjes vallen in deze bovenstaande versie. Maar dat geeft niet, verbeteren we wel weer. Een debugger en een disassembler zijn overigens wel twee geheel verschillende beesten hoor. En voor 'de moeder van' iets als 'de meest elementaire manier om instructies (programmacode) te schrijven voor een bepaalde processor?' Evanherk 1 mei 2005 12:24 (CEST)Reageren


Het artikel nog eens nalezend en het bovenstaande, vind ik het artikel eigenlijk nog steeds belangrijk beter dan wat hierboven staat. Hierboven staat alleen veel meer voorbeeldcode, maar de uitleg is slechter en bevat bovendien ernstige taalfouten. "De instructies en gegevens zijn in het geheugen van de computer gecodeerd opgeslagen, die voor de mens moeilijk te bevatten is". Evanherk 1 mei 2005 18:01 (CEST)Reageren

Ik heb net wat informatie over assemblers en linkers erbij gezet, zijn jullie het er mee eens dat dit erin hoort?

En wat denken jullie over de inhoud?

bvd

fr33ke 2 november 2005 11:28 (CEST)

Doorverwijspagina ASM <-> Assembler[brontekst bewerken]

ASM is een veelgebruikte afkorting voor assembly, maar als je zoekt kom je rechtstreeks op de site va nhet een of ander bedrijf...

Processor en assembler door elkaar gehaald[brontekst bewerken]

In het artikel wordt net gedaan of er maar *een* assembler voor een bepaalde processor mogelijk is. Dat is natuurlijk onjuist, bijv. zijn er assemblers in AT&T traditie, GNU traditie en zelfs Forth traditie. Om dit eruit te krijgen moet de zaak helaas behoorlijk overhoop. – De voorgaande bijdrage werd geplaatst door 80.100.243.19 (overleg · bijdragen)

Ik weet niet zeker of ik je goed begrijp. Als het gaat om de assembleertaal (niet het programma), dan is die toch zeer sterk gebonden aan een bepaalde processor. Je kunt eventueel andere namen geven aan bepaalde instructies, maar daar houdt het wel mee op. Als het gaat over de assembler (het programma), dan zijn daarvan wel verschillende voor een bepaalde processor. MrBlueSky 15 mrt 2010 20:17 (CET)Reageren

Een goede programmeur...[brontekst bewerken]

In het artikel staat nu nog de zin Een goede programmeur zal in staat zijn assemblercode te begrijpen, en daarmee zwakke punten van programma's en eventuele fouten in compilers te beoordelen. Ik heb daar wat problemen mee:

  • het ligt er maar net aan op welk niveau je programmeert en wat je doelen zijn. Een SQL-programmeur, hoe goed ook, zal zelden met assembler te maken krijgen. Als je software ontwikkelt met het oog op overdraagbaarheid tussen verschillende platformen zou je je juist niet met de resulterende machinecode moeten willen bezighouden;
  • er zijn ook compilers die als eindresultaat geen machinecode opleveren (zoals de java-compiler). Kennis van machinetaal / assembler heeft in die situatie geen betekenis;
  • kortom: kennis van assembler zegt niets over de kwaliteiten van een programmeur.

Ik ga deze zin dan ook verwijderen. Richard 9 apr 2010 09:33 (CEST)Reageren

Inderdaad een rare zin. Handige Harrie 9 apr 2010 09:49 (CEST)Reageren

Uitbreiding beschrijving (verduidelijking?)[brontekst bewerken]

Hallo, Jlthkoch heeft de openingszin uitgebreid ("Assembleren betekent letterlijk...processor kan worden begrepen.") en heeft het n.m.m. alleen maar verwarrender gemaakt en ook nog een fout geintroduceerd. Hij/zij maakt een striktere verbinding tussen de betekenissen van 'assembleren' en samenstellen. Dit is n.m.m. niet correct en wel omdat het een Amerikaans woord is meer in de betekenis van 'opbouwen' zonder over samenstellen van beschikbare onderdelen te praten (N.B. In de Engelse wiki wordt ook niet gesproken over samenstellen maar over vertalen (~omzetten). Formeel zijn er ook geen onderdelen (het is geen linker). Dit is mogelijk ook de reden dat de van Dale (de Dikke), naast samenstellen, ook gewoon het assembleren van programma's benoemd als 'omzetten'. Daarnaast wordt in de toevoeging nu gesproken van een 'taal die door de processor' wordt begrepen. Over het algemeen wordt wordt er niet van uitgegaan dat een processor een taal begrijpt of uitvoert. Een processor werkt met of voert uit (machine)code of correcter 'opcode'. En omdat de 'code' en het 'omzetten' impliciet als een taak van de assembler al in de eerste zin worden genoemd voegt de toevoeging niets toe (wel onduidelijkheid en een fout). Ik had het al eens weggehaald maar Jlthkoch heeft het opnieuw toegevoegd. En om te voorkomen dat we in een cirkel komen is misschien de mening van iemand anders gewenst.--Butch 29 jun 2010 08:13 (CEST)Reageren

Wat ik geprobeert heb is een tekst neer te zetten, waarin het begrip ook voor de (computer) leek -zoals ik- op een begrijpelijke en toegankelijke manier wordt uitgelegd. Het lijkt me dat dat dit artikel (en uiteindelijk de Wikipedia) ten goede komt. Over de vorm waarin deze aanvulling / verduidelijking gegoten moet worden kun je inderdaad discussieren en dat is uiteraard prima. Ik heb zelf overigens absoluut geen verstand van deze materie (Asssembler) en mijn kennis wat dit onderwerp betreft komt uit het artikel zelf, maar in dit verband lijkt mij dit een voordeel want door dit gebrek aan kennis was ik in staat een verduidelijking te schrijven die "zelfs ik" zou kunnen begrijpen. Zoals gezegd kun je discussieren over de vorm en wellicht verdient mijn tekst verbetering, maar ik blijf echter van mening dat een dergelijke aanvulling gewenst is. Met vriendelijke groet, John 29 jun 2010 08:45 (CET)Reageren
Hallo JLThKoch, Mooi dat je het lemma voor de 'leek' wilt verduidelijken. En ook goed dat je uit het verhaal zelf de toevoeging hebt geconcludeerd. Echter zijn er wel wat fouten in geschoten. Mogelijk staat het dan verkeerd in het verhaal. Als dat zo is dan moet het verhaal -en niet de openingszin van het lemma- verduidelijkt of gecorrigeerd worden. Ik zal vandaag of morgen het verhaal nog een keer lezen. Vooralsnog blijf ik erbij dat je toevoeging niet correct is (zie hierboven voor toelichting). Maar laten we even de mening van een ander afwachten.--Butch 30 jun 2010 08:25 (CEST)Reageren
Beste Butch, zoals ik al aangeef kan het zijn dat er fouten staan in mijn toevoeging en ik ben het met je eens dat die uiteraard eruit moeten worden gehaald, ongeacht of de fouten uit het bestaande 'verhaal' of uit mijn eigen 'brein' zijn ontsproten. Ik blijf echter wel van mening dat het 'verhaal' dient te worden verduidelijkt, over de vorm (of het nu een (extra) openingszin moet worden of een (of meer) aanpassing(en) in het verhaal) kun je inderdaad discussieren. Laten we inderdaad maar afwachten en kijken wat een ander er van vind. Met vriendelijke groet, John 30 jun 2010 10:56 (CEST)Reageren

Assembler en disassembler horen bij elkaar![brontekst bewerken]

Hallo, In het artikele stond de stellige opmerking: "Assembler en disassembler horen bij elkaar". Omdat er genoeg assembers zijn/waren die geleverd zijn/worden zonder een disassembler en omgekeerd is deze opmerking n.m.m. niet correct. Ook zijn er talloze projecten die uitgevoerd worden zonder een disassembler te gebruiken. Voor mij reden om e.e.a. te nuanceren (wijziging van 15-11-2010). In de zelfde paragraaf werd ook gesproken over embedded systemen. Ik ben van mening dat assemblers/disassemblers niet iets specifieks zijn voor embedded systemen en heb daarom deze afbakening verwijderd. Richardw was het hier niet mee eens en heeft mijn wijzigingen weer teruggedraaid. Wat denken andere hiervan? --Butch 15 nov 2010 18:51 (CET)Reageren

Ik denk dat de oorspronkelijke schrijver van het stukje bedoelt dat de begrippen assembler en disassembler bij elkaar horen. Er wordt namelijk ook heel duidelijk gezegd dat het verschillende dingen zijn. Er wordt ook nergens beweerd dat een assembler altijd een disassembler bevat of andersom.
Ook staat er letterlijk veel geïntegreeerde ontwikkelsystemen voor hogere programmeertalen bevatten een disassembler, maar wordt wel duidelijk gesteld ze zijn een onderdeel van elk pakket waarmee embedded systemen ontwikkeld worden. Oftewel: er staat al dat het niet tot embedded systemen beperkt blijft, maar wel dat ontwikkelaars van embedded systemen niet zonder kunnen.
Niettemin, er stond nog een tikfout in ook (geïntegreeerde) dus ik heb de tekst ietwat aangepast. Ik hoop dat je jezelf er zo in kunt vinden.
Richard 15 nov 2010 19:13 (CET)Reageren

'Behoorlijk' stuk uit lemma verdwenen[brontekst bewerken]

Hallo, Ik merkte dat smile4ever 0p 30-10-2011, een behoorlijk stuk tekst uit het lemma heeft verwijderd. Er waren best wat tekstfragmenten waarvan men zou kunnen zeggen dat het er niet hoort of niet helemaal correct is. Maar om nou het hele stuk te verwijderen gaat mij wel wat ver. Wat denken jullie daarover?--Butch (overleg) 30 okt 2011 20:18 (CET)Reageren

Dat staat nu in assembleertaal. Ik moest zelf ook even goed kijken wat er gebeurd was overigens... Richard 30 okt 2011 20:33 (CET)Reageren
Bedankt Richard Nu blijft die informatie in ieder geval bestaan. Overigens was ik niet eerder op assembleertaal gestuit. Mogelijk omdat ik hier nog nooit van gehoord heb en eigenlijk ook niet weet wat een assembleertaal is!!! Door dat gebruik van Engelse woorden en het soms 'vreemd' vertalen kan mij natuurlijk e.e.a. ontgaan zijn. Het lijkt mij correcter dat als je Assembler wilt vertalen (wie doet dat?) je het zou moeten vertalen als iets als assemblergereedschap (om assembleren maar te laten wat het is anders valt er helemaal niets meer te herkennen)!--Butch (overleg) 31 okt 2011 12:33 (CET)Reageren
Een assembler is een programma waarmee een programma in assembleertaal vertaald wordt. Richard 31 okt 2011 12:38 (CET)Reageren
PS: in praktijk zeg je echter ook wel eens dat iets in assembler geprogrammeerd is... om het makkelijk te maken. Richard

De essentie[brontekst bewerken]

De essentie is dat de processor geen taal kent en mensen wel taalgevoelig zijn. Dus de processor doet zijn code en mensen hebben die instructies verzonnen in een taal.
En niet andersom!

Suske (overleg) 28 nov 2012 00:17 (CET)Reageren

Dat stond er dan ook niet. Richard 28 nov 2012 10:22 (CET)Reageren