Windows Assembly Language?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ein Assembler hat zuallererst die Aufgabe, die Instruktionen der CPU übersetzen zu können. Von syscalls weiß er nichts - diese können ja mit den Instruktionen der CPU dargestellt werden.

Und da ist, wo Bibliotheken ins Spiel kommen - code, den bereits jemand anderes geschrieben hat, dass du das nicht selbst nochmal machen musst.

Aber das Einbinden dieser ist auch weniger die Aufgabe des Assemblers, sondern eines Linkers, womit Codeteile, die unabhängig voneinander sind, zusammengebunden werden können. Alternativ kannst du natürlich auch in Assembly geschriebenen Quellcode Teil deines Programms machen, das ist wo ein "include" ins Spiel kommt.

Meiner Meinung nach macht Assembly lernen mehr Sinn, wenn du dich *nicht* mit syscalls abgeben musst - schließlich willst du ja Assembly lernen, und nicht die syscalls vom Betriebssystem. Und wo geht das? Auf und mit Microcontrollern z.B. - deren Prozessoren sind meist leichter zu programmieren als die Desktop CPUs, wegen deren im Allgemeinen übersichtlicheren Instruktionssatzes. Auch liegt dann zwischen deinem Programm und der Hardware des Gerätes kein Betriebssystem, welches dich effektiv davon abhält, direkt die Hardware ansprechen zu können.

Woher ich das weiß:Berufserfahrung – hard meets soft
Heinzfred 
Fragesteller
 27.07.2022, 11:23

Sorry für die späte Rückmeldung, aber ich danke dir für die hilfreiche Antwort! Mikrocontroller klingt gut, damit werde ich mich mal beschäftigen.

0
Bushmills145  28.07.2022, 20:12

Danke schön für Sternchen!

0

Warum nicht NASM?

Ich mag die ARM cortex ASM Syntax bzw. den ARM Thumb instructionset(load store Architektur).

Falls dich Hardware nahe Programmierung interessiert, kann ich dir das nur empfehlen, zum Beispiel auf einem STM32 Board.

Woher ich das weiß:eigene Erfahrung