All pastes #1675634 Raw Edit

Anonymous

public text v1 · immutable
#1675634 ·published 2009-11-17 23:55 UTC
rendered paste body
;***************************************************************
;Pavyzdin programa. Parodo pirmj vartotojo vest simbol
;***************************************************************

.model small

.stack 100h

.data
	ivesk	db "Iveskite simboliu eilute: ", 10, 13, "$"
	buferis	db 255, ?, 255 dup (?)
	rezult	db "Pirmasis ivestas simbolis yra: $"

	
.code
  pradzia:
	MOV	ax, @data		;reikalinga kiekvienos programos pradioj
	MOV	ds, ax			;reikalinga kiekvienos programos pradioj
	
	;Ivedame  ekran pirmj praneim
	MOV ah, 9			;9 - eiluts ivedimo funkcijos numeris
	MOV dx, offset ivesk		; dx demdame ivedamos eiluts adres (poslink nuo segmento pradios)
	INT	21h			;kvieiame pertraukim; po itos eiluts praneimas atsiranda ekrane
	
	;Nuskaitome simboli eilut  bufer
	MOV ah, 0Ah			;0Ah - eiluts nuskaitymo funkcijos numeris
	MOV	dx, offset buferis
	INT	21h
	
	;Ivedame praneim "rezult"
	MOV ah, 9
	MOV dx, offset rezult
	INT	21h

	;Ivedame pirmj  bufer nuskaitytos eiluts simbol
	MOV	bx, offset buferis	; bx raome buferio pradios adres
	MOV dl, [bx+2]			; dl raome bait, kuris yra nutols per du baitus nuo buferio pradios - treij bait; 
					;pirmame buferio baite saugoma kiek simboli maksimaliai galima nuskaityti, o antrajame - kiek j nuskaityta
	MOV	ah, 2			;2 - simbolio ivedimo  ekran funkcijos numeris
	INT 21h

	MOV	ah, 4Ch			;reikalinga kiekvienos programos pabaigoj
	MOV	al, 0			;reikalinga kiekvienos programos pabaigoj
	INT	21h			;reikalinga kiekvienos programos pabaigoj
END pradzia