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:

PC herunterfahren / asm Frage
Gehe zu Seite Zurück  1, 2
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 22.03.2006, 00:38    Titel: Antworten mit Zitat

dagere noch ein letztes mal zur erklärung: Ich ignoriere _dich_ und nicht _alle_. Wenn andere ein problem haben und du denen schrott erzählst dann weise ich sie darauf hin..
Wenn dus jetzt immernoch nicht verstanden hast ists mir jetzt egal und ich bin höchtens aggresiv weil der kater nich seine klappe hält und mir das ohr zuschreit, nicht weil du rumflamest. Und bevor du jetzt wieder rumheulst weil ich mit dir rede: Das darf ich mir immernoch selbst aussuchen und außerdem hör ich auch schon wieder auf durchgeknallt
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 22.03.2006, 01:01    Titel: Antworten mit Zitat

Schaut doch mal in RegWizard/WinFaq von Frank Ullrich nach..
..da steht das mit dem Shutdown-Problem sauber beschrieben.
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
d.j.peters
Gast





BeitragVerfasst am: 22.03.2006, 07:27    Titel: Re: PC herunterfahren / asm Frage Antworten mit Zitat

c.m.obrecht hat Folgendes geschrieben:
Gibt es einen Befehl, der den Computer herunterfährt (win 98 und XP)?

Ausserdem würde mich interessieren ob der Inline-Assembler viele Befehle nicht kennt, z.B. Funktionen int 21H usw. und überall wo "H" nach einer zahl steht erscheint eine Fehlermeldung.

Vielen Dank


Das liegt wie Du schon festgestellt hast nicht an der Interrupt Anweisung sondern weil die Hexschreibweise in BASIC &H21 lautet (nicht in C Style wie 0x21 oder 21h)

Grüsse Joshy

PS CLI, STI und INT sind sehr wohl erlaubte Anweisungen (Das War auf jeden fall mal unter Windows so.)
Nach oben
c.m.obrecht



Anmeldungsdatum: 09.03.2006
Beiträge: 377
Wohnort: Hofstetten SO, CH

BeitragVerfasst am: 22.03.2006, 07:50    Titel: Das wird leider wohl auch nicht gehen.... Antworten mit Zitat

Hallo,
vielen Dank! Ich werde dies testen, doch vermutlich wird es leider auch nicht gehen. Es wurde shell32.dll schon gefunden doch der Befehl innnerhalb dieser Datei nicht, bei WIn XP traurig ABer vielen Dank!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 22.03.2006, 12:09    Titel: Antworten mit Zitat

user32.dll, nicht shell32.dll oder?
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Progger_X
Mr. Lagg


Anmeldungsdatum: 24.11.2004
Beiträge: 784
Wohnort: Leipzig

BeitragVerfasst am: 22.03.2006, 17:22    Titel: Antworten mit Zitat

So was inkonsequentes...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 22.03.2006, 18:35    Titel: Antworten mit Zitat

@Progger_X
deine Art zu provozieren finde ich zum kotzen
Du läufst hier hinter MisterD her, wie ein Staßenköter der ihm noch mal ans Bein pissen will.
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 22.03.2006, 21:27    Titel: Re: PC herunterfahren / asm Frage Antworten mit Zitat

d.j.peters hat Folgendes geschrieben:
Das liegt wie Du schon festgestellt hast nicht an der Interrupt Anweisung sondern weil die Hexschreibweise in BASIC &H21 lautet (nicht in C Style wie 0x21 oder 21h)

Grüsse Joshy

PS CLI, STI und INT sind sehr wohl erlaubte Anweisungen (Das War auf jeden fall mal unter Windows so.)
hier steht, welche ASM-Befehle unter FB-Win32 nicht unterstützt werden:
"http://freebasic.de/FBtuts.php?zeig=tuts&view=Inline)Assembling-4.~ASM~Experimentierprogramm~2.txt"
(woher die Klammer kommt und warum das nicht funktioniert, weiß ich nicht)
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
Progger_X
Mr. Lagg


Anmeldungsdatum: 24.11.2004
Beiträge: 784
Wohnort: Leipzig

BeitragVerfasst am: 22.03.2006, 21:44    Titel: Antworten mit Zitat

@volta: lachen Weißt du, entweder, man ist konsequent, und zieht durch, was man sagt, oder nicht. Und wenn man das erst groß ankündigt, und dann nicht macht, find ich das einfach nur erbärmlich, besonders da er ja wohl eindeutig im Unrecht ist. Aber egal. Wenn du unbedingt willst, provoziere ich ab jetzt nicht mehr, wenn ich in nem Thread eigentlich sonst gar nichts sagen will.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Lutz Ifer
Grillmeister


Anmeldungsdatum: 23.09.2005
Beiträge: 555

BeitragVerfasst am: 22.03.2006, 22:13    Titel: Antworten mit Zitat


_________________
Wahnsinn ist nur die Antwort einer gesunden Psyche auf eine kranke Gesellschaft.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 23.03.2006, 11:53    Titel: Antworten mit Zitat

Hi ytwinky,
Der Assembler in FB übersetzt (unterstützt) jeden der aufgeführten Befehle.
Fraglich ist nur welche Auswirkungen sie dann in deinem Programm oder auf deinem PC zeigen.
Die Befehle sind als 'sensitiv' gekennzeichnet weil sie nicht auf jeder Hardware oder jedem Betriebssystem laufen.
Beispiel:
in, out wird in NT/XP geblockt,
rdtsc ist nutzlos wenn kein Time Stamp Counter in der CPU ist,
Befehle die im Protected Mode Schutzverletzungen auslösen.

Eigentlich gehören auch noch alle Befehlserweiterungen (MMX, 3DNow!, SSE usw.) dazu.

