PDA

View Full Version : سوال: مشکل در جابجایی کاراکتر



gryphon
چهارشنبه 01 دی 1389, 01:52 صبح
سلام
من یه برنامهنوشتم که یک رشته دریافت میکنه و 2 کارکتر، بعد تو رشته به جای کارکتر اول کارکتر دوم رو قرار میده.
برنامه کاری رو که باید انجام بده انجام میده، اما اول رشته بسته به تعداد حروف 2 کاراکتر اضافه چاپ میکنه، بارها چک کردمش. اما نمی تونم بفهمم که مشکل کجاست!




data segment

str label byte
max db 20
len db ?
buf db 21 dup('$')
x db ?
y db ?

ends

stack segment
ends

code segment
start:
mov ax, data
mov ds, ax
mov es, ax

lea dx,str
mov ah,0ah
int 21h

mov dh,1
mov dl,0
mov ah,2
int 10h

mov ah,1
int 21h
mov x,al

mov dh,2
mov dl,0
mov ah,2
int 10h

mov ah,1
int 21h
mov y,al

mov dh,3
mov dl,0
mov ah,2
int 10h

mov cx,21
lea si,str

l1:
mov dl,[si]
cmp dl,'$'
je l3
cmp dl,x
jne l2
mov dl,y
l2:
mov ah,2
int 21h
inc si
loop l1
l3:

mov ah,8
int 21h

mov ax, 4c00h
int 21h
ends

end start

gryphon
چهارشنبه 01 دی 1389, 14:55 عصر
چرا همه اومدن نگاه کردن رفتن؟ هیچ کس نمیدونه مشکل کجاست؟ برنامه واسه emu8086 هستش.

xman_1365_x
چهارشنبه 01 دی 1389, 18:10 عصر
جالبه تاپيك ديگه هم همين مشكلو داشت توضيحشو اونجا دادم شما با تغيير همين اون اضافه را نمايش نميدي


mov cx,21
lea si,str+2