Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Registerübersetuzung von www.ctyme.com zu QB

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Spezielle Fragen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
nixsager



Anmeldungsdatum: 16.08.2007
Beiträge: 70

BeitragVerfasst am: 04.05.2011, 17:13    Titel: Registerübersetuzung von www.ctyme.com zu QB Antworten mit Zitat

Sorry für den missverständlich Thread-Titel.
Aber ich weiß nicht wie es richtig heißt.

Die Register in der 'QB.BI' sind anders als auf 'www.ctyme.com'.

Kann mir einer sagen, welches Register auf 'www.ctyme.com' in der 'QB.BI' entspricht?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 04.05.2011, 18:40    Titel: Antworten mit Zitat

ctyme.com ist die Website eines Hostinganbieters.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nixsager



Anmeldungsdatum: 16.08.2007
Beiträge: 70

BeitragVerfasst am: 04.05.2011, 19:07    Titel: Antworten mit Zitat

Hier nochmal ein Link
http://www.ctyme.com/intr/cat-046.htm
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 903
Wohnort: Austria

BeitragVerfasst am: 04.05.2011, 20:13    Titel: Antworten mit Zitat

"QB.BI" verwendet dieselben Registerbezeichnungen, die auf der genannten Website verwendet werden und auch den allgemein üblichen Bezeichnungen entsprechen (mir wäre noch keine andere Bezeichnungsvariante für die Register einer minimalistischen x86 CPU untergekommen). Der einzige (allerdings irrelevante) Unterschied besteht darin, dass in der "QB.BI" die Registernamen in Kleinbuchstaben, auf der genannten Website allerdings in Großbuchstaben stehen.

Wenn du die Bezeichnungen meinst, die mit "..L" bzw. "..H" anstatt dem sonst üblichen "..X" enden oder ein voranstehendes "E...." Zweifel aufkommen lässt solltest du ein paar Grundlagen über die x86 Prozessorarchitektur und die Register lesen.

Weiteres dazu findest du z.B. auf folgenden Websites:
http://de.wikipedia.org/wiki/X86-Prozessor#Real_Mode
http://www.eecg.toronto.edu/~amza/www.mindsec.com/files/x86regs.html

Wenn dies deine Frage nicht löst wäre es hilfreich, wenn du einige Registerbezeichnungen nennen würdest, von denen du in der "QB.BI" keine Übereinstimmung finden kannst.
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nixsager



Anmeldungsdatum: 16.08.2007
Beiträge: 70

BeitragVerfasst am: 04.05.2011, 20:39    Titel: Antworten mit Zitat

Sorry.
Aber das ist mir zu hoch.

in der QB.BI steht.
[code]
' Define the type needed for INTERRUPT
'
TYPE RegType
ax AS INTEGER
bx AS INTEGER
cx AS INTEGER
dx AS INTEGER
bp AS INTEGER
si AS INTEGER
di AS INTEGER
flags AS INTEGER
END TYPE

' Define the type needed for INTERUPTX
'
TYPE RegTypeX
ax AS INTEGER
bx AS INTEGER
cx AS INTEGER
dx AS INTEGER
bp AS INTEGER
si AS INTEGER
di AS INTEGER
flags AS INTEGER
ds AS INTEGER
es AS INTEGER
END TYPE
[/code]

Laut dem zweiten Link sin AX, BX, CX und DX 16bit-Register.
Aber AH, AL, BH, BL, CH, CL, DH und DL sind nicht vorhanden.

Auf der Seite die ich verlinkt habe, steht was von BH und BL.
Aber das die in der QB.BI nicht vorhanden sind, weiß ich nicht was ich nehmen soll.

Also ich schnall da nicht durch. Wie gesagt, ist mir das zu hoch.
Hilfreich wäre eine Art Tabelle won z.B. links die Register-Bezeichnungen aus der QB.BI stehen und rechts die der Seite.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 04.05.2011, 21:36    Titel: Antworten mit Zitat

AH A High
AL A Low

