ورود

View Full Version : سوال: مشکل در چاپ رشته



gryphon
چهارشنبه 01 دی 1389, 15:32 عصر
data segment
str label byte
max db 21
len db ?
buf db 21 dup('$')
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

lea dx,str
mov ah,9
int 21h
من این برنامه رو با emu8086 نوشتم، باید یه رشته بگیره بعد چاپش کنه،برنامه درست کار می کنه اما اول رشته 2 تا کاراکتر که هیچ ربطی به رشته نداره هم اضافه چاپ می کنه.

xman_1365_x
چهارشنبه 01 دی 1389, 18:03 عصر
خوبه ميگي با امولاتور مي نويسي خوب ببين آدرس شروع بافر كجاست؟ بعد ببين فاصله ليبل با بافر رو
مي بيني مقادير اين دو بينش هست


max db 21
len db ?


پس براي حلش به همين سادگي زير هست:


lea dx,str+2
mov ah,9
int 21h

vhossein
شنبه 04 دی 1389, 14:15 عصر
اگه بخوام رشته را در جای دیگه از صفحه چاپ کنم وقتی مکان نما را تغییر می دم رشته در جای دلخواه چاپ می شود ولی مکان نما به اول سطر می یاد.چکار کنم که مکان نما جاش را حفظ کند؟؟اینم کد:
lea dx,str
mov ah,0ah
int 21h

mov dh,1
mov dl,20
mov ah,2

int 10h
mov ax,0600h
mov bh,61h
mov cx,0
mov dx,184fh
int 10h


lea dx,str+2
mov ah,9
int 21h

xman_1365_x
شنبه 04 دی 1389, 20:54 عصر
مشكلت كلا كار با وقفه 10h هست در فروم هاي قبل گفتم چطوري كار كنيد
موفق باشي