Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

Assembler

Diskussion: Assembler im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hab mir gestern ein buch aus der bücherei über assembler ausgeliehen das buch beschreibt das programmieren in assembler mit ...

Antwort
Alt 22.07.05, 13:07   #1 (permalink)
 
Registriert seit: 20.07.05
CPU8080 Leistung: Facit NTK
CPU8080 eine Nachricht über ICQ schicken
Likes: 0
Standard Assembler

Anzeige

Hab mir gestern ein buch aus der bücherei über assembler ausgeliehen das buch beschreibt das programmieren in assembler mit dem masm.
Das erste programm läuft schon nicht (vielleicht weil es schon ein etwas älteres buch ist).

Der Fehler ist:

D:\Test.asm (11):error A2006: undefinied symbol: DATA

Der Code:

.model Small
.stack 100h

.DATA

Meldung DB "Hallo Welt$"

.CODE

Start:
mov ax,DATA
mov ds,ax
mov dx,OFFSET Meldung
mov ah,09h
int 21h
mov ah,4ch
int 21h
END start



Ich hab bis jetzt eigentlich nur den debug von mircosoft benutzt war mir
aber zu umständlich also wollt ichs mal damit probieren kann mir jemand da was sagen was da falsch in dem buch ist (alles original abgetippt).

CPU8080 ist offline   Mit Zitat antworten
Alt 22.07.05, 23:00   #2 (permalink)
CDW
Moderator
 
Benutzerbild von CDW
 
Registriert seit: 20.07.05
CDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: Opteron
Likes: 202
Standard

Benutzt Du den mitgelieferten masm assembler? Oder eher ein Packet wie MASM32?
Wenn MASM32: kurz und knapp verlinkt http://board.codingcrew.de/viewtopic.php?t=218
(weil fast alle damit ein Problem bei 16-bit Programmen haben )

ansonsten sollte statt mov ax, DATA ein mov ax,@DATA stehen.
(und damit klappts bei mir auch)
@data ist ein vordefinierter Symbol, der den Namen des Datensegments enthält (steht zumindest in meiner Refernz so)
__________________
Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf!
Selig, wer nichts zu sagen hat und trotzdem schweigt.
CDW ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 23.07.05, 00:22   #3 (permalink)
 
Registriert seit: 08.10.04
Leiche Leistung: Facit NTK
Likes: 0
Standard

deinem code nach ist das ein dos-programm. lern lieber gleich win32asm. eine deutsche übersetzung des tollen iczelion win32asm tutorial findest du hier und masm32 hier.
Leiche ist offline   Mit Zitat antworten
Alt 23.07.05, 00:28   #4 (permalink)
Themenstarter
 
Registriert seit: 20.07.05
CPU8080 Leistung: Facit NTK
CPU8080 eine Nachricht über ICQ schicken
Likes: 0
Standard

Wo du es gerade sagst wenn ich das ätt zeichen machen will startet das programm von masm32 (ähh). Ich kann nirggens das ättzeichen mehr machen selbst hier nicht er startet dann das masm32.


Leiche:
In diesem buch fängt es mit dos an und geht dann in die windows umgebung
torotzdem danke.
CPU8080 ist offline   Mit Zitat antworten
Alt 23.07.05, 01:05   #5 (permalink)
Member of Honour
 
Benutzerbild von +++ATH0
 
Registriert seit: 02.04.05
+++ATH0 Leistung: K 6-3+++ATH0 Leistung: K 6-3+++ATH0 Leistung: K 6-3
Likes: 76
Standard

Zitat:
Wo du es gerade sagst wenn ich das ätt zeichen machen will startet das programm von masm32 (ähh). Ich kann nirggens das ättzeichen mehr machen selbst hier nicht er startet dann das masm32.
Geh auf deinen Desktop. Such die MASM32 Editor-Verknüpfung.
Rechtsklick -> Eigenschaften -> Tastenkombination STRG+ALT+@ löschen.
+++ATH0 ist offline   Mit Zitat antworten
Alt 23.07.05, 12:19   #6 (permalink)
Themenstarter
 
Registriert seit: 20.07.05
CPU8080 Leistung: Facit NTK
CPU8080 eine Nachricht über ICQ schicken
Likes: 0
Standard

Zitat:
Original von CDW
Benutzt Du den mitgelieferten masm assembler? Oder eher ein Packet wie MASM32?
Ich benutz das Packet masm32

Zitat:
Original von CDW
Wenn MASM32: kurz und knapp verlinkt http://board.codingcrew.de/viewtopic.php?t=218
(weil fast alle damit ein Problem bei 16-bit Programmen haben )
Hab so gemacht wie da beschreiben doch dann diese fehlermeldung:

Assembling: d\Bit.asm
d:\Bit.asm (17): error A2117: /AT switch requires the tiny memory model
d:\Bit.asm(10):error A2118: cannot have segment address reference with tiny model
Linking...

Zitat:
Original von CDW
ansonsten sollte statt mov ax, DATA ein mov ax,@DATA stehen.
(und damit klappts bei mir auch)
@data ist ein vordefinierter Symbol, der den Namen des Datensegments enthält (steht zumindest in meiner Refernz so)

Wenn ich das normal ändere und in dem masm32 editor assemble&linke
kommt das:

D:\Bit.asm(10): error A2006: u8ndefined symbol: DGROUP
D:\Bit.asm(17): warning A4023: with/coff switch,leading underscore required for start adress: start

Zitat:
Original von +++Atho
Klicke auf desktop...
Danke hat funktioniert.
CPU8080 ist offline   Mit Zitat antworten
Alt 23.07.05, 13:33   #7 (permalink)
CDW
Moderator
 
Benutzerbild von CDW
 
Registriert seit: 20.07.05
CDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: Opteron
Likes: 202
Standard

