CurrentMax: mov Max,ax jmp Start Display: mov dx,Max mov es,Max call Convert jmp Exit main endp ;Chuyen doi so lon nhat sang dang BCD Convert proc mov ax,seg Value mov ds,ax lea di,Valu
Trang 1;Tim mã va hien thi BCD ra man hinh
;Hoang Van Hoan
;HTTT&TT K55
.model small
Stack 100h
.data
Vector dw 356,32700,'S'
Max dw?
Message db 'Gia tri can tim la: $' Value db 5dup('s')
.code
main proc
mov ax,seg Vector
mov ds,ax
mov ax,offset Vector
mov di,ax
mov ax,ds:[di]
mov Max,ax
;Bat dau tim gia tri max
Start:
add di,2
mov ax,ds:[di]
cmp al,'S'
je Display
cmp ax,Max
jg CurrentMax
jmp Start
;Doi Max khi tim thay so lon hon
Trang 2CurrentMax:
mov Max,ax
jmp Start
Display:
mov dx,Max
mov es,Max
call Convert
jmp Exit
main endp
;Chuyen doi so lon nhat sang dang BCD Convert proc
mov ax,seg Value
mov ds,ax
lea di,Value
add di,4
mov ax,dx
mov dx,0
mov cx,5
Realize:
mov bx,16
div bx
call Convert_BCD
mov ds:[di],dl
dec di
mov dx,0
Loop Realize
ret
Trang 3Convert endp
;chuyen doi gia tri ki tu luu trong dx (hay dl) sang BCD Convert_BCD proc
cmp dl,9
jg Alphabet
add dl,30h
jmp Exit_BCD
Alphabet:
add dl,55
Exit_BCD:
ret
Convert_BCD endp
Exit:
mov ax,seg Message
mov ds,ax
lea dx,Message
mov ah,09h
int 21h
lea di,Value
mov cx,5
DisplayChar:
mov dl,ds:[di]
mov ah,02h
int 21h
inc di
Loop DisplayChar
end main