ورود

View Full Version : سوال دارممممممممم لطفا کمکم کنید



مژگان 93
پنج شنبه 11 اردیبهشت 1393, 19:43 عصر
ســلام بر مهندسان عزیز...




ببخشید من چندتا سوال برنامه نویسی ازتون دارم...امیدوارم بتونید کمکم کنید...




یکی از سوالام اینه:




سوال 1. زبان اسمبلی چگونه می توان عدد را از ورودی بگیریم و مقدار همان عدد را نمایش دهیم؟؟




سوال 2. برنامه ای بنویسید که ابتدا صفحه نمایش را به رنگ دلخواه پاک کند سپس با پیغام مناسب در سطر 10 یک کاراکتر را از ورودی بگیرد
و با پیغام مناسب کاراکتر دریافت شده را در انتهای صفحه نمایش به رنگ زمینه ارغوانی و متن سفید نمایش دهد؟ ( به زبان اسمبلی میخوام باشه)




سوال 3. برنامه ای بنویسید که ابتدا صفحه نمایش را به رنگ زمینه آبی ، رنگ متن سفید پاک کند سپس در وسط صفحه نمایش اسم " sara " را به رنگ زمینه ی زرد
و نوشته ی قرمز نمایش دهد؟ ( این برنامه رو به زبان C میخوام )

s segment stack 'stack'


db 64


s ends


d segment 'data'


s1 db "sara" , "$"


d ends


c segment ' code'
p1 proc far
assume ss:s ds:d cs:c
mov ax,d
mov ds,ax
mov ah,o6h
mov al,50
mov ch,24
mov cl,37
mov dx,24
mov dl,41
mov bh,0e4h
int 10h
mov dx,offset s1
mov ah,09h
int 21h
mov ah,4ch
mov 21h
p1 endp
c ends
end p1
خیلی عجله دارم خواهش میکنم جواب 3تا سوالمو بدید....واسه شنبه نیاز دارم:گریه::گریه::گریه::گریه:: ریه::گریه::گریه::گریه::گریه:: ریه::گریه::گریه::گریه::گریه:: ریه::گریه::گریه::گریه:

vahid-p
جمعه 12 اردیبهشت 1393, 22:11 عصر
دوست عزیز اینا سوال نیست، اینا عین تمرینی که بهتون دادن رو اینجا نوشتید. مطمئنا کسی فرصت این رو نداره که تمرین رو به جای شما انجام بده.
اگه سوالاتتون رو جزئیتر میپرسیدید، مطمئن راهنمایی بیشتری میشدید و انگیزه برای جواب دادن بیشتر بود.

اما برای اینکه دست خالی برنگردین، سوال اولتون، این رو بدونید با
mov ah,01
int 21h
یک کاراکتر گرفته میشه و در al قرار میگیره. مقدارشم که همونجا نشون میده.

اما اگر میخواید با یک عدد چند رقمی کار کنید، باید این مراحل رو طی کنید
باید کاراکتر رو صفر '0' ازش کم کنید تا مقدار عددیش بدست بیاد.
sub al,'0'
حالا اونو مثلا تو BX ذخیره میکنیم. البته قبلش BX رو در 10 ضرب میکنیم ( که برای ضرب باید اول به AX انتقال بدید و بعد ضرب کنید. al رو یه جا ذخیره کنید از دست نره )
بعد عددی که گرفتی رو با حاصل ضرب بالا جمع میکنی و این کار رو ادامه میدی تا enter زده بشه.
برای نشون دادنش عملیات عکسش رو انجام میدی.

برای پاک کردن صفحه نمایش با رنگ دلخواه از خونه B8000 حافظه شروع کن و مقدار کاراکتر رو space بذار، و مقدار رنگ ( یعنی خونه بعدیش ) رو رنگ دلخواهت بذار. 25*80 بار اینکار رو تکرار کن

بقیش هم متاسفانه فرصتشو ندارم.
امیدوارم تا همینجاش مفید بوده باشه
موفق باشی