Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Frage zu Filepointer (ASM) (https://www.delphipraxis.net/17692-frage-zu-filepointer-asm.html)

Dannyboy 8. Mär 2004 15:01


Frage zu Filepointer (ASM)
 
In den ganzen Tutorials steht
unter der Funktion 42H (INT 21H), dass
der 32-Bit Integer CX:DX die Distanz überwiesen
bekommen muss, die der Filepointer zurücklegen soll.
Wie ist das denn gemeint?
Ist das vielleicht die Summe der beiden 16-Bit-Register
CX und DX, dann wäre folgendes gleichbedeutend:

Code:
mov cx, 5
mov dx, 7
mov ax, 4200H
INT 21H

und

mov cx, 11
mov dx, 1
mov ax, 4200H
INT 21H
Ist das tatsächlich so, oder wie wird die 32-Bit-Adresse gebildet?
Die ganzen Tuts sind leider nicht besonders aussagend. :gruebel:

Christian Seehase 8. Mär 2004 19:11

Re: Frage zu Filepointer (ASM)
 
Moin Dannyboy,

nicht die Summe von CX und DX bilden den Offset, sondern die Werte hintereinander.
CX enthält das High-, DX das Lowword.

In Deinem Beispiel wäre also der erste Offset $00050007, im zweiten $00110001.

Ein Buch, in dem die ganzen Interrupts beschrieben werden, wäre z.B. PC Intern von Michael Tischer aus dem Data Becker Verlag.
Das dürfte es in diversen Ausgaben geben (meins ist z.B. PC Intern 2.0 von 1988)

[EDIT]
Nur mit den Beispielen dürftest Du keine rechte Freude haben, ausser Du hast noch ein 5,25" Diskettenlaufwerk in Betrieb.
Vielleicht gibt es aber auch eine Ausgabe mit 3,5" Diskette.
[/EDIT]

Dannyboy 9. Mär 2004 10:45

Re: Frage zu Filepointer (ASM)
 
Hallo Christian,
mir scheint, Du befasst Dich des öfteren mit Assembler,
da immer Du meine Asm-Fragen beantwortest. :gruebel:
Mal wieder ein Dankeschön an Dich. Das ist ja einfacher,
als ich es vermutet hatte. 8) Man muss es halt mal
gesehen haben, um es zu verstehen. :oops:
Ich habe mir mal diese Liste mit den Interrupts
von Ralph Brown besorgt. Denen kann man auch einiges
entnehmen.

Thanx.

DANNYBOY


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz