AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dateien in Assembler öffnen

Ein Thema von fdsgbla · begonnen am 15. Okt 2006 · letzter Beitrag vom 15. Okt 2006
Antwort Antwort
fdsgbla

Registriert seit: 6. Sep 2006
16 Beiträge
 
#1

Dateien in Assembler öffnen

  Alt 15. Okt 2006, 12:43
Warum kommt bei folgender Prozedur:


Delphi-Quellcode:
procedure TMainForm.DeleteFile;
var
  filename : string;
begin
  filename := 'c:\file.txt';
asm
  mov ah, 3Ch
  lea dx, filename
  xor cx, cx
  int 21h
  xchg ax,bx
end;
end;
zu

Im Projekt blablabla.exe ist eine Exception der Klasse EAccessViolation mit der Meldung 'Access violation at address 0045338D in module 'blablabla.exe'. Read of address FFFFFFFF' aufgetreten.
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

Re: Dateien in Assembler öffnen

  Alt 15. Okt 2006, 15:08
Weil das 16-Bit DOS-Code ist. Zur Not würde der auch in einem Windows 3.1-Programm funktionieren, aber nicht unter 32 Bit, das API ist dort völlig anders.
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
fdsgbla

Registriert seit: 6. Sep 2006
16 Beiträge
 
#3

Re: Dateien in Assembler öffnen

  Alt 15. Okt 2006, 17:08
Zitat von Flocke:
Weil das 16-Bit DOS-Code ist. Zur Not würde der auch in einem Windows 3.1-Programm funktionieren, aber nicht unter 32 Bit, das API ist dort völlig anders.
achso, danke schön.

könntest du vllt sagen oder einen Link geben, wo steht wie man Dateien mit Win32 öffnnet
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#4

Re: Dateien in Assembler öffnen

  Alt 15. Okt 2006, 17:40
Meinst du vielleicht Delphi-Referenz durchsuchenAssignFile, Delphi-Referenz durchsuchenReset & Co? oder MSDN-Library durchsuchenOpenFile?

mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: Dateien in Assembler öffnen

  Alt 15. Okt 2006, 17:42
Zitat von r2c2:
Meinst du vielleicht Delphi-Referenz durchsuchenAssignFile, Delphi-Referenz durchsuchenReset & Co? oder MSDN-Library durchsuchenOpenFile?

mfg

Christian
Ja und was ist dadran Assembler ?
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#6

Re: Dateien in Assembler öffnen

  Alt 15. Okt 2006, 17:49
Zitat von Neutral General:
Ja und was ist dadran Assembler ?
[Halbwissen]
Kann per Call aufgerufen werden. Rein mit Assembler wird es nicht mehr gehen(außer man programmiert alles nach, aber für was?). [Viertelwissen] Wobei der oben geportete ASM-Code IMHO auch nur n Interupt auslöst, der ne DOS-Funktion aufruft. Ergo: Is auch nix anderes als n Call ner OS-Funktion. [/Viertelwissen] Seit Windows sind aber IRQs für Anwendungsprogramme verboten. int 21h geht also nicht mehr wegen is nicht...
[/Halbwissen]

mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

Re: Dateien in Assembler öffnen

  Alt 15. Okt 2006, 17:52
Zitat von r2c2:
Zitat von Neutral General:
Ja und was ist dadran Assembler ?
[Halbwissen]
Kann per Call aufgerufen werden. Rein mit Assembler wird es nicht mehr gehen(außer man programmiert alles nach, aber für was?). [Viertelwissen] Wobei der oben geportete ASM-Code IMHO auch nur n Interupt auslöst, der ne DOS-Funktion aufruft. Ergo: Is auch nix anderes als n Call ner OS-Funktion. [/Viertelwissen] Seit Windows sind aber IRQs für Anwendungsprogramme verboten. int 21h geht also nicht mehr wegen is nicht...
[/Halbwissen]

mfg

Christian


naja gut also entweder gehts nicht durch reines Assembler oder es geht.. (^^). Wenns nicht geht dann isses auch Unsinn die OS-Funktion in Assembler aufzurufen dann kann man gleich normal Win32 Delphi Code benutzen
Wenns doch geht... naja dannhat hier noch niemand gepostet der die Lösung kennt
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#8

Re: Dateien in Assembler öffnen

  Alt 15. Okt 2006, 17:55
Um ehrlich zu sein sehe ich keinen Sinn darin die Datei mittels Inline Assembler einzulesen. Was soll das bringen? Wie bereits von meinen Vorrednern gesagt, greife auf Windowsfunktionen zurück um die Datei zu laden, dann kannst du die Daten wie auch immer per Assembler bearbeiten, wenn du das willst.
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#9

Re: Dateien in Assembler öffnen

  Alt 15. Okt 2006, 18:36
Inline Assembler ist doch bei Textdateien (sind ja sogar noch DOS-Textdateien) total schwachsinnig, da die Dateien so klein sind, dass das überhaupt keinen Unterschied macht, ob man es mit Delphi (AssignFile) oder Assembler lädt.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:36 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