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:

imagecreate, asm, put usw.
Gehe zu Seite 1, 2  Weiter
 
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
psygate



Anmeldungsdatum: 05.04.2005
Beiträge: 304
Wohnort: Wien und der Computer

BeitragVerfasst am: 16.02.2006, 19:46    Titel: imagecreate, asm, put usw. Antworten mit Zitat

Also... ich komm gleich zur sache:

Kann mir mal jemand eine kleine einführung in assembler in freebasic geben? BITTE

und:

Kann mir ejmand ein gutes tutorial für imagecreate, put, get usw. empfehlen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Devilkevin
aka Kerstin


Anmeldungsdatum: 11.11.2004
Beiträge: 2532
Wohnort: nähe Mannheim

BeitragVerfasst am: 16.02.2006, 20:01    Titel: Antworten mit Zitat

http://freebasic.de/FBtuts.php?zeig=Tutorials&col1=a0d5d0 peinlich
_________________
www.piratenpartei.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
psygate



Anmeldungsdatum: 05.04.2005
Beiträge: 304
Wohnort: Wien und der Computer

BeitragVerfasst am: 16.02.2006, 20:05    Titel: Antworten mit Zitat

ja toll. die kenn ich schon, aber da steht nichts über asm was ich brauchen könnte noch steht da was ordentliches über die ganzen get put imagecreate
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 16.02.2006, 20:06    Titel: Antworten mit Zitat

Na super, dann sag doch das du diese Texte bereits kennst peinlich.

Für was ASM?
Das ist einfach Wahnsinnig schnell, das ist der Hauptvorteil.
_________________
http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
psygate



Anmeldungsdatum: 05.04.2005
Beiträge: 304
Wohnort: Wien und der Computer

BeitragVerfasst am: 16.02.2006, 20:07    Titel: Antworten mit Zitat

einfach asm mal. Hat da nun jemand was, etwas VERSTÄNDLICHES vielleicht noch? durchgeknallt
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Devilkevin
aka Kerstin


Anmeldungsdatum: 11.11.2004
Beiträge: 2532
Wohnort: nähe Mannheim

BeitragVerfasst am: 16.02.2006, 20:08    Titel: Antworten mit Zitat

psygate hat Folgendes geschrieben:
ja toll. die kenn ich schon, aber da steht nichts über asm was ich brauchen könnte noch steht da was ordentliches über die ganzen get put imagecreate


Dafür gibts die Befehlsreferenz.

Was genau für ein ASM Tutorial willst du?
/Edit: Google sagt nach 3,2 Sekunden Suche:

http://www.tutorialzone.de/index.php?kategorie=4;subkategorie=02
http://www.onlinetutorials.de/asm-index.htm

lächeln
_________________
www.piratenpartei.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 16.02.2006, 20:11    Titel: Antworten mit Zitat

ASM und einfach lachen .
Das Asembler von Freebasic ist nicht sonderlich speziell, such einfach mal im Internet nache einem Asembler Toturial für Computer.
_________________
http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 16.02.2006, 23:37    Titel: Antworten mit Zitat

Kann sein, daß der ASM-Befehl von FB nix Besonderes ist.
Es ist nur schade, daß einige/viele Befehle nicht funktionieren.
Ich würde gerne das BIOS-DatenSegment ab(0040:0000) auslesen..
..die Schleife dafür habe ich schon, aber bisher verweigert FB
mir den Zugriff auf den Speicher, kann sein, daß ich die falschen
Register benutze:
Code:
Option Escape
Option Explicit
Defint a-z
Function OldPeek(ByVal Seg As Long, ByVal Ofs As Long) As Short
  Dim Peeked As Short=0
  Asm
    MOV AX, [Seg]
    MOV ES, AX
    MOV DI, [Ofs]
    MOV AH, ES:[DI]
'    MOV [Peeked], AX
  End Asm
  Return Peeked
End Function

Dim i As Short
?"PeekTest.bas ¸2006 by ytwinky, MD"
?"0040:0000-";
For i=0 to 16
  ?Hex(OldPeek(&H0040, i));" ";
Next
?
Sleep
Ich weiß nicht genau, ob das Win32-Assembler ist..
..vom Sinn her ist es aber okay
Btw: Ich betone: Es geht nur um das AUSLESEN dieses Bereiches,
daß ich in Teufels Küche komme(n kann), wenn ich hier POKE
weiß ich schon..
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
marzec



Anmeldungsdatum: 13.10.2004
Beiträge: 267

BeitragVerfasst am: 17.02.2006, 00:24    Titel: Antworten mit Zitat

