[Diskussion] Assembler

Gibts eigentlich noch Leute die aktiv Assembler programmieren oder bin ich da einer der wenigen?? Wenn ja pls schickt mir ne private Nachricht ^^ würde mich gern mal unterhalten.
 

Zero

Chief 0perating 0fficer
Teammitglied
Admin
wir machen hier einen Discuss-Thread draus & schreiben lieber hier ;P

Ja. gezwungenermaßen muss ich mittlerweile 2 "Dialekte" können.
 

Zero

Chief 0perating 0fficer
Teammitglied
Admin
und da ja C angeblich genauso schnell wie Assembler ist... :twirly:
naja jain ^^
die Compiler sind mittlerweile verdammt gut ^^

Aber wer den Assembler richtig drauf hat (und dazu gehöre ich bei weitem nicht), kann man doch ab und an noch mal ein paar Zyklen sparen ^^
 

bahal

Otaku Legende
Otaku Veteran
und da ja C angeblich genauso schnell wie Assembler ist... :twirly:
da brauchst aber nen sehr guten Compiler, der das genauso effektiv hin bekommt wie als würdest du es direkt in Assembler schreiben. (Ich bezweifle, dass so einer existiert) Ich mag allerdings Sprachen wie C auch lieber.

Das bissl SPS, was ja wohl noch eine relativ einfache sehr hardware nahe Programmiersprache ist und was ich kann, reicht mir vollkommen...
 
Zuletzt bearbeitet:

pocks

Gläubiger
Ab und zu brauch ichs mal beim Lowlevel Programmieren, aber hauptsächlich halte ich mich da dann an C...
Nur mit C kann man halt keine register verschieben und interrupts auslösen ^^"
 

Zero

Chief 0perating 0fficer
Teammitglied
Admin
naja. man kann mit C auch die Interrups abfangen.
Kommt jetzt auf den Chip an.
Aber e.g. gibts unter C einen Interrupt-Vektor
Code:
static void interrupt isr(void)
  {
  if(T0IF)
    {
    Timer 0 interrupt;
    }

  if(TMR1IF)
    {
    Timer 1 interrupt;
    }
  if(CCP2IF)
    {
    Capture interrupt;
    }
  }
auch wenn das nicht wirklich schön ist, aber es würde gehen ^^

naja. bahal. der C-Compiler arbeitet richtig gute Arbeit. (v.a. der von Intel)
Es gibt fast nichts, was da noch ran reicht.
Ausser übelste Assembler-Cracks ;P
Der Unterschied ist maginal den man dort messen wird (also zw. Compiler und AS-Guru)

Daher macht man sich eigentlich nur noch die Mühe das richtig in assemler zu programmieren, wenn du das auf irgend eine Art und weise speziell optimieren willst ^^


edit
es kommt natürlich darauf an, wie du optimieren willst.
Bei Geschwindigkeit sind die Compiler unschlagbar.
Bei der Größe allerdings bei weitem nicht
 
Zuletzt bearbeitet:
Naja also ich Programmier C und Assembler. Wenn ich lust hab C + Inlineassembler sprich in nem C-Code einfach

asm("mov ax, 200")

aber ich kann mit Sicherheit sagen, dass Assembler um längen schneller ist als C, obwohl die Compiler richtig gute Arbeit leisten (bloß nicht so gut wie Assembler selber ;)). Ich programmiere zz ein Hobby Betriebssystem. Nichts großes, einfach für mich. Wer will, den kann ichs geben. Aber ich schreibe es im Protected Mode, sprich keine Interrupts. Da passiert halt viel mit in/out - Befehle und vor allem das schreiben in Adressen (0xB8000 und 0xA0000). Aber auf meinem Betriebssystem (Windows 7 Professional 64-bit und Ubuntu 11.04) schreibe ich nur in C und alle Berechnungen in Assembler, da ich keine Variablen benutzen muss, sondern einfach die Register benutzen kann. Denn in den ganzen Programmen handelt es sich nur um Eingaben und das Programm verarbeitet sie (da braucht man keine so große Geschwindigkeit, außer bei Spiele).
 
Zuletzt bearbeitet:

sents

Novize
Ich hab mal ein ganz wenig damit angefangen, vorallem weil es auf unseren Schultaschenrechnern viel schneller lief als basic.Habs dann aber doch sein lassen, würde es aber bei Zeiten noch lernen.
 

Wuffinator

White Fang
Otaku Veteran
Hab zwar Assembler, GAL, SPS und ANSI C gelernt, nutze es aber aktiv gar nicht mehr. Heute eher halt .NET, vorallem C# und VB.
 

dwdwdw

Novize
Doch noch so viele, die Assembler am PC programmieren? Respekt!
Mit wieviel Registern kann man eingendlich auf modernen Systemem arbeiten? Oder wird inzwischen alles im RAM abgewickelt?

Ich habe Assembler auf dem Mainfram (z/OS) gelernt und auch eine Zeit lang programmiert. Hier hat man bis zu 16 Register zur Verfügung (je nachdem wie viele Basisregister man braucht).
 

Zero

Chief 0perating 0fficer
Teammitglied
Admin
so sehr viel hat sich da auch heutzutage nicht geändert ^^

Architektur | Ganzzahlregister (Integer-ALU) | Fließkommaregister (FPU)
x86 8 8
x86-64 16 16
Itanium 128 128
UltraSPARC 32 32
POWER 32 32
Alpha 32 32
6502 3 0
PICmicro 1 0
ARM 16 16

eigentlich sind wir immer noch bei 16+16 ;P
 
Zuletzt bearbeitet:
Oben