Ich bekomm meine zwei .obj-datein nicht gelinkt...
-
hi,
habe mir ein unterprogramm gebastelt und habe es extra assembliert. dann habe ich noch mein mainprogramm assembliert, nun will ich die beiden linken, geht aber irgendwie net.//unterprog
PUBLIC Sleep MODEL small STACK 100 CODESEG start: STARTUPCODE Sleep PROC far ; Sleep proc push bx push cx mov bx, 800h ; bx counter = 800 L2: mov cx, 0FFFFh ; cx counter = 65535 L3: dec cx ; cx - 1 jnz L3 ; if cx != 0, goto L3 dec bx ; bx - 1 jnz L2 ; if bx != 0, goto L2 inc dl ; dl + 1 pop cx pop bx ret EXITCODE Sleep ENDP END start
//main
EXTRN Sleep:far IDEAL MODEL small STACK 100 DATASEG text1 db ' press any key to continue ...', 10d, 13d, '$' CODESEG start: STARTUPCODE mov dl, 00 L1: cmp dl, 0FFh je L4 mov ah, 02h ; show dl int 21h CALL Sleep L4: mov ah, 09h mov dx, OFFSET text1 ; load string text1 int 21h mov ah, 01h int 21h ; wait for userinput mov ah, 4ch ; quit int 21h EXITCODE END start
wie bekomm ich die beiden jetz zusammen?
Gruß Tobi.
-
TObi merk Dir mal:
Ein Programm hat nur einen "start:" == Programmbegin
und ein "end start" == Programmende
und es darf nur einen STARTUPCODE und
einen EXITCODE geben und das Stacksegment (STACK 100) wird auch nur einmal definiert,
und zwar da, wo start:, end start, STARTUPCODE und EXITCODE aufgeführt sind.
Und wenn schon IDEAL Mode von TASM, dann in jedem Modul.
TASM benutzt standardmäßig den MASM-Modus, das braucht man dann nicht hin-
schreiben (statt IDEAL) und bedeutet 100% Kompatibilität zum MASM-Assembler.proc far gibts beim .model small auch nicht.
Schmeiß alles überflüssige raus und linke neu.
-
ich arbite zur zeit mit dem book "assembler probrammierung" von wolfgang link... und da hat das unterprogie auch nen stack und nen small model
achja nur noch mal so... wie linkt man noch mal mehrere .obj's zusammen?
-
Mit tlink main + unterprog .