PDA

View Full Version : ارور برنامه اسمبلی....کمک لطفا



amatis_93
دوشنبه 29 مهر 1392, 20:14 عصر
سلام من یه برنامه اسمبلی تو برنامه emu8086 نوشتم .
سوال اینه
برنامه ای بنویسید در وسط سطر 10 و ستون 20 کاراکتری گرفته ، اگه کاراکتر گرفته شده "y" بود ، به سطر 15 و ستون 40 رفته پیغام "hello " ظاهر بشه و در صورتی که کاراکتر "n" انتخاب شده باشه به سطر 10و ستون 60 رفته و پیغام "bye" رو نمایش بده .
این برنامه در خط 27 خطا می گیره ( قرمزش کردم). من نی دونم باید چیکار کنم لطفا کمکم کنید


;macro tamrin
cursor macro row,column
mov ah,02
mov bh,00
mov dh,row
mov dl,column
int 10h
endm
peygham macro string1
mov ah,09h
lea dx,string1
int 21h
endm

datasg segment data
messag1 db 'hello','$'
messag2 db 'bye','$'
datasg ends

code segment
main proc far
mov ax,datasg
mov ds,ax
cursor 10,20
get_key: mov ah,01
int 21h
cmp al,y
je yes
cursor 15,40
peygham messag1
cmp al,n
je no
cursor 10,60
peygham messag2
jne get_key
exit: mov ax,4c00h
int 21h
main endp
codesg ends
end main

fjm11100
سه شنبه 30 مهر 1392, 09:07 صبح
y خالی را بعنوان متغیر میبینه و چون تعریف نشده خطا میگیره. میتونید بجای y کد اسکی بزارید یا از 'y' استفاده کنید

amatis_93
چهارشنبه 01 آبان 1392, 20:24 عصر
مرسی . اونو درست کردم حل شد.
حالا سره
je yes
داره ارور می گیره

milad1340
شنبه 02 آذر 1392, 10:43 صبح
من کد شما رو بازبینی کردم امیدوارم مشکلتون حل بشه

;macro tamrin
cursor macro row,column
mov ah,02
mov bh,00
mov dh,row
mov dl,column
int 10h
endm
peygham macro string1
mov ah,09h
lea dx,string1
int 21h
endm

datasg segment data
messag1 db 'hello','$'
messag2 db 'bye','$'
datasg ends

code segment
main proc far
mov ax,datasg
mov ds,ax
cursor 10,20
get_key:
mov ah,01
int 21h
cmp al,'y'
jne bye
cursor 15,40
peygham messag1
bye:
cmp al,'n'
jne get_key
cursor 10,60
peygham messag2

exit:
mov ax,4c00h
int 21h

shahrokhi.ehsan
جمعه 15 آذر 1392, 14:04 عصر
سلام من برای پروژه اخر ترم درس اسمبلیم برنامه ای میخام که مثل قائم الزاویه بر عکس بسازه تعداد سطر های مثلث هم از عدد ورودی بگیره
به این شکل
ورودی =4
*
**
***
****
مثلث بر عکسش
ورودی=3
*
**
***

نوشتم کدش امادس اگه لازم دونستید میدم ولی این نمیتونم
متشکر