Tong cap so cong
Bài 6
;-----------------------------------------------------------------
; Tổng cấp số cộng khi biết n (số lượng thành phần) |
; d (công sai) và u1 (giá trị thành phần đầu tiên) |
;-----------------------------------------------------------------
Khi chương trình chạy yêu cầu có dang :
Hay vao n : 3
Hay vao d : 2
Hay vao u1 : 1
Tong cap so cong la : 9
Co tiep tuc CT (c/k)?_
INCLUDE lib1.asm
.MODEL small
.STACK 100h
.DATA
M1 db 10,13,'Hay vao n : $'
M2 db 10,13,'Hay vao d : $'
M3 db 10,13,'Hay vao u1 : $ '
M4 db 10,13,’ Tong cap so cong la : $’
M5 db 10,13,'Co tiep tuc (c/k) ? $'
.CODE
PS:
mov ax,@data
mov ds,ax
CLRSCR ; Xóa màn hình
HienString M1 ; Hiện thông báo M1 (‘Hay vao n : ‘)
call VAO_SO_N ; Nhận giá trị n
mov cx,ax ; cx = n
HienString M2 ; Hiện thông báo M2 (’Hay vao d : ‘)
call VAO_SO_N ; Nhận giá trị d
mov bx,ax ; bx = d
HienString M3 ; Hiện thông báo M3 (’Hay vao u1 : ‘)
call VAO_SO_N ; Nhận giá trị u1
mov dx,ax ; dx = ax = u1 (ax = tổng = u1; dx =ui và lúc đầu bằng u1)
dec cx ; Giảm cx đi 1 (n-1)
L1:
add dx,bx ; dx = ui
add ax,dx ; ax = tổng
loop L1
HienString M4 ; Hiện thông báo M3 (‘Tong cap so cong la : ‘)
call HIEN_SO_N ; Hiện tổng cấp số cộng
HienString M5 ; Hiện dòng nhắc 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: AzTruyen.Top