Technologie
Menschen Wissenschaft Politik Mystery Kriminalfälle Spiritualität Verschwörungen Technologie Ufologie Natur Umfragen Unterhaltung
weitere Rubriken
PhilosophieTräumeOrteEsoterikLiteraturAstronomieHelpdeskGruppenGamingFilmeMusikClashVerbesserungenAllmysteryEnglish
Diskussions-Übersichten
BesuchtTeilgenommenAlleNeueGeschlossenLesenswertSchlüsselwörter
Schiebe oft benutzte Tabs in die Navigationsleiste (zurücksetzen).

Assembler: was passiert wenn ich die unbenutzten flag register benutze

15 Beiträge ▪ Schlüsselwörter: Buch, Flag, Register ▪ Abonnieren: Feed E-Mail
Seite 1 von 1
CriticalRush Diskussionsleiter
ehemaliges Mitglied

Link kopieren
Lesezeichen setzen

Assembler: was passiert wenn ich die unbenutzten flag register benutze

21.03.2018 um 19:12
hallo,

Ich habe mir vorgenommen das asm buch durch zulesen..


im kapitel 3.3 Das Flag-Register steht die x86 CPU hat keine verwendung für einige flag register und man darf die nicht benutzen, kann man das nicht oder was passiert dan?


1x zitiertmelden

Assembler: was passiert wenn ich die unbenutzten flag register benutze

22.03.2018 um 09:31
@CriticalRush

Warum liest (und zitierst) Du nicht anständig?
Da Steht:

"Einige der Flags haben bei der 8086-CPU noch keine Bedeutung und sind für spätere CPUs reserviert. Deshalb darf der Programmierer sie nicht verwenden."

Hervorhebung durch mich. Wenn man als Programmierer diese Flags nutzt und spätere CPUs diese ebenfalls - womöglich ganz anders - nutzen wird das Programm auf diesen späteren CPUs nicht oder nicht richtig laufen und eventuell das System zum Absturz bringen.


melden
CriticalRush Diskussionsleiter
ehemaliges Mitglied

Link kopieren
Lesezeichen setzen

Assembler: was passiert wenn ich die unbenutzten flag register benutze

22.03.2018 um 10:08
hi @CptTrips,
tja wie kann ich antworten? ich habe das so frei formuliert geschrieben, ich fand in dem fall war das nicht so die formulirung einwenig krass, einfach mal ein "darf der programmierer nicht benutzen" . Das buch ist ja kein Design Dokument wie man eine bestimmte software für jemanden entwickeln soll.

Deine Hervorhebung war hilfreich, und hat mich nochmal daran erinnert, dass ich keine x86 cpu habe, aber es offnet sich die frage ob im real mode die degister nun auch so funktionieren wie auf dem x86 ;)

ASM schreibt man meiner meinung nach extra für die jeweilige modelle der CPUs, erinner dich mal an treiber und standard treiber die auf allen cpu s laufen.

daher wollte ich nur mal wissen ob denn die verbotetn flags, funktionieren, Wissen Sie?


melden

Assembler: was passiert wenn ich die unbenutzten flag register benutze

22.03.2018 um 10:30
Code der auf verschiedenen CPUs läuft wird eben deshalb nicht in Assembler geschrieben sondern in einer anderen Sprache, zum Beispiel C. Dieser wird dann für die entsprechenden CPUs kompiliert um auf diesen lauffähig zu sein. Der Vorteil ist: man hat ein Programm zu schreiben und zu pflegen, der Nachteil: man muss es dann immer für mehrere CPUs jeweils extra kompilieren wenn es updates oder ähnliches gibt.


melden

Assembler: was passiert wenn ich die unbenutzten flag register benutze

22.03.2018 um 10:38
IMHO ist sind die x86er abwaertskompatibel, vorausgesetzt der programmierer haelt sich an die vorgaben und "pfuscht" nicht rum.(abgesehen davon gibt es ja auch den "virtuellen" x86er mode.)
negativ bsp. war ja seinerzeit IBM, die sich nicht an die vorgaben und hinweise von intel gehalten und an den interrupts rumgepfuscht haben. solltest Du jemals protected mode in assembler programmieren wirst auch darueber stolpern und dich rumaergern;)


melden
CriticalRush Diskussionsleiter
ehemaliges Mitglied