Jeweils die höher/niederwertigeren Bits.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 903
Wohnort: Austria

BeitragVerfasst am: 04.05.2011, 21:47    Titel: Antworten mit Zitat

Wenn dir das - wie du selbst gesagt hast - zu hoch ist, befürchte ist dass dir weitere essentielle Grundlagen für die Verwendung von Software-Interrupts fehlen.

Dennoch noch ein Versuch das Ganze zu klären:

Die vier Allzweckregister (AX, BX, CX, DX) sind jeweils 2-Bytes (= 16 Bits) groß. Es können jedoch jeweils auch das Niederwertige Byte (LowByte - AL, BL, CL, DL - untere 8 Bit) und das Höherwertige Byte (HighByte - AH, BH, CH, DH - obere 8-Bit) einzeln angesprochen werden.

Daraus folgt für deine geforderte Übersetzungstabelle:
AX = AH * 256 + AL
BX = BH * 256 + BL
CX = CH * 256 + CL
DX = DH * 256 + DL

In QBasic gibts keine Shift Operatoren, deswegen die Multiplikation mit 256. Normalerweise würde hier ein "SHL 8" bzw. "<< 8" verwendet werden.

Wenn diese einfache Grundlage jetzt noch immer nicht klar ist, würde ich dir empfehlen, dass du dir die Grundlagen zu Bit-Arithmetik und zur x86-Architektur aneignest. Wikipedia ist hier stets eine gute Resource. Ich will hier nicht Grundlegendes Wissen zum x-ten mal erklären.

Zum Schluss hab ich noch eine kleine Gegenfrage: zu was benötigst du Interrupts? Soweit ich deinen Wissensstand im Bereich der Programmierung einschätze bezweifle ich nämlich stark, dass du Interrupts richtig aufrufen und verwenden kannst, wenn du schon bei solch simplen Grundlagen scheiterst.
Interrupts sind ein Thema für fortgeschrittene bis Profi-Programmierer - meiner Einschätzung nach. Jedenfalls definitiv nix für Anfänger.
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nixsager



Anmeldungsdatum: 16.08.2007
Beiträge: 70

BeitragVerfasst am: 04.05.2011, 21:54    Titel: Antworten mit Zitat

Also wie so wie ich das jetzt verstanden habe sieht das für mich so aus:

AX (16 BIT, 2 Bytes)
AH = Der erste Teiil von AX
AL = Der zweite Teil von AX

Liege ich damit richtig?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 903
Wohnort: Austria

BeitragVerfasst am: 04.05.2011, 22:06    Titel: Antworten mit Zitat

Ja.

Ich hab hier eine nette Grafik gefunden:


Auf der Seite wird das super erklärt:
http://www.edwardbosworth.com/CPSC2105/Lectures/Slides_05/Chapter_04/Intel_Microprocessors.htm

Hier sind auch weitere äußerst wichtige Grundlagen, wie etwa Adressierung, erklärt. Die historischen Teile kannst du allerdings überspringen.

Auf der Homepage (http://www.edwardbosworth.com) sind generell einige Grundlagen sehr gut erklärt (allerdings alles Englisch).

Hier ebenso erklärt:
http://www.codeguru.com/cpp/cpp/cpp_mfc/tutorials/article.php/c9415
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nixsager



Anmeldungsdatum: 16.08.2007
Beiträge: 70

BeitragVerfasst am: 04.05.2011, 22:22    Titel: Antworten mit Zitat

Vielen dank!!!

Jetzt bin ich Idiot wieder ein bisschen schlauer.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2455
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 06.05.2011, 09:00    Titel: Antworten mit Zitat

Sonst mein berühmter Artikel zu diesem Thema:

http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/DOS-Interrupts.html
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 06.06.2011, 21:10    Titel: Antworten mit Zitat

hi,
dann will ich auch zwinkern
http://ytwinky.freebasic-portal.de/tuts/cpu_registermodell.htm
(in Zusammenarbeit mit Volta, aber das steht ja auch auf der Seite^^)
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Spezielle Fragen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz