.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