[ASM] Verschil?

Pagina: 1
Acties:

  • El_Quedro
  • Registratie: September 2001
  • Laatst online: 04-08-2025

El_Quedro

Pininfarina

Topicstarter
Ik wilde graag een nieuwe taal leren :),
nu kreeg ik van mijn leraar ASM onder mijn neus, en heb wat lopen opzoeken en tutorials gevolgd (Art Of Assembly).

Nu gebruikt Art Of Assembly, HLA (Higher Level Assembly) wat weer compiled naar MASM, etc.
Ik heb ook het topic: [Alg] Hoe werkt een OS en hoe schrijf ik er zelf een? gelezen.. en daar gebruikte ze weer NASM.

Dus ik had gekeken op de NASM Website.
En daar vertelde ze het volgende:
MASM isn't very good, and it's (was) expensive, and it runs only under DOS.
Ik dacht WTF :? ? Iedereen raadde aan Art Of Assembly te gaan lezen, en ik dacht dat Assembly crossplatform was, maar dat blijkt bij MASM van niet :X

Ik heb gezocht op google, tweakers, etc
maar misschien kan iemand mij vertellen wat het verschil nou globaal is tussen:

- MASM
- TASM
- NASM
en andere.

Is het echt zo dat MASM alleen op DOS/Window platforms te gebruiken is, of geldt het alleen voor de assembler zelf :/ ?
Kan ik beter de NASM documentatie doornemen? of kan ik na een HLA cursus makkelijker overstappen?

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 09-01 11:25

D2k

de ASM hangt af van de architectuur van de proc/proc volgens mij :)
het gaat uiteindelijk toch allemaal om basis kennis, niet om syntax.
als jij weet wat een JNE doet zal het je aan je reet roesten of het in een ander "dialect" JN heet.

Doet iets met Cloud (MS/IBM)


  • Osiris
  • Registratie: Januari 2000
  • Niet online
Over dat crossplatform: Ja, je kunt assembler gebruiken op elk platform, maar nee, dat gaat niet werken met dezelfde asm-code. Voor elk platform heb je sowieso een andere compiler nodig en de asm-code verschilt per compiler.

Overigens ben je nieuw in ASM, dus kun je denk ik best met MASM experimenteren, om er wat van te leren/snappen zeg maar :) Kun je altijd nog overstappen op een andere compiler. Ok, je andere code werkt (waarschijnlijk) niet, maar iig weet je hoe de vork in de steel zit

  • El_Quedro
  • Registratie: September 2001
  • Laatst online: 04-08-2025

El_Quedro

Pininfarina

Topicstarter
Nu vraag ik me dus af of MASM code limitaties heeft...
Dat HLA gaat me echt heel makkelijk af, maar is het mogelijk om bijvoorbeeld een bootstrap te schrijven met HLA/MASM ?

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 23:30

NMe

Quia Ego Sic Dico.

El_Quedro schreef op 26 februari 2004 @ 12:10:
Nu vraag ik me dus af of MASM code limitaties heeft...
Dat HLA gaat me echt heel makkelijk af, maar is het mogelijk om bijvoorbeeld een bootstrap te schrijven met HLA/MASM ?
De begrenzing zit niet zozeer in je assembler, maar in de codes die je processor accepteert. Alles is dus afhankelijk van de architectuur van je hardware.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • madwizard
  • Registratie: Juli 2002
  • Laatst online: 26-10-2024

madwizard

Missionary to the word of ska

El_Quedro schreef op 26 februari 2004 @ 12:02:
Ik dacht WTF :? ? Iedereen raadde aan Art Of Assembly te gaan lezen, en ik dacht dat Assembly crossplatform was, maar dat blijkt bij MASM van niet :X
De oude MASM die voor DOS programma's bedoeld was zal wel alleen onder DOS werken maar de laatste versies van MASM werken volgens mij zelfs juist alleen onder windows (console apps).

