Delphi-PRAXiS
Seite 1 von 10  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Maschinensprache (https://www.delphipraxis.net/31751-maschinensprache.html)

Neutral General 13. Okt 2004 11:01


Maschinensprache
 
Ich habe mal eine total verrückte Frage :

Kann man Programme in Maschinensprache programmieren, also im Binärsystem ?
Und wie macht man sowas ? Einfach in eine Textdatei

Delphi-Quellcode:
001010100111000110
101010110110001100
010000111001011101
schreiben und als Exe-Datei speichern ?

StefanDP 13. Okt 2004 11:05

Re: Maschinensprache
 
das ganze nennt sich assembler!
es gibt auch assembler für windows
du selbst brauchst nicht in 0en und 1en schreiben, sondern kannst z.b.
MOV R16 R17 oder so schreiben
das wird dann vom assembler in einen Maschinencode aus 0en und 1en umgewandelt

um eine exe daraus zu machen musst du es noch compilieren

Neutral General 13. Okt 2004 11:06

Re: Maschinensprache
 
Ich will aber 1en und 0en schreiben :mrgreen:

sakura 13. Okt 2004 11:09

Re: Maschinensprache
 
Zitat:

Zitat von Neutral General
Ich will aber 1en und 0en schreiben :mrgreen:

Hast Du Dir mal eine EXE angesehen, da ist nichts mit 0 und 1en, da sind alle 256 Varianten eines Bytes drinne ;-) Also HEXA-Dezimalen Editor und los gehts.

Ist es möglich? Ja.
Macht es wer? Nur extrem talentierte oder total verrückte.
Warum macht es heutzutage noch jemand? Keine Ahnung :mrgreen:

...:cat:...

d3g 13. Okt 2004 11:09

Re: Maschinensprache
 
Man kann. Wenn du die Textdatei mit Nullen und Einsen schreibst, wirst du allerdings eine Datei mit den ANSI-Codes der Nullen und Einsen erhalten. Die Nullen und Einsen sind ohnehin nur eine etwas bildliche Größe. Was du machen müsstest, ist einen Editor öffnen, der Binärdateien berbeiten hann (es bäte sich ein Hexeditor an, aber ein Texteditor, der mit dem gesamten ASCII-Zeichensatzumgehen kann, täte es auch) und dann byteweise die Instruktionen und deren Parameter schreiben.

Weil das unheimlich umständlich und sehr schwer handzuhaben ist, benutzt man meistens Assembler. Dort schreibt man die Opcodes und deren Parameter in einem menschenlesbaren Format, hat aber genau dieselben Möglichkeiten wie beim direkten binären Programmieren.

[edit]Etwas langsam, naja...[/edit]

Neutral General 13. Okt 2004 11:14

Re: Maschinensprache
 
Oh... ich fürchte das ist doch etwas umständlicher als ich gedacht hab ^^

sakura 13. Okt 2004 12:46

Re: Maschinensprache
 
Zitat:

Zitat von Neutral General
Oh... ich fürchte das ist doch etwas umständlicher als ich gedacht hab ^^

Es ist noch mal viel umständlicher ;-)

...:cat:...

Christian Seehase 13. Okt 2004 21:06

Re: Maschinensprache
 
Moin Neutral General,

mal abgesehen vom Aufwand:
Such' Dir erst mal etwas, wo Du es nutzen könntest.

Das wären dann, vielleicht, ein Zuse oder ein ENIAC Simulator (falls es so etwas gibt :gruebel: )

MaBuSE 13. Okt 2004 22:44

Re: Maschinensprache
 
Zitat:

Zitat von sakura
Zitat:

Zitat von Neutral General
Oh... ich fürchte das ist doch etwas umständlicher als ich gedacht hab ^^

Es ist noch mal viel umständlicher ;-)

Das wird an einem einfachem Beispiel klar:

Schau doch mal wie groß denn so die Programme (*.exe) auf deinem Rechner sind.

Wenn eine Project2.exe 512 kByte hat (also 0,5 MB) dann sind dass 512 * 1024 Bytes.
Ein Byte hat 8 Bit. Also hätte eine Exe mit 0,5 MByte 4.194.304 Einsen und Nullen.

Wie lange braucht man um über 4 Mio Einsen und Nullen zu tippen :mrgreen:

-gut- es gibt auch kleinere Programme ;-), aber 0,5 MB ist keine Seltenheit.

phXql 13. Okt 2004 22:51

Re: Maschinensprache
 
Maschinencode is doch nich das selbe wie Assembler. Assembler hat ja schon n paar befehle, aber maschinencode is wirklich nur "strom da" und "strom nich da" (1 bzw 0)... Oder hab ich da mal wieder nich aufgepasst? ^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:14 Uhr.
Seite 1 von 10  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz