AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [ASM] Einzelnes Zeichen ausgeben - Aber wie?
Thema durchsuchen
Ansicht
Themen-Optionen

[ASM] Einzelnes Zeichen ausgeben - Aber wie?

Ein Thema von fwsp · begonnen am 26. Feb 2007 · letzter Beitrag vom 27. Feb 2007
Antwort Antwort
Seite 2 von 2     12   
Muetze1
(Gast)

n/a Beiträge
 
#11

Re: [ASM] Einzelnes Zeichen ausgeben - Aber wie?

  Alt 26. Feb 2007, 21:29
Zitat von sirius:
Und hast du das im Real Mode gestartet?
Das ist Schnuppe, wenn es eine COM Datei ist. Schliesslich wird eine COM nur im Realmode in einem Segment geladen & ausgeführt.

Code:
org 100h
start:
   push cs
   pop ds
   mov dx, offset hello_world
   mov ah, 09h
   int 21h
   mov ah, 4Ch
   int 21h
   
hello_world db 'hello, world', 13, 10, '$'
Siehe auch INT 21h, FUNC 09h
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: [ASM] Einzelnes Zeichen ausgeben - Aber wie?

  Alt 26. Feb 2007, 21:37
Zitat von Muetze1:
Das ist Schnuppe, wenn es eine COM Datei ist. Schliesslich wird eine COM nur im Realmode in einem Segment geladen & ausgeführt.
Wie? Und dann greift man einfach mal so auf den Interrupt zu?
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#13

Re: [ASM] Einzelnes Zeichen ausgeben - Aber wie?

  Alt 26. Feb 2007, 21:49
Zitat von sirius:
Zitat von Muetze1:
Das ist Schnuppe, wenn es eine COM Datei ist. Schliesslich wird eine COM nur im Realmode in einem Segment geladen & ausgeführt.
Wie? Und dann greift man einfach mal so auf den Interrupt zu?
Ja, genau. Schliesslich werden COM's immer in einer Real Mode kompatiblen Umgebung ausgeführt. Entweder reines DOS (oder DOS mit XMS im V86 Modus) oder unter Windows, dann entweder im V86 Modus oder in einer NT VDM (Virtual DOS Machine), welche auch wieder einen Real Mode den Dateien simuliert und die INT Aufrufe entsprechend umlegt bzw. simuliert.

Ich weiss auch nicht, was die provokative Frage soll, schliesslich sind im RealMode die meisten unteren Interrupts Service Provider mit genügend Funktionen. Wenn man im Real Mode ist, hat man die Chance einen String entweder über das BIOS (INT 10h), DOS (INT 21h, INT 29h) oder anderen Systemen aus. Oder willst du mit der Frage behaupten, dass du alles direkt in den Video RAM geschrieben hattest im Real Mode?
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#14

Re: [ASM] Einzelnes Zeichen ausgeben - Aber wie?

  Alt 26. Feb 2007, 21:54
Ich hatte dabei jetzt gar nicht in die Ausgabe gedacht, sondern eher an die eingabe. Aber gut, das wird ja auch emuliert und äh ja interessant. Habe mich noch nie mit COM unter Windows beschäftigt. Aber ich sehe jetzt auch keine Notwendigkeit.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#15

Re: [ASM] Einzelnes Zeichen ausgeben - Aber wie?

  Alt 26. Feb 2007, 23:06
Zitat von sirius:
Habe mich noch nie mit COM unter Windows beschäftigt.
Ich will in dem Zusammenhang für die Nachwelt darauf hinweisen, dass hier von einer Dateiendung bzw. Format geredet wird. Also eine executable nur nicht mit .EXE sondern mit einer .COM Endung. Der Erklärungshint der dp.net nennt diese Möglichkeit nicht und wir reden hier nicht über das Component Object Model und auch nicht über die TLD.

COM Dateien sind eins der einfachsten ausführbaren Dateien auf einem DOS System bzw. maximal Windows 2003 Systems. Ab Vista wird es keine NT VDM mehr geben und von daher werden damit auch die .COM Dateien aussterben.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#16

Re: [ASM] Einzelnes Zeichen ausgeben - Aber wie?

  Alt 27. Feb 2007, 07:58
Ohja, macnhmal verwirren die kleinen Hint-Windows. Und das ist nicht nur bei Command-Files so. Aber ich denke, der Kontext hier würde auch aufklären
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.143 Beiträge
 
Delphi 10.3 Rio
 
#17

Re: [ASM] Einzelnes Zeichen ausgeben - Aber wie?

  Alt 27. Feb 2007, 10:58
Zitat von sirius:
Wie? Und dann greift man einfach mal so auf den Interrupt zu?
Naja, da auch unter Windows immer noch BP7/TP7 Programme ausgeführt werden können...Ü brings funktionieren nicht nur die INT's, sondern auch direktes schreiben in dem Bildschirm(DOS) Speicher...

Frank

So war das früher ohne Klick&Compile IDE... (Oh man bin ich alt )
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#18

Re: [ASM] Einzelnes Zeichen ausgeben - Aber wie?

  Alt 27. Feb 2007, 11:32
Zitat von Mavarik:
Naja, da auch unter Windows immer noch BP7/TP7 Programme ausgeführt werden können...Ü brings funktionieren nicht nur die INT's, sondern auch direktes schreiben in dem Bildschirm(DOS) Speicher...
Was aber nicht mehr "direkt" ist. Die NTVDM handelt dies und setzt es um.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.143 Beiträge
 
Delphi 10.3 Rio
 
#19

Re: [ASM] Einzelnes Zeichen ausgeben - Aber wie?

  Alt 27. Feb 2007, 12:58
Zitat von Muetze1:
Was aber nicht mehr "direkt" ist. Die NTVDM handelt dies und setzt es um.
Logisch... Da an der entsprechenden Adresse kein V-Ram ist...

Frank
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 21:35 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