mikiberi@gmail.com

asd
 avatar
brczmk
assembly_x86
2 years ago
1.0 kB
2
Indexable
Never
Code	Segment
	assume CS:Code, DS:Data, SS:Stack

Start:
	mov	ax, Code
	mov	DS, AX

;kezdõ koordináták
	mov dl, 0 ;X koordináta
	mov dh, 0 ;Y koordináta
	push dx
	
;VGA mód
	mov	ax, 13h
	int	10h	
	mov	ax, 0a000h
	mov	es, ax
	
	mov cx, 10
OuterLoop:
	push cx
	mov cx, 10
InnerLoop:
	;
		;Pixel = Y * 320 + X
		pop dx		 ;dx-ben Y(dh), X(dl) koordináta
		xor ah, ah
		mov al, dh 	 ;ax-ben Y koordináta
		push dx		 ;dx mentése, mul utasítás felülírja
		mov bx, 320	
		mul bx		 ;Y koordináta * 320
		pop dx		 ;dx-ben Y(dh), X(dl) koordináta
		add al, dl 	 ;X koordináta hozzáadása
		
		;Pixel kiirasa
		push dx
		mov di, ax
		mov al, 128		;szin
		mov es:[di], al
		
		pop dx
		inc dl			;oszlop novelese
		push dx
	;
		loop InnerLoop
	mov dl, 0			;oszlop visszaallitasa
	inc dh				;sor novelese
	pop cx
	loop OuterLoop
	
;varakozas
	xor ah, ah
	int 16h
	
;visszavaltas karakteresre
	mov ax, 3		
	int	10h
	
Program_Vege:
	mov	ax, 4c00h
	int	21h

Code	Ends

Data	Segment

Data	Ends

Stack	Segment

Stack	Ends
	End	Start