String x mal ausgeben x=Eingabelänge



  • Hi,
    folgendes Programm soll x mal einen String ausgeben wobei x die Länge des Namens ist:

    String     DB "Passwort: $"
    userstring DB "Username: $"
    falsch     DB "Falsch$"
    richtig    DB "Richtig$"
    next_raw   DB  10,13,"$"
    
    Puffer   STRUC           ;Struktur f. Puffer
        Max  DB 30           ;Max. 4 Zeichen
        Anz  DB ?            ;Reserv. f. Anzahl
        Txt  DB 30 DUP (?)    
    Puffer   ENDS            ;Ende Puffer
    
    Buffer   Puffer <>       
    USER     Puffer <>       
    
    	.Code
    
    Start: 
    	mov ax,@data
    	mov ds,ax
    
    	mov dx,OFFSET userstring
    	mov ah,09h
    	int 21h
    
    	mov dx,OFFSET USER
    	mov ah,0Ah
    	int 21h	
    
    	mov dx,OFFSET next_raw
    	mov ah,09h
    	int 21h
    
    	mov dx,OFFSET String
    	mov ah,09h
    	int 21h
    
    	mov dx,OFFSET next_raw
    	mov ah,09h
    	int 21h
    
    	mov dx,OFFSET buffer
            mov ah,0Ah
    	int 21h
    
    	mov ax,OFFSET USER
    	add ax,1
    	mov cx,ax
    
    	mov ah,09h
    	mov dx,OFFSET String
    
    schleife:	
    	int 21h	
    	Loop schleife
    
    	mov bx,dx
    	add bx,2
            mov ax,"ap"
    	cmp word ptr[bx],ax
    	jne falsch_
    	mov ax,"ss"
    	cmp word ptr[bx+2],ax
    	je richtig_
    	jmp falsch_
    
    ende:
    	mov ah,4Ch
    	int 21h
    
    richtig_:
    	mov dx,OFFSET richtig
    	mov ah,09h
    	int 21h
    	jmp ende
    
    falsch_:
    	mov dx,OFFSET falsch
    	mov ah,09h
    	int 21h
    	jmp ende
    
    END Start
    

    Aber der Assembler will nicht so wie ich,weiß wer warum?

    Danke im voraus,
    Xalon


Anmelden zum Antworten