Nhập một số hệ 10, 8-bit rồi in ra màn hình VXL linhcan87

Màu nền
Font chữ
Font size
Chiều cao dòng

Nhập một số hệ 10, 8-bit rồi in ra màn hình, dùng chương trình con như bên trên:

Trong bài có dùng các ngắt khác nhau, đề nghị mọi người chuyển qua ngắt 21h tương đương:

name "keybrd"

Enter Macro

pusha

mov ah,2

mov dl, 0ah ; new line.

int 21h

mov dl, 0dh ; carrige return.

int 21h

popa

endm

org 100h

; Nhap - start:

mov dx, offset msg

mov ah, 9

int 21h

xor cl,cl

wait_for_key: ; Cho' bam phim:

mov ah, 1

int 16h

jz wait_for_key

mov ah, 0 ;| Doc phim, AL= Phim da bam:

int 16h ;|

mov ah, 0eh ;| In phim da bam: AL=Ky tu can in

int 10h ;|

cmp al, 13;| Bam ENTER thi ket thuc:

jz exit ;|

; Tinh CL=CL*10+AL

sub al,'0'

push ax

xor ah,ah

mov al,cl ;|

mov dl,10 ;| CL=CL*10

mul dl ;|

mov cl,al ;|

pop ax

add cl,al ; CL=CL+AL (0..9)

jmp wait_for_key

;============================

exit:

mov AX,0

mov DL,2

mov AL, CL

Mul DL

Enter

call Print_dec8AL

mov ah, 0

int 16h

;-----------------------

Print_dec8AL proc

cmp al, 0

jne Print_dec8AL_r

push ax

mov al, '0'

mov ah, 0eh

int 10h

pop ax

Print_dec8AL_r:

pusha

mov ah, 0

cmp ax, 0

je pn_done

mov dl, 10

div dl

call Print_dec8AL_r

mov al, ah

add al, 30h

mov ah, 0eh

int 10h

jmp pn_done

pn_done:

popa

endp

;-----------------------------------------------

msg db "Moi ngai nhap vao 1 so 8 bit:", 0Dh,0Ah

db "N=$"

end

Bạn đang đọc truyện trên: Truyen2U.Pro

#linhpro