Teya Salat
.model small
.stack 100h
.data
tb1 db 10,13,"hay nhap 1 so nguyen$"
tb2 db 10,13,"N la so chan$"
tb3 db 10,13,"N la so le$"
tb4 db 10,13,"co tiep tuc chuong trinh khong$"
.code
main proc
mov ax,@data
mov ds,ax
lenh:
mov ah,9 ;xuat xau tb1
lea dx,tb1
int 21h
call vao_so_n
mov bx,2
div bx
cmp dx,0
je demo
jmp kt2
demo:
mov ah,9
lea dx,tb2
int 21h
jmp kt
kt2:
mov ah,9
lea dx,tb3
int 21h
kt:
mov ah,9
lea dx,tb4
int 21h
mov ah,1
int 21h
cmp al,'h'
je lenh
mov ah,4ch
int 21h

main endp
vao_so_n proc
push bx
push cx
push dx
push si
mov bx,10
xor cx,cx
mov si,cx
vsn1:

mov ah,1
int 21h
cmp al,13
je vsn3

cmp al,'-'
jne vsn2
inc si
jmp vsn1
vsn2:
sub al,30h
xor ah,ah
xchg ax,cx
mul bx
add cx,ax
jmp vsn1
vsn3:
and si,si
jz vsn4
neg cx
vsn4:
mov ax,cx
pop si
pop dx
pop cx
pop bx
ret
vao_so_n endp


=====================================================
.model small
.stack 100h
.data
tb1 db 10,13,"nhap vao n:$"
tb2 db 10,13,"$"
.code
main proc
mov ax,@data
mov ds,ax
lea dx,tb1
mov ah,9
int 21h
call vao_so_n
mov cx,ax
push ax
lea dx,tb2
mov ah,9
int 21h
pop cx
l1:
mov dx,cx
mov al,'*'
l2:
mov ah,0eh
int 21h
loop l2
mov cx,bx
lea dx,tb2
mov ah,9
int 21h
loop l1
mov ah,4ch
int 21h
main endp