ورود

View Full Version : سوال: کد صفحه نمایش پر از حروف رنگی



helma20
چهارشنبه 27 آذر 1387, 23:50 عصر
این کدی که نوشتم قراره صفحه نمایش منو پر از حروف a-z رنگی کند برنامه را تریس که می کنم کاملا درسته اما خروجی نداره :عصبانی++:
اشکال کارم کجاست؟




codesg segment para 'code'
main proc far
assume cs:codesg


mov bx,4000
mov ax,0b800h
mov ds,ax
mov si,0000h
mov ch,1
mov cl,65
x1: mov [si],cl
inc si
mov [si],ch
inc si
inc cl
cmp cl,90
jna ok
mov cl,65
ok: inc ch
cmp ch,16
jne nex
mov ch,1
nex: dec bx
cmp bx,0
jna x1

mov ax,4c00h
int 21
main endp
codesg ends
end main

helma20
پنج شنبه 28 آذر 1387, 11:42 صبح
کسی نمی تونه راهنماییم کنه؟؟؟؟؟؟؟

helma20
جمعه 29 آذر 1387, 12:43 عصر
ممکنه کسی منو راهنمایی کنه؟؟؟

Open-Source
جمعه 29 آذر 1387, 13:56 عصر
ما که از این برنامه به هم ریخته سر در نیاوردیم یه خورده اصولی تر بنویس کمکت کنم.دی:

helma20
جمعه 29 آذر 1387, 14:39 عصر
این برنامه ساده ست
می خوام کل صفحه نمایشم پر بشه از حروف a-z با رنگ های مختلف
b800h هم آدرس اولین مکان هست توی صفحه 0 هست

ثبات si هم بایت اولش کارکتر هست که توی ثبات cl و بایت دومش رنگ آن کارکتر هست که توی ثبات ch
اول ثبات cl با 65 که کداسکی a هست مقدار دهی شده و ch با کد رنگ 1

Cl ریخته می شه توی بایت اول si . si و cl هر دو یکی اضافه می شوند
بعد رنگ توی بایت دوم آن ریخته می شود و باز si, ch اضافه می شوند

تا زمانی که cl بشه 90 و ch بشه 16 این کار ادامه میابد

کلا باید 4000 کارکتر وارد شود (25 سطر و 80 ستون هر کدام 2 بایت 25*80*2=4000)

حالا اگر cl=90 یا ch=16 شد و 4000 خانه من پر نشده بود پرش می کنه و مقدار cl میشه 65 و ch می شه 1.

اگه مشکلی بود باز هم بگید توضیح بدم

Open-Source
جمعه 29 آذر 1387, 14:52 عصر
نه منظورم این بود یه فاصله ای ؛ تورفتگییی ؛ چیزی رعایت میکردی...

Open-Source
جمعه 29 آذر 1387, 14:53 عصر
int 21h باید مینوشتی
شرط ها اشتباه بود

Open-Source
جمعه 29 آذر 1387, 14:56 عصر
codesg segment para 'code'
main proc far
assume cs:codesg


mov bx,40000
mov ax,0b800h
mov ds,ax
mov si,0000h
mov ch,1
mov cl,65

x1:
mov [si],cl
inc si
mov [si],ch
inc si
inc cl
cmp cl,91
js ok
mov cl,65

ok:
inc ch
cmp ch,16
js nex
mov ch,1

nex:
dec bx
cmp bx,0
jne x1


mov ax,4ch
int 21h

main endp
codesg ends
end main

helma20
جمعه 29 آذر 1387, 20:03 عصر
نه هیچ فرقی نکرد بازم خروجی نداره

ظاهرا مشکل یه جای دیگه هست
کسی می تونه راهنماییم کنه لطفا ؟؟

helma20
یک شنبه 01 دی 1387, 11:44 صبح
کسی نمی تونه کمک کنه؟؟؟؟؟؟؟؟