Zitat:
Assembling: d\Bit.asm
d:\Bit.asm (17): error A2117: /AT switch requires the tiny memory model
d:\Bit.asm(10):error A2118: cannot have segment address reference with tiny model
Linking...
AT und TINY sind jeweils nur zu verwenden wenn Du eine COM haben willst. Ansonsten eben:
\masm32\bin\ml /c %1.asm
\masm32\bin\link16 %1.obj, %1.com
für die DOS-EXE benutzen

Zitat:
D:\Bit.asm(10): error A2006: u8ndefined symbol: DGROUP
Asche über mein Haupt - ich benutze ja dafür die alte ML.EXE. Bei Deiner neuen musst Du sie so aufrufen:
ml /omf /Zm deineasmdatei.asm
aufrufen. /Zm schaltet in die Kompatibilität zu MASM 5.10 um und /OMF ist das alte Object Module Format.
__________________
Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf!
Selig, wer nichts zu sagen hat und trotzdem schweigt.
CDW ist offline   Mit Zitat antworten
Alt 23.07.05, 14:02   #8 (permalink)
Themenstarter
 
Registriert seit: 20.07.05
CPU8080 Leistung: Facit NTK
CPU8080 eine Nachricht über ICQ schicken
Likes: 0
Standard

Zitat:
Original von CDW
Zitat:
D:\Bit.asm(10): error A2006: u8ndefined symbol: DGROUP
Asche über mein Haupt - ich benutze ja dafür die alte ML.EXE. Bei Deiner neuen musst Du sie so aufrufen:
ml /omf /Zm deineasmdatei.asm
aufrufen. /Zm schaltet in die Kompatibilität zu MASM 5.10 um und /OMF ist das alte Object Module Format.

Wenn ich es so mache klappt zwar die assembler aber der linker meldet einen fehler
(wäre es vielleicht einfacher wenn ich mit einem älteren buch übe die ältere ml zu gebrauchen, wo hast du die her?)

Sonst der Fehler:

Link: warning LNK4044: unrecongnize option "z2"; ignored
Link: error: Segment reference in fixup record
Bit.obj: fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
CPU8080 ist offline   Mit Zitat antworten
Alt 23.07.05, 14:09   #9 (permalink)
CDW
Moderator
 
Benutzerbild von CDW
 
Registriert seit: 20.07.05
CDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: Opteron
Likes: 202
Standard

Linkst Du auch mit dem 16-Bit Linker? (IMHO macht QUEDIT aus dem MASM32 Packet automatisch den normal aufruf). Also ich habs getestet und es klappt - assemblieren und linken. Wo ich die alte ML habe: k.A mehr . Kann ich Dir aber per mail schicken - schick mir einfach per mail oder PM deine mail adresse zu.
__________________
Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf!
Selig, wer nichts zu sagen hat und trotzdem schweigt.
CDW ist offline   Mit Zitat antworten
Alt 23.07.05, 14:23   #10 (permalink)
Themenstarter
 
Registriert seit: 20.07.05
CPU8080 Leistung: Facit NTK
CPU8080 eine Nachricht über ICQ schicken
Likes: 0
Standard

Zitat:
Original von CDW
Linkst Du auch mit dem 16-Bit Linker? (IMHO macht QUEDIT aus dem MASM32 Packet automatisch den normal aufruf). Also ich habs getestet und es klappt - assemblieren und linken.
Also ich hab das jetzt so gemacht hab dos eingabe gestartet pfad + ml /omf /zm bit.asm
eingegeben. Mehr net.


Zitat:
Wo ich die alte ML habe: k.A mehr . Kann ich Dir aber per mail schicken - schick mir einfach per mail oder PM deine mail adresse zu.
Hab ich dir geschickt.


--------------------edit--------------------------------------------------------

bin auf den link in der email gegangen und hab alles so gemacht wie da beschrieben.Jetzt kommt kein fehler mehr.
Aber wenn ich die exe datei ausführe geschieht nichts.
Liegt das irgentwie daran das ich was beim linken falsch gemach hab?
Da stand nämlich:

Run bit.exe: (ich hab einfach eingabe gedrückt)
Lib:

usw.
CPU8080 ist offline   Mit Zitat antworten
Alt 23.07.05, 17:41   #11 (permalink)
CDW
Moderator
 
Benutzerbild von CDW
 
Registriert seit: 20.07.05
CDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: Opteron
Likes: 202
Standard

Zitat:
Aber wenn ich die exe datei ausführe geschieht nichts.
geschiet da nichts oder kommt nur kurz ein schwarzes Fenster ? Im zweiten Fall sollte man die Exe aus der Eingabeaufforderung aufrufen - dann kann man auch das "hallo Welt" lesen.
__________________
Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf!
Selig, wer nichts zu sagen hat und trotzdem schweigt.
CDW ist offline   Mit Zitat antworten
Alt 23.07.05, 17:44   #12 (permalink)
Themenstarter
 
Registriert seit: 20.07.05
CPU8080 Leistung: Facit NTK
CPU8080 eine Nachricht über ICQ schicken
Likes: 0
Standard

Zitat:
Original von CDW
Zitat:
Aber wenn ich die exe datei ausführe geschieht nichts.
geschiet da nichts oder kommt nur kurz ein schwarzes Fenster ?
Ok danke jetzt funzt es danke
CPU8080 ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » Assembler
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
IDE for Assembler Destruction Code Kitchen 10 11.11.07 15:23
assembler | reversen SkiN-X Hacks & Crackmes 3 22.08.06 17:16
Assembler für Mac mise Mac OS & Co. 4 07.06.05 14:17
Assembler und C HellKnight Code Kitchen 4 29.03.04 02:47
Assembler HittiSun Code Kitchen 4 28.01.04 10:33


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61