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 .


Anmelden zum Antworten