win32/linux sind beides multitasking/multiprogramming betriebssysteme die mit einem virtuellen memory managment arbeiten. d.h. das was du da lustig munter in deine register lädst oder in absoluten values angibst korrespondiert nicht mit der physikalischen addresse auf deinem ram steinchen. die werden zuerst bei jedem zugriff ( write UND read ) in einem page table gesucht wo dann die tatsächliche physikalische addresse steht. das selbe gilt, wenn auch in etwas anderer form, für den dos port von freebasic der über dpmi arbeitet und sich damit ebenfalls im sogenannten protected mode befindet.

bei jedem programmstart wird deinem programm ein virtueller speicherraum zugewiesen ( aufn win32 und lunix mit dpmi is es ein wenig anders aber sehr ähnlich ). sobald du versuchst auf speicherbereiche zuzugreifen die nicht innerhalb des deinem programm zugewiesenen speicherbereiches liegen knallts und dein programm segfaulted. nochmal, virtuell addresse ( das was du in ds, es, gs, fs etc. reinlädst ) ist nicht mehr eine addresse eines 64k segments sondern quasi ein index in einen table der das mappen der virtuellen addresse auf die physikalische addresse erledigt ( so der speicher nicht rausgeswapped wurde auf die festplatte ).

kurz gesagt, mit keiner der Freebasic versionen wirst du über Assembler innerhalb deines Programms auf irgendwas zugreifen können was nicht deinem programm zugewiesen wurde. in dos hast vll. noch eine chance wenn du zugriff auf die verwendete dpmi lib hast. soweit ich mich erinnern kann gabs eine möglichkeit per dpmi lib direkt auf eine physikalische addresse zugreifen zu können.
_________________
Yagl - yet another gameprogramming library
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 17.02.2006, 10:53    Titel: Antworten mit Zitat

@psygate
das kennst du schon:
http://volta.de.tt/asmexp1.html und ff

dann fehlt dir eine Befehlsreferenz der asm-Anweisungen?
http://andremueller.gmxhome.de/toc.html

zu IMAGECREATE
http://volta.de.tt/image1.html und ff

und natürlich die freeBASIC-Befehlsreferenz (das ist mW die neuste)
http://mitglied.lycos.de/siteofkaos/myfiles/freeBASIC/FB-Ref-German-04-02-2006.chm
_________________
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
Mecki
Igel


Anmeldungsdatum: 10.09.2004
Beiträge: 985
Wohnort: Niederbayern

BeitragVerfasst am: 17.02.2006, 14:02    Titel: Antworten mit Zitat

Zitat:
das ist mW die neuste
Die aktuellste Version ist auch auf www.freebasic.de bereits zum Herunterladen verfügbar zwinkern
_________________
» Yodl.de: So sucht man gestern. verwundert
» Geld verdienen im Netz + ICQ.
» Firefox!
» 100€ zu gewinnen
» FreeBASIC.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger MSN Messenger
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 17.02.2006, 15:36    Titel: Antworten mit Zitat

@marzec:
Schönen Dank für die erschöpfende Auskunft.. traurig
..ich werds mal mit Debug und Open Pipe.. probieren mit dem Kopf durch die Mauer wollen
[edit]
so, jetzt hab ichs:
Code:
'Ä=Ž , Ö=™ , Ü=š ; ä=„ , ö=”, ü=? , ß=á ,§=õ , ©=¸
?"biosvar.bas ¸2006 by ytwinky, MD"
Option Escape
Option Explicit
Function myHex(b as UByte) As String
  Dim m As String=Hex(b)
  If Len(m$)<2 Then Return "0" &m$ Else Return m$
End Function

Dim m$, y$, fnr, i, j, k, Seg40(256) As UByte, InpDatei As String
InpDatei=Environ$("Tmp")+"\\Debug.Inp"
fnr=freefile

Open InpDatei For Output As #fnr
  ?#fnr, "D0040:0000,FF"
  ?#fnr, "Q"
Close #fnr

Open Pipe "Debug <" &InpDatei For Input As #fnr
  Do While Not Eof(fnr)
    Line Input #fnr, m$
    If Mid(m$, 1, 1)<>"-" Then
      Mid(m$, Instr(m$, "-"), 1)=" "
      k=Instr(m$, "  ")
      m$=Mid(m$, k+2, Instr(m$, "   ")-k) &"\n"
      If Len(m$)>20 Then
  '      y$+=m$ &"\n"
        For j=0 To 15
          Seg40(i+j)=Val("&H" &Left(m$, 2))
          m$=Mid(m$, 4)
        Next
      End If
      i+=16
    End If
  Loop
Close #fnr

'?"Ausgabe von Debug:\n"; y$
?"Inhalt von Seg40:"
For i=0 To 255 Step 16
  For j=0 To 15
    ?myHex(Seg40(i+j)); " ";
  Next
  ?
