1. Ta strona wykorzystuje ciasteczka (cookies) w celu: utrzymania sesji zalogowanego Użytkownika, gromadzenia informacji związanych z korzystaniem z serwisu, ułatwienia Użytkownikom korzystania z niego, dopasowania treści wyświetlanych Użytkownikowi oraz tworzenia statystyk oglądalności czy efektywności publikowanych reklam.Użytkownik ma możliwość skonfigurowania ustawień cookies za pomocą ustawień swojej przeglądarki internetowej. Użytkownik wyraża zgodę na używanie i wykorzystywanie cookies oraz ma możliwość wyłączenia cookies za pomocą ustawień swojej przeglądarki internetowej. Dowiedz się więcej.

Program Asembler(grafika) pytanie

Temat na forum 'Kosz' rozpoczęty przez Jankess, Czerwiec 10, 2013.

  1. Jankess

    Jankess Użytkownik Użytkownik

    Dołączył:
    Październik 22, 2010
    Posty:
    122
    Polubienia:
    10
    Punkty za osiągnięcia:
    18
    Miasto:
    Radom
    Witam. Panowie mam małą prośbę do was ponieważ muszę napisać program który narysuje 2 prostokąty, jeden w środku drugiego. Ten w środku ma pozostać nie zakreskowany a zewnętrzny ma być zakreskowany. W środkowym muszę wypisać swoje inicjały w tym przypadku M K. I tutaj moje pytanie, jaką pętelkę zrobić aby nie kreskowało środkowego.Program piszę w MASM
    Oto mój dotychczasowy kod:
    Kod:
    .386
    
    assume cs:kod, ds:dane, ss:stosik
    
    stosik segment stack 'stack' use16
    	db 100h dup(?)
    stosik ends
    
    dane segment use16
    	old_mode	db 0
    	x		dw 100
    	y		dw 100
    	w		dw 125
    	z		dw 112
    	szer		dw 101
    	wys		dw 50
    	szer1		dw 50
    	wys2		dw 25
    dane ends
    
    kod segment use16
    start:	mov dx,seg old_mode
    	mov ds,dx
    	
    	mov ax,0f00h
    	int 10h
    	mov old_mode,al
    
    	mov ax,0013h
    	int 10h
    
    	mov ax,0a000h
    	mov es,ax
    	mov si,0
    	
    
    	mov ax,y
    	shl ax,8
    	mov bx,y
    	shl bx,6
    	add ax,bx
    	add ax,x
    	mov si,ax
    
    
    	mov cx,szer
    	mov al,15
    pet:	mov es:[si],al
    	inc si
    	loop pet
    
    	mov cx,wys
    	mov al,15
    pet1:	mov es:[si],al
    	add si,320
    	loop pet1
    
    	mov cx,szer
    	mov al,15
    pet2:	mov es:[si],al
    	dec si
    	mov bx,si
    	loop pet2
    
    	mov cx,wys
    	mov al,15
    pet3:	mov es:[si],al
    	sub si,320
    	mov dx,si
    	loop pet3
    
    	mov ax,z
    	shl ax,8
    	mov bx,z
    	shl bx,6
    	add ax,bx
    	add ax,w
    	mov si,ax
    
    
    
    	mov cx,szer1
    	mov al,15
    peta:	mov es:[si],al
    	inc si
    	loop peta
    
    	mov cx,wys2
    	mov al,15
    petb:	mov es:[si],al
    	add si,320
    	loop petb
    
    	mov cx,szer1
    	mov al,15
    petc:	mov es:[si],al
    	dec si
    	mov bx,si
    	loop petc
    
    	mov cx,wys2
    	mov al,15
    petd:	mov es:[si],al
    	sub si,320
    	mov dx,si
    	loop petd
    	
    	mov di,0
    petZ:	cmp di,520
    	ja czekaj
    	mov cx,200
    	mov si,di
    
    petW:	mov dx,0	
    	mov ax,si
    	mov bx,320
    	div bx
    	cmp dx,x
    	jb hop
    	mov bx,x
    	add bx,szer
    	cmp dx,bx
    	ja hop
    	cmp ax,y
    	jb hop
    	mov bx,y
    	add bx,wys
    	cmp ax,bx
    	ja hop
    	mov al,10
    	mov es:[si],al
    
    
    
    
    hop:	add si,319
    	loop petW
    	add di,4
    	jmp petZ
    
    
    
    
    
    czekaj:	mov ah,01h
    	int 16h
    	jz czekaj
    
    	mov ah,0h
    	mov al,old_mode
    	int 10h
    
    	mov ax,4c00h
    	int 21h
    
    kod ends
    
    end start



    Poradziłem już sobie temat do usunięcia
     
Wczytywanie...

Poleć forum