Programmieren - alles kontrollieren 4.939 Themen, 20.672 Beiträge

Probleme im Programmieren in Assembler

TheWebWasher / 5 Antworten / Flachansicht Nickles

Hallo Leute,


ich hoffe einer von euch kann mir helfen ich habe in der Techniker-Schule ein programm geschrieben in Assembler Sprache. Da wir da erst am Anfang sind fangen wir ganz klein an...


Das Programm liest einen Namen ein und gibt ihn nachher wieder aus ( auch bekannt " Hello World" ) aber irgendwie macht es das nicht. Einlesen ist ja noch in Ordnung nur bei der ausgabe gibt er den ersten Buchstaben nicht aus vom Namen. Es ist ein Offset Problem. Aber ich komm nicht drauf. Hier der Quellcode:


.model tiny
.stack 100h
.data
 text_1 db "Bitte geben sie ihren Namen ein: ",0
 text_5 db 20 dup (0)
 text_3 db "Guten Tag, ",0
.code
anf:
 mov ax,@data
 mov ds,ax
 
clrscr:
 mov ax,6*256
 mov bh,0fh
 mov cx,0
 mov dx,184fh
 int 10h
 mov dx,0
 mov ah,2
 xor bh,bh
 int 10h
  
 mov si,offset text_1
l1: 
 mov dl,[si]
 cmp dl,0
 jz l2
 mov ah,2
 int 21h
 inc si
 jmp l1
 
 mov si,offset text_5
l2: mov ah,1
 int 21h
 cmp al,0dh
 jz l3
 mov [si],al
 inc si
 jmp l2
 
 
 
l3: mov si,offset text_3
 mov ah,2
 mov dl,0ah
 int 21h
 mov dl,0dh
 int 21h
 
clrscr2:
 mov ax,6*256
 mov bh,0eh
 mov cx,0
 mov dx,184fh
 int 10h
 mov dx,0
 mov ah,2
 xor bh,bh
 int 10h 
 
l4:
 mov dl,[si]
 cmp dl,0
 jz l5
 mov ah,2
 int 21h
 inc si
 jmp l4
 
l5: mov si,offset text_5
l6: mov dl,[si]
 cmp dl,0
 jz dos
 mov ah,2
 int 21h
 inc si
 jmp l6


   
dos:
 mov ah,04ch
 int 21h
 end anf 


 


Vielleicht entdeckt einer von euch den Fehler wäre echt super da ich nicht mehr weiter weiß.....


 


Gruß


TheWebWasher

bei Antwort benachrichtigen
Wumpchild TheWebWasher „Probleme im Programmieren in Assembler“
Optionen

bringt dich das weiter?
hab ich gerade gefunden


Asm-Intel

; Hello World for Intel Assembler (MSDOS)

mov ax,cs
mov ds,ax
mov ah,9
mov dx, offset Hello
int 21h
xor ax,ax
int 21h

Hello:
db "Hello World!",13,10,"$"

p r o s tWumpchild
bei Antwort benachrichtigen