Papp Róbert

SZámítógép ARchitektúra jegyzet 2005/I.

(Bartók Tamás / Szerda 16:00-17:00)
10. gyakorlat - 2005. 11. 23.

Konstansdeklaráció

adat SEGMENT
	...
	A	db	0	; Sima változó
	...
	E	=	2	; Konstans változó (===E EQU 2)
	...
adat ENDS

Input / Output

Megszakításokkal

; AL -> képernyő
	MOV AH, 14
	INT 10h
; DL -> képernyő
	MOV AH, 2
	INT 21h
; DS:DX -> képernyő (az első '$'-ig)
	MOV AH, 9
	INT 21h
; AL <- karakter (billentyűzetről)
	MOV AH, 1
	INT 21h

Képernyőmemóriába írással

A képernyőmemória a 0B800h címen van. A DOS képernyő mérete: 25 sor, 80 oszlop. A bal felső sarok a (0,0) a jobb alsó a (24,79). Minden karakter két bájton tárolódik. Az alsó bájt az ASCII kód, a felső bájt pedig a karakterisztika (tulajdonságok).
Például egy piros, erős intenzitású 'A' betű kiírása az 5. sor 30. betűjéhez, fehér háttérrel:
MOV AX, 0b800h
MOV ES, AX
MOV DI, 350	;(4*80+30)*2
		;mert 4 sor van előtte
		;a 30. karaktert akarom módosítani,
		;és *2, mert minden karaktert 2 byteon van tárolva
MOV AL, 'A'
MOV AH, 01111001b
MOV ES:[DI], AX
AL=karakter
AH=tulajdonságok:
	0. 1. 2.	= Előtér RGB
	3.		= Intenzitás
	4. 5. 6.	= Háttér RGB
	7.		= Villogás
Lásd az előző példa. (Az utolsó bájt a 0.)
NagyZH-ban lehetnek: lnko, lkkt, n!.
© All rights reserved by TWiStEr & PaulikR. Köszönöm -[PaulikR]-nek a segítséget!