Maschinensprache
-
u_ser-l schrieb:
Bis in die 60er Jahren war es nicht ungewöhnlich, nach dem Anschalten eines Computers erst einmal eine Handvoll Maschinencodes binär über eine Schalterleiste einzuklimpern - z.B. solche Maschinencodes, die die Maschine veranlaßten, daß ein kleines Ladeprogramm vom Lochstreifen eingelesen wurde, welches dann gestartet wurde und seinerseits schließlich das eigentliche Betriebssystem von einem Massenspeicher holte.
das erinnert mich irgendwie an den 'nop-stecker' für diese geräte: http://de.wikipedia.org/wiki/NDR-Klein-Computer
-
was ist das (nop-Stecker) ? War etwas vor meiner Zeit oder ich hab's nicht mitgekriegt ...
-
u_ser-l schrieb:
was ist das (nop-Stecker) ? War etwas vor meiner Zeit oder ich hab's nicht mitgekriegt ...
zum testen des prozessors kann man sich eine nop-anweisung mit dem lötkolben basteln. siehe hier: http://home.arcor.de/tschallener/schule/mc.pdf (2.13.2)
-
unter dos war standardmaessig ein debugger mit dabei, damit konnte man sehr sehr einfach code als machinencode eingeben und z.b. als .com datei ablegen die man dann auch direkt ausfuehren konnte.
-
u_ser-l schrieb:
Bis in die 60er Jahren war es nicht ungewöhnlich, nach dem Anschalten eines Computers erst einmal eine Handvoll Maschinencodes binär über eine Schalterleiste einzuklimpern...
Auf so eine Kiste habe ich noch in den 70er Jahren bei einem Kunden arbeiten müssen. Es war ein Graus. Jeder arithmetische oder sonstige Fehler brachte die Kiste zum Absturz. Danach waren die Kippschalter notwendig.
Vergiss Deine Frage!
-
Frage war nicht von mir, trotzdem interessant. Einer der ersten Heimcomputer (altair 8800) wurde auch noch binär über Schalterreihe an der Frontplatte programmiert.
-
In reinem kannst du es schon machen, aber du kannst das binäre Zahlensystem z.B. auch mit C benutzen:
#include <stdio.h> #include <stdlib.h> int main() { int i, t, c; unsigned char b; FILE *output; char *binary[] = { "1 0 1 1 0 1 0 0", // 0xB4 = MOV AH "0 0 0 0 1 0 0 1", // 0x09 = 09 "1 0 1 1 1 0 1 0", // 0xBA = MOV DX "0 0 0 0 1 0 0 1", // 0x09 = XX09 "0 0 0 0 0 0 0 1", // 0x01 = 01XX "1 1 0 0 1 1 0 1", // 0xCD = INT "0 0 1 0 0 0 0 1", // 0x21 = 21 "1 1 0 0 1 1 0 1", // 0xCD = INT "0 0 1 0 0 0 0 0", // 0x20 = 20 "0 1 0 0 1 0 0 0", // 0x48 = 'H' "0 1 1 0 0 1 0 1", // 0x65 = 'e' "0 1 1 0 1 1 0 0", // 0x6C = 'l' "0 1 1 0 1 1 0 0", // 0x6C = 'l' "0 1 1 0 1 1 1 1", // 0x6F = 'o' "0 0 1 0 0 0 0 0", // 0x20 = ' ' "0 1 0 1 0 1 1 1", // 0x57 = 'W' "0 1 1 0 1 1 1 1", // 0x6F = 'o' "0 1 1 1 0 0 1 0", // 0x72 = 'r' "0 1 1 0 1 1 0 0", // 0x6C = 'l' "0 1 1 0 0 1 0 0", // 0x64 = 'd' "0 0 1 0 0 0 0 1", // 0x21 = '!' "0 0 0 0 1 0 1 0", // 0x0A = '!' "0 0 0 0 1 1 0 1", // 0x0D = '!' "0 0 1 0 0 1 0 0", // 0x24 = '$' }; output = fopen("programm.com", "wb"); t = (sizeof(binary) / sizeof(char *)); for(i = 0; i < t; i++){ char *p = binary[i]; b = 0; c = 0; while(*p){ if(*p == '0' || *p == '1'){ if(*p == '1') b |= (1 << (7 - c)); c++; } *p++; } fwrite(&b, sizeof(b), 1, output); } fclose(output); fflush(stdout); system("programm.com"); return 0; }
-
u_ser-l schrieb:
Einer der ersten Heimcomputer (altair 8800) wurde auch noch binär über Schalterreihe an der Frontplatte programmiert.
http://www.digibarn.com/collections/mags/pe-jan-1975/pe-1975-01-altair-cover.jpg
-
Welcher Mensch mag denn gerne mit Binärzahlen umgehen? Die Araber hatten das Dezimalsystem eingeführt, das uns einfach geläufiger ist. Nun gut, Oktal- oder Hexadezimalzahlen sind auch noch irgendwie brauchbar. Aber Binärzahlen? Für Maschinen ja, für mich allein für Bitschalter zum Sparen von Speicherplatz und aus Gründen der Performence. Alles weitere machen Compiler und Assembler!
-
berniebutt schrieb:
Welcher Mensch mag denn gerne mit Binärzahlen umgehen?
Ich.
berniebutt schrieb:
Die Araber hatten das Dezimalsystem eingeführt, das uns einfach geläufiger ist.
Aha.