Anfänger Probleme mit load im real mode



  • Kann mir bitte jemand sagen wo der Fehler is?

    daten	segment
    
    text	db "Hallo Welt!"
    text_l	equ $-text
    	db "$"
    
    daten	ends
    
    code	segment
    	assume cs:code, ds:daten
    begin:	mov ax, daten
    	mov ds, ax	;ende vom anfang
    
    	mov cx, text_l	;lade jedes zeichen einseln ins ah register dan tu nix mehr
    	mov si, text
    schleife:
    	loadb text
    	loop schleife
    
    	lea dx, text  ;textausgabe
    	mov ah, 9
    	int 21h
    	mov ah, 4ch
    	int 21h
    
    code	ends
    end	begin
    

    Programm soll nichts tun als erst mal sinnlos Zeichen ins Ax Register zu laden. Bin mit dem Befehl aber grad auf Kriegsfuß.

    Hier die fehler:

    test.asm(16): warning A4031: Operand types must match
    test.asm(18): error A2105: Ecpected: instruction, directive, ode label

    übersetzt mit masm, auf DosBox


  • Mod

    mov si, text
    

    text ist eine Variable, das ist folglich eine Speicherreferenz. Damit:

    mov si, offset text
    ; oder
    	lea si, text
    
    loadb text
    

    versuch es mal mit

    lodsb
    

Anmelden zum Antworten