All pastes #397682 Raw Edit

Untitled

public text v1 · immutable
·published 2007-03-16 17:47 UTC
rendered paste body
.model small
.stack
.data
    Cont db 0
    NumIns db ?
	NumGue db 26
	mex0 db "Inserire il numero : $"
    mex1 db "Il numero inserito e' piu' grande $"
	mex2 db "Il numero inserito e' piu' piccolo $"
	mex3 db "Hai indovinato! $"
.code
;Macro per andare a capo
CR macro
    mov dl,10
	mov ah,02
	int 21h
	mov dl,13
	mov ah,02
	int 21h
endm
inizio:
    mov ax,@data
	mov ds,ax
	mov bl,NumGue
	;inizio il ciclo per la richiesta di inserimento numero
	;finchè non è uguale a quello stabilito
	ciclo:
	lea dx,mex0
	mov ah,09
	int 21h
	mov ah,01
	int 21h
	;inizio ciclo lettura cifra diun byte
	mentre:
	    cmp al,13
		je finementre
		sub al,30h
		mov NumIns,al
		mov al,Cont
		mov cl,0
		mul cl
		add al,NumIns
		mov Cont,al
		mov ah,01h
		int 21h
		jmp mentre
	finementre:
	CR
	;confronto con il numero inserito e il numero da indovinare
	cmp NumIns,bl
	ja numMag
	je fineciclo
	numMin:
	    lea dx,mex2
		mov ah,09
		int 21h
		CR
		jmp ciclo
	numMag:
	    lea dx,mex1
		mov ah,09
		int 21h
		CR
		jmp ciclo
	fineciclo:
	lea dx,mex3
	mov ah,09
	int 21h
	mov ah,4Ch
	int 21h
end inizio