Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
AndT
Anmeldungsdatum: 02.04.2007 Beiträge: 481
|
Verfasst am: 28.10.2007, 11:27 Titel: Register via ASM auslesen |
|
|
Werden wirklich auf diese Weise die Register ausgelesen?
Code: | dim as integer aax,abx,acx,adx,abp,asp,adi,asi
locate ,,0
locate 10,1 : Print "Beenden mit ESC"
do
' hier gebe ich via asm die 2-byte register mein programm
asm
mov [aax],ax
mov [abx],bx
mov [acx],cx
mov [adx],dx
mov [abp],bp
mov [asp],sp
mov [adi],di
mov [asi],si
end asm
locate 1,1 :print "ax = 0x"+HEX(aax)
print "bx = 0x"+HEX(abx)
print "cx = 0x"+hex(acx)
print "dx = 0x"+hex(adx)
print "bp = 0x"+hex(abp)
print "sp = 0x"+hex(asp)
print "di = 0x"+hex(adi)
print "si = 0x"+hex(asi)
loop until inkey = chr(27) |
[/code]
//Edit:
Es geht wirklich..
Pefekt zum Debuggen  _________________ Bis irgendwann...  |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 28.10.2007, 12:27 Titel: |
|
|
Naja, nicht jeder kann ASM und nicht jeder nutzt es in FB. Wenn du nur FB-Code schreibst wird dich der Register-Inhalt nicht interessieren. Selbst die FB-Entwickler, welche den Code, den FB raushaut wahrscheinlich auch ab und zu mal checken dürften bessere Methoden haben. (Debugger ) _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
AndT
Anmeldungsdatum: 02.04.2007 Beiträge: 481
|
Verfasst am: 28.10.2007, 14:28 Titel: |
|
|
das war wieso nur zu testzwecken gedacht
Denn wer in ASM Coded kanns schon gebrauchen
Nur so kommt man übrigens an den MMX und SSE support via FB ran. _________________ Bis irgendwann...  |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 28.10.2007, 15:25 Titel: |
|
|
AndT hat Folgendes geschrieben: |
das war wieso nur zu testzwecken gedacht
|
AndT hat Folgendes geschrieben: |
Perfekt zum Debuggen
|
oO
AndT hat Folgendes geschrieben: |
Denn wer in ASM Coded kanns schon gebrauchen
|
Wie gesagt, da gibt's bessere Möglichkeiten. _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 29.10.2007, 14:16 Titel: |
|
|
Hi AndT,
denk daran das FBC schon ein 32Bit-Compiler ist.
Die 16Bit Register werden dabei nur gelegentlich genutzt, hauptsächlich die 32 Bit -Register eax, ebx, ecx, edx, esi, edi, ebp, esp.
Zitat: | Nur so kommt man übrigens an den MMX und SSE support via FB ran. | ??
Einige Routinen der FBgfx sind MMX optimiert, die muss man nicht in ASM ansprechen, da wird nur geprüft ob deine CPU MMX-fähig ist und dann werden diese Routinen auch ausgeführt.
EDIT/
hast du das hier http://www.freebasic-portal.de/index.php?s=fbporticula&mode=show&id=233 selbst ausprobiert?
Wie kommst du denn da an den Privileglevel 0 der CPU, damit er den Befehl überhaupt beachtet??  _________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
 |
AndT
Anmeldungsdatum: 02.04.2007 Beiträge: 481
|
Verfasst am: 30.10.2007, 20:28 Titel: |
|
|
wie meinst du das? _________________ Bis irgendwann...  |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 30.10.2007, 21:44 Titel: |
|
|
volta hat Folgendes geschrieben: | Wie kommst du denn da an den Privileglevel 0 der CPU, damit er den Befehl überhaupt beachtet??  | ..offensichtlich möchte volta gerne wissen, ob Assembler-Befehle für dich eine simple Aneinanderreihung von Buchstaben sind
oder ob du auch über die Hintergründe Bescheid weißt.. _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 30.10.2007, 23:01 Titel: |
|
|
AndT hat Folgendes geschrieben: | wie meinst du das? |
du schreibst dort:
Zitat: | Ein Programm ohne END,SYSTEM,STOP oder Systemcrash beenden.. | zu diesem Geheimtip!!
Code: | do
'_________ Dieser Microcode beendet das Programm.. _________
asm
hlt
end asm
'___________________________________________________________
loop
|
Hast du das mal ausprobiert, und das funktioniert auch?
@ytwinky nicht mal selbst ausprobiert hat AndT das, nur irgendwo gelesen und abgeschrieben  _________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 30.10.2007, 23:12 Titel: |
|
|
Also ich habe mein erstes Assemblerprogramm ausprobiert:
http://www.freebasic-portal.de/index.php?s=fbporticula&mode=show&id=234
und es funktioniert..
..da es nichts macht, habe ich es auch noch optimiert..
Fragen zu diesem Programm beantworte ich
nicht _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
|