bits 16 org 0x7c00 start: ; xor ax, ax mov ds, ax mov es, ax mov si, 0xb800 mov di, si mov cx, 80*25 cld rep stosw ; mov si, msg mov ah, 0x0e mov bh, 0 print: lodsb cmp al, 0 je input int 0x10 jmp print ; input: xor ax, ax int 0x16 mov bl, al ; cmp bl, 0x37 jne wrong mov si, msg2 mov ah, 0x0e mov bh, 0 print2: lodsb cmp al, 0 je start int 0x10 jmp print2 ; wrong: mov si, msg3 mov ah, 0x0e mov bh, 0 print3: lodsb cmp al, 0 je start int 0x10 jmp print3 msg db "guess an number(0-9):", 0 msg2 db "congratulations,you are right!", 0 msg3 db "sorry,you can try again!", 0 times 510-($-$$) db 0 dw 0xaa55