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:

(Assembler/A86) Direkt auf Segment:Adresse zugreifen

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Maximum Access Violation



Anmeldungsdatum: 23.02.2005
Beiträge: 9
Wohnort: Schwabach

BeitragVerfasst am: 23.02.2005, 21:17    Titel: (Assembler/A86) Direkt auf Segment:Adresse zugreifen Antworten mit Zitat

hi folks,
Wie kann man mit dem A86 Assembler beispielsweise auf 0000B800:00000000 (Turbo Pascal Syntax) zugreifen, oder muss man erst wie in QBasic das Segment definieren?

Am besten ihr übersetzt mir diesen Basic Code:
DEF SEG = &hB800
wert = PEEK(0)
DEF SEG
zwinkern

|\/|@\/

danke für eure hilfe Zunge rausstrecken
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 24.02.2005, 17:17    Titel: Antworten mit Zitat

das geht in ASM recht einfach:
Code:

MOV AX, 0B800h
MOV ES, AX

MOV DS,0000h

MOV AX, DeinWert
MOV ES:[DI], AX


wichtig: die register fassen jeweils nur 16 bit, deswegen wird deine adresse 0000B800:00000000 nur bei 32bit-assemblern funktionieren.
alle 16bitter haben in hex vierstellige adressen.
ach ja: wenn du eine hex-zahl hast, die nicht mit ner zahl beginnt (0...9), dann MUSS eine führende 0 davor! sonst behandelt dein assembler die als variable, und du bekommst ne fehlermeldung.


zu deinem BAS-Code:
Code:

MOV AX, 0B800h
MOV ES, AX
MOV DI, 0

MOV AX, ES:[DI]

MOV wert, AX


sollte funktionieren. natürlich musst du zuerst wert definieren, in ner com mit a bisl trixen *g*

viel spaß damit!
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Maximum Access Violation



Anmeldungsdatum: 23.02.2005
Beiträge: 9
Wohnort: Schwabach

BeitragVerfasst am: 25.02.2005, 19:44    Titel: Antworten mit Zitat

danke lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 26.02.2005, 13:11    Titel: Antworten mit Zitat

ASM besteht fast nur aus Speicherzugriffen (MOV-Befehl, der kann aber auch für Register verwendet werden, was noch häufiger vorkommt *g*)

am besten holst du dir "Adoks way to assembler" runter, von www.qbasic.de => Tutorials, damit hab ichs nämlich auch gelernt.

relativ leicht verständlich, aber es is auch ziemlich bald schluss. nur 7 kapitel. Naja, asm is halt keine besonders "große" sprache *g*

Aber sag mal, wozu brauchstn das?
Willst n paar routinen beschleunigen, oder einfach nur asm lernen?
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Maximum Access Violation



Anmeldungsdatum: 23.02.2005
Beiträge: 9
Wohnort: Schwabach

BeitragVerfasst am: 27.02.2005, 14:11    Titel: Antworten mit Zitat

nein, ganz einfach: In meinem anderen Thread "Hat QBasic einen Bug" kann man lesen welche Probleme ich mit QB habe.
Ich will (und sag jetz blos nicht das gibts schon, das weiß ich selber) einen Interlink Clienten an meinem alten DOS Laptop schreiben, dazu noch einen Interlink Server einfach mal um meine Daten zu sichern.

Um dann ein bisschen in ASM zurechtzufinden, hab ich angefangen "Hello World" zu modifizieren und mein Logo einzubauen und dann gehts weiter cool
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Maximum Access Violation



Anmeldungsdatum: 23.02.2005
Beiträge: 9
Wohnort: Schwabach

BeitragVerfasst am: 03.03.2005, 14:30    Titel: Antworten mit Zitat

Also... sagt mir bitte doch ne schnelle Möglichkeit meinen DOS Laptop mit WindowsXP zu sichern. Das Ding is glaub 12 Jahre alt und Festplatte kackt langsam ab geschockt Es sind 350 MB (auf FAT16) , ich habe einen LPT Port und ein Interlink Kabel, kein USB natürlich grinsen und kein CD Laufwerk.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
dreael
Administrator


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

BeitragVerfasst am: 03.03.2005, 19:48    Titel: Antworten mit Zitat

Da würde ich die Festplatte rausschrauben und an den 2½"-Festplattenadapter beim PC-Werkstatt-Labor-PC anschliessen und so die Partitionen rüberspielen.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
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 -> Profi-Forum 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