Link kopieren
Lesezeichen setzen

Assembler: was passiert wenn ich die unbenutzten flag register benutze

23.03.2018 um 15:18
warum soll man sich den software wie mmorpg's oder skype in asm entwickeln? selbst das Betriebsystem ist nicht in asm etwickelt.

mir fallen nur treiber ein, auch wenn man in einer grafik engine einen teil in asm machen würde, würde man ständig mit anpassungen an die unterschiedlichen hardware arbeiten, damit jede hardware perfekt unterstützt wird.

ich möchte halt das buch als einleitung um später für bestimmte geräte/chips zu programmieren


1x zitiertmelden

Assembler: was passiert wenn ich die unbenutzten flag register benutze

23.03.2018 um 16:20
Zitat von CriticalRushCriticalRush schrieb:warum soll man sich den software wie mmorpg's oder skype in asm entwickeln? selbst das Betriebsystem ist nicht in asm etwickelt.
Ich glaube das werden die wenigsten heutzutage noch machen, vielleicht in einzelnen Bereichen des Programms noch um ein wenig Geschwindigkeit herauszuholen.


1x zitiertmelden

Assembler: was passiert wenn ich die unbenutzten flag register benutze

25.03.2018 um 14:30
Zitat von tarentaren schrieb:Ich glaube das werden die wenigsten heutzutage noch machen, vielleicht in einzelnen Bereichen des Programms noch um ein wenig Geschwindigkeit herauszuholen.
Oder tatsächlich sogar für das genaue Gegenteil. Wenn an einer Stelle absichtlich etwas Zeitverzögert werden soll, auch wenn es nur ein Zyklus ist (NOP). Der Compiler würde das Wegoptimieren, außer an der Stelle weist man ihn an, explizit diesen Code genau so auszuführen.


1x zitiertmelden

Assembler: was passiert wenn ich die unbenutzten flag register benutze

25.03.2018 um 20:56
Zitat von H.W.FliehH.W.Flieh schrieb:Wenn an einer Stelle absichtlich etwas Zeitverzögert werden soll, auch wenn es nur ein Zyklus ist (NOP).
was waere ein denkbarer anwendungsfall fuer eine zeitverzoegerung mittels NOP auf einem modernen system(cpu)?

NOP fand ich immer interresant in bezug auf "EVEN", also ausrichten von code auf eine "gerade/teilbare"(je nach architektur) adresse.
Zitat von H.W.FliehH.W.Flieh schrieb:Der Compiler würde das Wegoptimieren, außer an der Stelle weist man ihn an, explizit diesen Code genau so auszuführen.
die modernen compiler sind verdammt gut;)


1x zitiertmelden

Assembler: was passiert wenn ich die unbenutzten flag register benutze

25.03.2018 um 21:31
Zitat von neoschamaneneoschamane schrieb:was waere ein denkbarer anwendungsfall fuer eine zeitverzoegerung mittels NOP auf einem modernen system(cpu)?
Tatsächlich kann ich nur für Embedded Systems sprechen. Wenn Du z.B. direkt in einem Hardwaretreiber kurz auf die Peripherie warten musst (z.B. Sicherstellen dass Signalpegel korrekt anstehen), aber eben nur so kurz, dass es unsinnig wäre einen anderen Thread abzuarbeiten.


1x zitiertmelden

Assembler: was passiert wenn ich die unbenutzten flag register benutze

26.03.2018 um 20:37
Zitat von H.W.FliehH.W.Flieh schrieb:auf die Peripherie warten
Zitat von H.W.FliehH.W.Flieh schrieb:Sicherstellen dass Signalpegel korrekt anstehen
ok, so kenne ich das auch in verbindung mit IN/OUT befehlen.


melden

Assembler: was passiert wenn ich die unbenutzten flag register benutze

27.03.2018 um 22:07
Zitat von CriticalRushCriticalRush schrieb am 21.03.2018:im kapitel 3.3 Das Flag-Register steht die x86 CPU hat keine verwendung für einige flag register und man darf die nicht benutzen, kann man das nicht oder was passiert dan?
hast Du Dich mittlerweile naeher damit beschaeftigt, vielleicht sogar praktisch?
(oder war das im grunde nur eine fehlgeleitete google anfrage und eigentlich nicht fuer ein forum((diskussion)) gedacht)?