Next
Kill InpDatei

?"Eniki..";
Sleep
Was die einzelnen Werte bedeuten, steht hier:
http://www.datasource.de/programmierung/tab07_biosdatenbereich.html
[/edit]

@Mecki:
Kann es sein, daß auf dem freebasic.de-Server immer noch eine veraltete
Version(216k) ist?
In der Version ist der Timer-Befehl nämlich noch nicht berichtigt..
..ein ganz gutes Kriterium, um alte Versionen zu erkennen zwinkern

Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..

Zuletzt bearbeitet von ytwinky am 17.02.2006, 19:18, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 17.02.2006, 16:27    Titel: Antworten mit Zitat

Hi Mecki,
ytwinky hat Recht, auf http://www.freebasic.de/ ist die Online- und Download-Version noch nicht auf dem neusten Stand.
_________________
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
psygate



Anmeldungsdatum: 05.04.2005
Beiträge: 304
Wohnort: Wien und der Computer

BeitragVerfasst am: 19.02.2006, 21:01    Titel: Antworten mit Zitat

ok...
.also:


kann mir mal bitte einer eine übersicht der asm befehle in freebasic geben und mir sagen, wie ich welchen benutzen kann?

Warum z.B. geht es nciht dass ich die zeile

asm mul ax,eax

beutze, aber

asm mul ax

schon?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 19.02.2006, 21:05    Titel: Antworten mit Zitat

neutral Beim Microcontroller 80C31 von Intel geht mul auch nur mit dem A-Register und dem B-Register, wie genau das beim Computer ist seh ich gleichmal nach.
(Ich bin mir aber fast sicher, das das Typisch ASM ist und nichts mit FB zutun hat)

Edit:
http://andremueller.gmxhome.de/befehle.html#mul
Zitat:
mul Faktor
...
Bei einer Operandengröße von 8 Bit wird der Inhalt des Registers AL mit dem Faktor multipliziert
...
Bei einem Operanden mit Word-Größe wird der Inhalt von AX mit dem Faktor multipliziert,
...
Bei einem DWord-Operanden wird das Register EAX mit dem Faktor multipliziert

Der eine Faktor liegt also in einem Register.
Bei ASM gilt:
ASM ist keine Hochsprache!
Was in der Refernz steht ist so und nicht anders.

mul ax,eax ist also gar kein Befehl sondern eben ungültig.
_________________
http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
psygate



Anmeldungsdatum: 05.04.2005
Beiträge: 304
Wohnort: Wien und der Computer

BeitragVerfasst am: 19.02.2006, 21:16    Titel: Antworten mit Zitat

wie denn dann??? weinen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 19.02.2006, 21:22    Titel: Antworten mit Zitat

Genau so wie es in der Referenz steht!
Also ein Faktor im entsprechenden Register ablegen,
den anderen über gibst du mit "mul [was weiss ich]"
und das Resultat liegt dann wieder in einem Register.
(wie gesagt halt dich genau an die Referenz)
(mehr kann ich dir leider nicht sagen, ich kenn nur das ASM des 80C31 Microcontrollers)
_________________
http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 19.02.2006, 21:28    Titel: Antworten mit Zitat

..oder du schaust mal hier nach..
http://www.deinmeister.de/wasmfaq.htm
Da hab' ich, glaub ich, auch meinen MASM32 her..
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
psygate



Anmeldungsdatum: 05.04.2005
Beiträge: 304
Wohnort: Wien und der Computer

BeitragVerfasst am: 19.02.2006, 21:51    Titel: Antworten mit Zitat

@ Michael: DANKE, jetzt hab ichs durch die referenz schon mal geschafft 2 mit 5 zu multiplizieren.happy

geht das auch mit komma zahlen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 20.02.2006, 00:16    Titel: Antworten mit Zitat

So psygate, jetzt hast du es geschafft:
Ich habe mir nicht nur den NAsm runtergeladen, sondern auch gleich noch ein wenig
mit meinem Html-Workshop gespielt.. Yahooo!!!!
Wenn du des Englischen mächtig bist, hilft dir sicherlich der
fileanchor.com/20081-d Download von NAsm.chm von ytwinky für psygate
[Edit]
o.a. Link linkt nicht mehr, wg. fehlendem Chapter 2
Als Entschädigung dieser Download von NAsm.chm von ytwinky für psygate mit CrashKurs
..hoffentlich hülfts..
Wenn nicht, pechehat, ich kann nämlich englisch.. zwinkern
..und du mußt weitersuchen..
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..

Zuletzt bearbeitet von ytwinky am 20.02.2006, 01:12, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
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 1, 2  Weiter
Seite 1 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