PDA

View Full Version : کشیدن پرچم کشور



arash_flag
جمعه 07 خرداد 1395, 11:42 صبح
با عرض سلام به تمامی دوستان
سورس پروژه کشیدن پرچم را در قسمت زیر براتون قرار می دهم / هرکسی میتونه بی زحمت ی توضیح کاملی رو کد ها بده و لطف کنه بگه چطوری میشه رنگ قسمت ها رو عوض کرد یعنی کد رنگ ها رو از کجا گیر بیارم ؟

page 100,100
title 'soroush.sam'

sseg segment stack 'stack'
dw 32 dup(0)
sseg ends

dseg segment 'data'
message db 'IRAN','$'
dseg ends

cseg segment 'code'
assume ss:sseg,ds:dseg,ss:sseg
main proc far
mov ax,dseg
mov ds,ax

mov ah,00h
mov al,03h
int 10h

mov ah,06h
mov al,08h
mov cx,0000h
mov dx,184fh
mov bh,22h
int 10h

mov ah,06h
mov al,08h
mov cx,0000h
mov dx,184fh
mov bh,70h
int 10h

mov ah,06h
mov al,09h
mov cx,0000h
mov dx,184fh
mov bh,44h
int 10h

mov ah,02h
mov dx,0c24h
mov bh,00h
int 10h

mov ah,09h
lea dx,message
int 21h

mov ax,4c00h
int 21h

main endp
cseg ends
end main

aryaei2000
جمعه 07 خرداد 1395, 22:35 عصر
سلام،

برنامه کلا از وقفه 10h استفاده میکنه.



mov ah,00h
mov al,03h
int 10h


این قسمت حالت ویدیویی رو مشخص میکنه :
مقدار ah برابر با صفر برای اعلان تغییر حالت ویدیویی است
مقدار al برابر با 3h یعنی حالت متنی با ابعاد 80*25



mov ah,06h
mov al,08h
mov cx,0000h
mov dx,184fh
mov bh,22h
int 10h


در این قسمت مقدار ah برابر با 6h قرار داده شده که صفحه نمایش رو به اندازه مقدار al (یعنی 8h) بالا میکشه.
مقدار cx برابر با صفر نشان دهنده بالاترین و سمت چپ ترین نقطه روی نمایشگر هست.
مقدار dx برابر با 184fh مقدار پایین ترین و سمت راست ترین نقطه نمایشگر هست. (4Fh, 18H)
مقدار bh مشخص کننده رنگ پس زمینه و پیش زمینه است. در اینجا مقدار 22h بیانگر رنگ پس زمینه سبز و پیش زمینه سبز هست.





mov ah,02h
mov dx,0c24h
mov bh,00h
int 10h



در این قسمت مقدار ah برابر با 2h برای تنظیم کردن مکان نما هست.
مقدار dx مختصات مورد نظر رو معین میکنه.
و نهایتا مقدار bh شماره صفحه رو مشخص میکنه.




mov ah,09h
lea dx,message


این کد هم برای نوشتن کاراکتر بکار میره. در اینجا مقدار message که در بالا مشخص شده (IRAN) نمایش داده میشه.



موفق باشید

پ.ن. برای مشاهده کد رنگ ها به این صفحه رجوع کنید:
https://en.wikipedia.org/wiki/BIOS_color_attributes