das flag register(statusregister der cpu) dient ja primaer dazu "zustaende" anzuzeigen, z.b. nach einer mathematischen operation(zeroflag zeigt z.b. an das die letzte operation 0 ergeben hat)
die ganzen bedingten sprungbefehle werden durch entsprechende flags "getriggert".
(z.b. jnz=jump if not zero; der sprung findet nur dann statt wenn das zeroflag nicht gesetzt ist)

es gibt aber auch z.b ein flag das die interrupts betrifft; das interrupt enable flag, damit laesst sich die interrupt verarbeitung steuern. dieses ist keine reine "anzeige" sondern kann gezielt gesetzt oder geloescht werden(via code).
Zitat von CriticalRushCriticalRush schrieb am 21.03.2018:kann man das nicht oder was passiert dan?
ist die frage eigentlich hinreichend beantwortet fuer Dich?


melden
CriticalRush Diskussionsleiter
ehemaliges Mitglied

Link kopieren
Lesezeichen setzen

Assembler: was passiert wenn ich die unbenutzten flag register benutze

28.03.2018 um 12:10
Toll, dass Du du mich erwähnthast, ich habe nicht geahnt dass, hier weiter diskutiert wird :D ich mag das Ihr so verständlich geschrieben habt, weil ich noch anfänger bin, habe ich lücken in der fachsprache, ist ja klar, aber weil mir, die posts hier so gefallen, würde ich gerne weiter in diesem forum microchips diskutieren, auch wenn es nur für nostalgie ist ;)

@neoschamane ich habe mich weiter beschäftigt.

asm ist immer an den chip gebunden, daraus könnte man schliessen, das es keine "die " asm sprache gibt, sondern nur x86asm asm-asm avr-asm.

wei die undefenierten flgs funktionieren habe ich nicht gelüftet, aber das buich asm programmierung für x86 weiter gelesen und ausserdem meinen horizont im bezug auf die welt der chips erweitert.
die flag geheimen funktionen sind nur dem entwickler team bekannt, nur das entwickler team weiß welche schaltungen für die asm befehle verwändet wurden.

bei xor befehlen könnte man z.B. die register umbenennen aber es gibt auch andere möglichkeitetn.

zum entwickeln von cpu's gibt es sogar eine cpu beschreibungs sprache VHDL

und chip bausätze zum prototyp bauen FPGA


melden

Assembler: was passiert wenn ich die unbenutzten flag register benutze

28.03.2018 um 16:11
Also VHDL ist keine Sprache die nur zur Beschreibung von CPU's dient, sondern wie der Name schon sagt (Hardware Description Language) eine allgemeine Sprache um FPGA's zu programmieren bzw. formal die funktionsweise eine Chips zu beschreiben.

Und auch FPGA's sind keine 'Prototypen'. Klar man kann sie auch zum Bau von Prototypen nutzen, aber eigentlich sind FPGA's hoch flexible, massiv parallesierbare Chips, die vorallem im Bereich der Signalverarbeitung genutzt werden.
Man kann damit aber in der Tat auch eine CPU simulieren ... wir hatten auf der Arbeit ein komplettes Linux auf nem FPGA laufen, d.h. man kann sogar nen ganzen Rechner simulieren :)


melden
CriticalRush Diskussionsleiter
ehemaliges Mitglied

Link kopieren
Lesezeichen setzen

Assembler: was passiert wenn ich die unbenutzten flag register benutze

28.03.2018 um 19:05
solche bastelein habe ich auch im internet gefunden, echt krass wie manche leute alles mit samt den busssystemen nachbauen :D

manche chips gibt es in verschieden großen gehäuse, also wenn man das größte nimmt, sieht der rechner aus wie aus der vergangenheit ;)
ist aber garnicht


melden

Ähnliche Diskussionen
Themen
Beiträge
Letzte Antwort
Technologie: Wikisource - Eine Alternative zu Büchern?
Technologie, 60 Beiträge, am 20.01.2017 von Celladoor
Cathryn am 15.06.2009, Seite: 1 2 3
60
am 20.01.2017 »
Technologie: eBooks
Technologie, 59 Beiträge, am 06.11.2010 von Lightstorm
Daak am 12.03.2009, Seite: 1 2 3
59
am 06.11.2010 »