MASM wordt heel vaak gebruikt, er is een goed pakket voor windows te vinden (MASM32, zie www.movsd.com), hoop tutorials en source code. TASM is al tijden niet meer geupdate geloof ik, het wordt ook niet meer ondersteund door Borland. NASM is op zich ook geen slechte keuze denk ik, al heb ik er zelf vrijwel niet mee gewerkt. MASM is wat vriendelijker qua syntax en heeft meer high level syntax zoals .IF, .ELSEIF maar het voordeel daarvan is nogal eens een punt van discussie geweest.

Er is ook nog FASM (flat assembler), die werkt vooral heel simpel en direct maar is minder makkelijk te gebruiken voor beginnende asm programmeurs. FASM draait onder windows en linux. Als je assembler wilt leren kun je het best met MASM beginnen, grotendeels omdat daar de meeste info over te vinden is. Zie ook mijn site voor een beginnerstutorial.

HLA is in mijn ogen bijna geen assembler meer te noemen, daar zijn ook al genoeg discussies over geweest. Het werkt wel makkelijker enzo maar of je er echt assembler van leert... En als je assembler schrijft om echt geoptimaliseerd te programmeren (wat eigenlijk het enige nut nog is naast het educatieve nut), wil je toch zonder al die HLL mogelijkheden programmeren.

www.madwizard.org


  • staefke
  • Registratie: December 2003
  • Laatst online: 19-05 22:28
Misschien is inline assembly in Visual C iets voor je, kun je gelijk de source code van Quake lekker bestuderen enzo :) (BTW, daar wordt weer wat anders gebruikt gasm ofzo...). Voordeel is dan dat je de interessante zooi in assembly kan doen en de rest in C of C++...

duh ?


  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 27-05 15:56

Tomatoman

Fulltime prutser

Sommige programmeertalen/ontwikkelomgevingen (zoals Visual C++, C++ Builder en Delphi)kennen de mogelijkheid om inline assembly te gebruiken. Daaarbij gebruik je gewoon de desbetreffende programmeertaal, maar kun je functies of delen van functies schrijven in assembly. Het grote voordeel daarvan is dat je eerst met heel weinig moeite een werkend programmaatje kunt schrijven en daarna stukken kritische (bijvoorbeeld tijdconsumerende) code kunt vervangen door assembly. Vooral voor leerdoelen is dat een heel laagdrempelige manier om in assembly te leren werken. Bovendien bespaart het je het tijdrovende werk om eerst een basale applicatie te schrijven, terwijl je je eigenlijk wilt focussen op het 'leuke' assemblywerk.

[ Voor 4% gewijzigd door Tomatoman op 26-02-2004 18:07 ]

Een goede grap mag vrienden kosten.


  • El_Quedro
  • Registratie: September 2001
  • Laatst online: 04-08-2025

El_Quedro

Pininfarina

Topicstarter
Ah, dank je voor jullie reply's :)
Het is voor mij al wat duidelijker..
Het is niet mogelijk om met MASM32 een 16-bit binary (.com) file te maken :(
maar dat maakt niet uit, tegen de tijd dat ik MASM kan, zal ik ook wel NASM kennen ;)

Continues reading Art Of Assembly ... :)

  • madwizard
  • Registratie: Juli 2002
  • Laatst online: 26-10-2024

madwizard

Missionary to the word of ska

El_Quedro schreef op 27 februari 2004 @ 11:03:
Ah, dank je voor jullie reply's :)
Het is voor mij al wat duidelijker..
Het is niet mogelijk om met MASM32 een 16-bit binary (.com) file te maken :(
Kan wel, moet je alleen een oude DOS linker gebruiken, er staat er een op Iczelion's site (win32asm.cjb.net) onder downloads.

[ Voor 4% gewijzigd door madwizard op 28-02-2004 12:28 ]

www.madwizard.org

Pagina: 1