Truyen2U.Net quay lại rồi đây! Các bạn truy cập Truyen2U.Com. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

tinh n!

 

Bài 2

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

; n! (n từ 0 đến 7) |

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

Khi chương trình chạy yêu cầu có dang :

 

 

Hay vao n : 6

Giai thua cua 6 la :  720

Co tiep tuc CT (c/k)?_

 

 

 

 

 

 

INCLUDE lib1.asm

.MODEL small

.STACK 100h

.DATA

M1   db 13,10,'Hay vao n : $'

M2   db 13,10,'Giai thua cua $'

M3   db ' la : $'

M4   db 13,10,'Co tiep tuc CT (c/k)? $'

.CODE

PS:

            mov  ax,@data

            mov  ds,ax

            clrscr

            HienString M1          ; Hiện thông báo M1 (‘Hay vao n : ‘)

            call   VAO_SO_N     ; Nhận 1 số vào từ bàn phím

            mov  cx,ax                 ; cx = n

            HienString M2          ; Hiện thông báo M2 (‘Giai thua cua ‘)

            call   HIEN_SO_N    ; Hiện giá trị n

            HienString M3          ; Hiện thông báo M3 (‘ la : ‘)

            mov  ax,1                   ; ax=1

            cmp  cx,2                   ; Liệu n ≤ 2

            jb      HIEN                 ; Đúng là ≤ 2 thì nhảy đến nhãn HIEN

   LAP:                                    ; còn không thì thực hiện vòng lặp tính n!

            mul   cx                      ; ax=ax*cx

            loop  LAP

   HIEN:

            call   HIEN_SO_N    ; Hiện giá trị n! (có trong ax)

            HienString M4          ; Hiện thông báo M4 (‘Co tiep tuc CT (c/k) ?’)

            mov  ah,1                   ; Chờ nhận 1 ký tự từ bàn phím

            int     21h

            cmp  al,'c'                   ; Ký tự vừa nhận có phải là ký tự ‘c’ ?

            jne    Exit                   ; Nếu không phải thì nhảy đến nhãn Exit (về DOS)

            jmp   PS                      ; Còn không thì quay về đầu (bắt đầu lại chương trình)

   Exit:

            mov  ah,4ch               ; Về DOS

            int     21h

INCLUDE lib2.asm

            END PS

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

Tags: #dương