PDA

View Full Version : سوال: پرچم ایران



جنترمن
یک شنبه 20 دی 1388, 11:03 صبح
سلام دوستان عزیزان در نوشتن این برنامه به من کمک کنید سه رنگ قرمز سفید سبز وارد بشه به صحفه و رفته رفته این سه رنگ بزرگ بشن

babol-hacker
یک شنبه 20 دی 1388, 12:58 عصر
تو اسمبلی اگه مد مانیتور 03 در نظر گرفته بشه


MOV AH,00H
MOV AL,03 ;25*80
INT 10H


25 تا سطر داری از 0 تا 24
80 تا ستون از 0 تا 79

سطر H
ستون L

با AH=06 اینتراپت 16 به مقدار AL از سطر و سطون پایینی (DL,DH) تا سطر و ستون بالایی (CH,CL) میاد صفحه و رنگ میکنه

اما سرویس 07 همین اینتراپت به مقدار AL از بالا به پایین میاد رنگ میکنه

با سرویس 02H اینتراپت 10H هم میتونی انتال بدی مکان نما و که شایدم لازمت نشه نو این برنامه

از 25 تا سط و 80 تا ستون ناحیه هایی که باید رنگ کنی و حساب کن یعنی 3 تا ناحیه که اولی باید سبز بعدی سفید بعدی قرمز

پاینده باد ایران


http://lrs.uni-passau.de/support/doc/interrupt-57/INT.HTM

http://www.emu8086.com/assembly_language_tutorial_assembler_reference/8086_bios_and_dos_interrupts.html

از 2تا لینک بالایی هم توضیح دستور ه و اینتراپت ها هست

اینکه کامل حواب ندادم بابت خودته

دنبالش باشی قابل فهم تره

پست بعدی هم نگو گشتم نیست
بگو فلان جا مشکل دارم مخلصتم هستم
یا حق

babol-hacker
سه شنبه 22 دی 1388, 02:04 صبح
.MODEL SMALL

.STACK 64

.DATA

.CODE

MAIN PROC FAR
MOV AX,@DATA
MOV DS,AX
MOV ES,AX

;---------------GREEN
MOV AH,06H
MOV AL,0
MOV CH,0
MOV CL,0
MOV DH,8
MOV DL,79
MOV BH,10101000B
INT 10H
;---------------WHITE
MOV AH,06H
MOV AL,0
MOV CH,8
MOV CL,0
MOV DH,16
MOV DL,79
MOV BH,11110000B
INT 10H
;---------------RED
MOV AH,06H
MOV AL,0
MOV CH,16
MOV CL,0
MOV DH,24
MOV DL,79
MOV BH,11000000B
INT 10H
;---------
MOV AH,02H
MOV DH,24
MOV DL,79
MOV BH,0
INT 10H

MOV AH,00H
INT 16H
;----------
MOV AX,4C00H
INT 21H

MAIN ENDP
END MAIN

mehdi5106
سه شنبه 22 دی 1388, 06:27 صبح
اینم شکل قشنگترش:


.model small
.stack 100
.data
temp db 0
.code
text proc
add temp,10

mov ah,06h ;Text
mov cx,0d1bh
mov dx,0e2ch
mov al,0fh
mov bh,temp
int 10h

mov cx,0d2dh
mov dx,0e2fh
mov al,0fh
mov bh,77h
int 10h

mov cx,0930h
mov dx,0e32h
mov al,0fh
mov bh,temp
int 10h

mov cx,092ah
mov dx,0e2ch
mov al,0fh
mov bh,temp
int 10h

mov cx,0925h
mov dx,0e27h
mov al,0fh
mov bh,temp
int 10h

mov cx,0a20h
mov dx,0e22h
mov al,0fh
mov bh,temp
int 10h

mov cx,0a1bh
mov dx,0e1dh
mov al,0fh
mov bh,temp
int 10h

mov cx,0a1bh
mov dx,0b22h
mov al,0fh
mov bh,temp
int 10h

ret
text endp

;--------------------------------------------------------------------------------------------------------
main proc far
mov ax,@data
mov ds,ax

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

mov ah,06h ;Green
mov cx,0000h
mov dx,074fh
mov al,08h
mov bh,22h
int 10h

mov cx,0800h ;White
mov dx,0f4fh
mov al,0fh
mov bh,77h
int 10h

mov cx,1000h ;Red
mov dx,174fh
mov al,08h
mov bh,44h
int 10h



mov bh,00h

call text
back:mov ah,07h
int 21h
cmp al,'q'
je exit
mov temp,bh
call text
jmp back

exit:mov ax,4c00h
int 21h
main endp
end main