Wenn man diese sensitiven Befehle einsetzen möchte, müsste man zuvor prüfen ob sie in der eingesetzten Umgebung auch funktionieren.
Gruß
Volta
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
c.m.obrecht



Anmeldungsdatum: 09.03.2006
Beiträge: 377
Wohnort: Hofstetten SO, CH

BeitragVerfasst am: 23.03.2006, 13:07    Titel: asm Hex Antworten mit Zitat

Ach so, vielen Dank! Werde ich versuchen mit diser Schreibweise.
Woher weiss eigentlich ein Assembler bzw. das damit erstellte Programm welche Speicherbereiche im RAM frei sind, es benützen darf? Dass nicht etwas von einem anderen Programm überschrieben wird usw.? Die Adressen werden ja im Programm berechnet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 23.03.2006, 15:58    Titel: Antworten mit Zitat

Hi c.m.obrecht,
jedes 'Programm' wird vom Betriebssystem zuerst geprüft ob es unter diesem Betriebssystem lauffähig sein könnte (Kennwerte im Programmkopf werden abgefragt). Danach wird es erst lauffähig gemacht, D.h. vom Assembler (Linker) angegebene (relative) Adressen werden erst hier umgerechnet zu tatsächlichen Adressen. Zu diesem Zeitpunkt wird dem Programm dann ein freier RAM-Bereich zugewiesen und dort hinein geschrieben.
Das ist zwar stark vereinfacht aber hoffentlich verständlich. zwinkern

Gruß
Volta
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 23.03.2006, 16:38    Titel: Antworten mit Zitat

Hi volta,
schönen Dank für die Aufklärung, die ja offensichtlich nicht nur mir geholfen hat grinsen
Ich hatte aus der Liste sowieso nur Int und Call ausprobiert und die funktionierten nicht, also habe ich die Liste erstmal geglaubt..
Da ich in Assembler insoweit fit bin, daß ich vorhandene Listings in den Rechner eintippeln kann vor lachen auf dem Boden rollen
habe ich auch keine großartigen Versuche unternommen, mehr herauszufinden.
Asm unter Windows XP ist halt doch etwas komplizierter als das Asm, das ich noch aus CP/M 2.2-Zeiten her kenne lachen
Eigentlich habe ich ja auch nur eine Möglichkeit gesucht, darauf hinzuweisen, daß
ASM kreuzgefährlich ist|sein kann und nur dann benutzt werden sollte, wenn
man sich wirklich gut damit auskennt.
Wer nur aufgrund von Foren-Tipps ein Assembler-Programm bastelt. lebt am Rande des Absturzes geschockt
Genug philosophiert
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
c.m.obrecht



Anmeldungsdatum: 09.03.2006
Beiträge: 377
Wohnort: Hofstetten SO, CH

BeitragVerfasst am: 27.03.2006, 10:30    Titel: asm Antworten mit Zitat

Na so gefährlich ist es nicht, wenn man nicht mit dem absoluten Schreiben usw. beginnt... da stürzt höchstens das Programm selbst ab.
Wegen den Speicheradressen; wenn die Adressen beim Kompilieren/Assemblieren schon berechnet werden, wie verhält es sich dann zur Laufzeit z.B. ein anderes Mal, wenn andere Programme laufen und möglicherweise andere Speicherbereiche nutzen oder auf einem anderen PC? Werden die Adressen fortlaufend, jedes Mal wieder neu berechnet?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 27.03.2006, 11:41    Titel: Antworten mit Zitat

die adressen werden nicht beim kompilieren berechnet.. Nur relative Adressen, das was vorher Variablennamen waren, wird umgearbeitet. Die sind dann auch nicht wirklich relativ weil sie keine offsets angeben sondern nur adressenspeicher, sonst gäbe es wie bei absoluten Adressen dann konflikte im Speicher zumal dann arrays mit vorher nicht definierter größe recht schwer möglich wären weil irgendwo ja schon die nächste variable anfinge.. Die Adressen werden also erst bei der Ausführung des Programms immer zugewiesen sobald eine neue variable erstellt wird. Die Adressen stehen dann auch in keinem direkten zusammenhang zueinander.

Ach und ungefährlich, das kommt aufs Betriebssystem an.. Unter älteren Systemen konnte man mit 3 Zeilen QBasic das gesamte OS zum Stillstand bringen indem man einfach die absoluten ersten bereiche des Speichers mit nullen gefüllt hat. Unter XP wird das aber nicht mehr gehen..
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
c.m.obrecht



Anmeldungsdatum: 09.03.2006
Beiträge: 377
Wohnort: Hofstetten SO, CH

BeitragVerfasst am: 28.03.2006, 20:14    Titel: Ach so... Antworten mit Zitat

ist genau wie ich mir gedacht habe. Danke!

Betr. gefährlich; wenn man nicht manuell in den Speicher schreibt kann da doch nichts passieren, oder? Wenn man mit Variablen arbeitet z.B.
mov eax, [A]
usw.
dann geht ja alles automatisch, doch komfortabler als einen Maschinencode schreiben abgesehen davon dass man nicht Folgen von 0 und 1 wissen muss lächeln Gibt es übrigens sowas, ein Programm um so Befehle einzugeben oder in Echtzeit (auch asm Befehle)?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 28.03.2006, 22:00    Titel: Antworten mit Zitat

ja klar solange du normal allozierten speicher, sprich variablennamen, benutzt ist das kein problem. Erst wenn du aus dem bereich rausgehst oder nicht mehr existente variablen benutzt (weiß nich wie genau das kontrolliert wird etc) wirds kritisch..
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite Zurück  1, 2
Seite 2 von 2

 
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