(suutam) bai tap asm part 1

38
P erform : Tr ịnh Công Sơn Bai 1: thuc hien nhap 1 ky tu so va hien thi ky tu vua nhap .model small .data kt db 0 tenct db 10,13,'Nhap 1 ky tu, neu la ky tu so -> in ra man hinh, ko la ky tu so -> nha pkey db 10,13,' press any key to exit ... $' tb1 db 10,13,'Nhap 1 ky tu so:$' tb2 db 10,13,'So vua nhap:$' tb3 db 10,13,'ko phai ky tu so, nhap lai:$' .code main proc mov ax,@data mov ds,ax mov es,ax lea dx,tenct mov ah,9 int 21h lea dx,tb1 mov ah,9 1

Upload: bui-manh-ha

Post on 21-Jul-2015

55 views

Category:

Documents


0 download

DESCRIPTION

Perform : Trịnh Công Sơn Bai 1: thuc hien nhap 1 ky tu so va hien thi ky tu vua nhap .model small .data kt db 0 tenct db 10,13,'Nhap 1 ky tu, neu la ky tu so -> in ra man hinh, ko la ky tu so -> nhap lai:$' pkey db 10,13,' press any key to exit ... $' tb1 db 10,13,'Nhap 1 ky tu so:$' tb2 db 10,13,'So vua nhap:$' tb3 db 10,13,'ko phai ky tu so, nhap lai:$' .code main proc mov ax,@data mov ds,ax mov es,ax lea dx,tenct mov ah,9 int 21h lea dx,tb1 mov ah,9 1 Perform : Trịnh Công Sơn int 21h ;nh

TRANSCRIPT

Perform : Trnh Cng Sn

Bai 1: thuc hien nhap 1 ky tu so va hien thi ky tu vua nhap.model small .data kt db 0 tenct db 10,13,'Nhap 1 ky tu, neu la ky tu so -> in ra man hinh, ko la ky tu so -> nhap lai:$' pkey db 10,13,' press any key to exit ... $' tb1 db 10,13,'Nhap 1 ky tu so:$' tb2 db 10,13,'So vua nhap:$' tb3 db 10,13,'ko phai ky tu so, nhap lai:$' .code main proc mov ax,@data mov ds,ax mov es,ax lea dx,tenct mov ah,9 int 21h

lea dx,tb1 mov ah,9

1

Perform : Trnh Cng Sn int 21h ;nhap ky tu nhap: mov ah,1 int 21h cmp al,'0' jb nhaplai ;nhay neu nho hon cmp al,'9' ja nhaplai ;nhay neu lon hon

;hien thi ky tu vua nhap ra nam hinh mov kt,al lea dx,tb2 mov ah,9 int 21h

mov dl,kt mov ah,2 int 21h jmp exit nhaplai:

2

Perform : Trnh Cng Sn lea dx,tb3 mov ah,9 int 21h jmp nhap exit: ;press any key lea dx,pkey mov ah,9 int 21h mov ah,1 int 21h

mov ah,4ch int 21h

main endp

bai 2: chuong trinh thuc hien nhap vao tu ban phim 2 ky tu, 1 la ky tu so, 1 la chu in thuong.model small .data kt1 db 0 kt2 db 0

3

Perform : Trnh Cng Sn tenct db 10,13,'chong trinh thuc hien nhap vao tu ban phim 2 ky tu, 1 la ky tu so, 1 la chu in thuong$' pkey db 10,13,'press any key to exit ... $' tb1 db 10,13,'Nhap 2 ky tu:$' tb2 db 10,13,'2 ky tu vua nhap:$' tb3 db 10,13,'Nhap sai, nhap lai:$' tb4 db 10,13,'Nhap dung roai$' .code main proc mov ax,@data mov ds,ax mov es,ax ;hien ten chuong trinh lea dx,tenct mov ah,9 int 21h ;hien thong bao 1 lea dx,tb1 mov ah,9 int 21h ;nhap ky tu nhap:

4

Perform : Trnh Cng Sn mov ah,1 int 21h mov kt1,al ;gan kt tu vua nhap vao bien kt1 mov ah,1 int 21h mov kt2,al ;gan ky tu thu 2 vao kt2 docenter: int 21h cmp al,13 je endenter jmp docenter endenter: ;end doc enter ;doc phim enter sau khi nhap 2 ky tu

;hien thong bao 2 lea dx,tb2 mov ah,9 int 21h ;in 2 ky tu vua nhap ra man hinh mov ah,2 mov dl,kt1 int 21h mov dl,kt2

5

Perform : Trnh Cng Sn int 21h ;kiem tra kt1: cmp kt1,'0' jae kt19 kt19: cmp kt1,'9' jbe kt2chu ;nhay neu nho hon or bang cmp kt1,'a' jae kt1z kt1z: cmp kt1,'z' jbe kt2so jmp nhaplai kt2chu: cmp kt2,'a' jb nhaplai cmp kt2,'z' ja nhaplai jmp endnhap kt2so: cmp kt2,'0' ;nhap neu lon hon or bang

6

Perform : Trnh Cng Sn jb nhaplai cmp kt2,'9' ja nhaplai jmp endnhap nhaplai: lea dx,tb3 mov ah,9 int 21h jmp nhap

endnhap:

lea dx,tb4 mov ah,9 int 21h

mov dl,10 mov ah,2 int 21h mov dl,13 mov ah,2

7

Perform : Trnh Cng Sn int 21h

;press any key lea dx,pkey mov ah,9 int 21h mov ah,1 int 21h

mov ah,4ch int 21h

main endp ;phamtuan_hp89

bai 3: chong trinh thuc hien nhap vao 2 so < 10, tim so lon hon; thuat toan: ;nhap 2 ky tu tu ban phim, kiem tra co trong khoan '0' -> '9' ko ;cmp kt1,kt2, kt1>kt2 -> nhay den doan code hien kt1, else nhay den doan code hien kt2 ;ko la so -> nhap lai ; ky tu ma ASCII ; 0 48

8

Perform : Trnh Cng Sn ; 9 ; a ; z 57 97 122

.model small .data s1 db 0 s2 db 0 tenct db 10,13,'nhap 2 so, tim so lon hon$' pkey db 10,13,'press any key to exit ... $' tb1 db 10,13,'Nhap so thu 1:$' tb2 db 10,13,'Nhap so thu 2:$' tb3 db 10,13,'Nhap sai, nhap lai:$' tb4 db 10,13,'So lon nhat:$' tb5 db 10,13,'hai so bang nhau! $' .code main proc mov ax,@data mov ds,ax mov es,ax ;hien ten chuong trinh

9

Perform : Trnh Cng Sn lea dx,tenct mov ah,9 int 21h ;nhap so thu 1 nhap1: lea dx,tb1 mov ah,9 int 21h

mov ah,1 int 21h mov s1,al

docenter: int 21h cmp al,13 je endenter jmp docenter endenter:

cmp s1,'0'

10

Perform : Trnh Cng Sn jb nhap1 cmp s1,'9' ja nhap1

;in so thu nhat mov dl,10 ;in mov ah,2 ; ra int 21h ; mot dong trong'

mov dl,13 ; mov ah,2 ; int 21h

mov dl,s1 mov ah,2 int 21h

;nhap so thu 2 nhap2: lea dx,tb2 mov ah,9 int 21h

11

Perform : Trnh Cng Sn

mov ah,1 int 21h mov s2,al

docenter2: int 21h cmp al,13 je endenter2 jmp docenter2 endenter2:

cmp s2,'0' jb nhap2 cmp s2,'9' ja nhap2

;in so thu 2 mov dl,10 mov ah,2 int 21h

12

Perform : Trnh Cng Sn mov dl,13 mov ah,2 int 21h

mov dl,s2 mov ah,2 int 21h

mov dl,10 mov ah,2 int 21h mov dl,13 mov ah,2 int 21h

;hien so lon nhat lea dx,tb4 mov ah,9 int 21h

13

Perform : Trnh Cng Sn mov ah,s1 cmp ah,s2 ja inso1 jb inso2 je bang inso1: mov dl,s1 mov ah,2 int 21h jmp endin inso2: mov dl,s2 mov ah,2 int 21h jmp endin bang: mov dx,offset tb5 mov ah,9 int 21h endin:

14

Perform : Trnh Cng Sn

;press any key lea dx,pkey mov ah,9 int 21h mov ah,1 int 21h

mov ah,4ch int 21h

main endp

;bai 4: chong trinh thuc hien nhap vao 2 so < 10, tim so lon hon; thuat toan: ;nhap 2 ky tu tu ban phim, kiem tra co trong khoan '0' -> '9' ko ;cmp kt1,kt2, kt1 nhay den doan code hien kt1, else nhay den doan code hien kt2 ;ko la so -> nhap lai ; ky tu ma ASCII ; 0 ; 9 ; a ; z 48 57 97 122

.model small .data s1 db 0 15

Perform : Trnh Cng Sn s2 db 0 tenct db 10,13,'nhap 2 so, tim so nho nhat$' pkey db 10,13,'press any key to exit ... $' tb1 db 10,13,'Nhap so thu 1:$' tb2 db 10,13,'Nhap so thu 2:$' tb3 db 10,13,'Nhap sai, nhap lai:$' tb4 db 10,13,'So nho nhat:$' .code main proc mov ax,@data mov ds,ax mov es,ax ;hien ten chuong trinh lea dx,tenct mov ah,9 int 21h ;nhap so thu 1 nhap1: lea dx,tb1 mov ah,9 int 21h

mov ah,1 int 21h mov s1,al

16

Perform : Trnh Cng Sn docenter: int 21h cmp al,13 je endenter jmp docenter endenter:

cmp s1,'0' jb nhap1 cmp s1,'9' ja nhap1

;in so thu nhat mov dl,10 ;in mov ah,2 ; ra int 21h ; mot dong trong'

mov dl,13 ; mov ah,2 ; int 21h

mov dl,s1 mov ah,2 int 21h

;nhap so thu 2 nhap2: 17

Perform : Trnh Cng Sn lea dx,tb2 mov ah,9 int 21h

mov ah,1 int 21h mov s2,al

docenter2: int 21h cmp al,13 je endenter2 jmp docenter2 endenter2:

cmp s2,'0' jb nhap2 cmp s2,'9' ja nhap2

;in so thu 2 mov dl,10 mov ah,2 int 21h mov dl,13 mov ah,2 18

Perform : Trnh Cng Sn int 21h

mov dl,s2 mov ah,2 int 21h

mov dl,10 mov ah,2 int 21h mov dl,13 mov ah,2 int 21h

;hien so nho nhat lea dx,tb4 mov ah,9 int 21h

mov ah,s1 cmp ah,s2 jb inso1 jmp inso2 inso1: mov dl,s1 mov ah,2 19

Perform : Trnh Cng Sn int 21h jmp endin inso2: mov dl,s2 mov ah,2 int 21h jmp endin endin:

;press any key lea dx,pkey mov ah,9 int 21h mov ah,1 int 21h

mov ah,4ch int 21h

main endp

;bai 5: nhap vao 1 chu cai in thuong ch, in ra cac chu cai tu 'a' -> ch;thuat toan: ;nhap vao 1 ky' tu, kiem tra ky tu do la chu cai in thuong, dung, in chu cai do ;dung vong lap loop voi so vong lap la sub ch,'a'. .model small 20

Perform : Trnh Cng Sn .data c db 0 tenct db 10,13,'nhap chu cai in thuong c, in ra cac chu cai tu 'a' -> c $' pkey db 10,13,'press any key to exit ... $' tb1 db 10,13,'Nhap 1 chu cai in thuong:$' tb2 db 10,13,'ket qua:$' .code main proc mov ax,@data mov ds,ax mov es,ax ;hien ten chuong trinh lea dx,tenct mov ah,9 int 21h

nhap: lea dx,tb1 mov ah,9 int 21h

mov ah,1 int 21h mov c,al

docenter: 21

Perform : Trnh Cng Sn int 21h cmp al,13 je endenter jmp docenter endenter:

cmp c,'a' jb nhap cmp c,'z' ja nhap

;in ky tu vua nhap mov dl,10 mov ah,2 int 21h mov dl,13 mov ah,2 int 21h

mov dl,c mov ah,2 int 21h

mov dl,10 mov ah,2 22

Perform : Trnh Cng Sn int 21h mov dl,13 mov ah,2 int 21h

;in chuoi ky tu lea dx,tb2 mov ah,9 int 21h

mov cl,c and cx,00ffh sub cx,'a' mov dl,'a' inc cx inchuoi: mov ah,2 int 21h inc dl loop inchuoi ;

;press any key lea dx,pkey mov ah,9 int 21h mov ah,1 23

Perform : Trnh Cng Sn int 21h

mov ah,4ch int 21h

main endp

;bai 5 + 6: nhap vao 2 chu cai in thuong c1 va c2, in ra cac chu cai tu c1 -> c2;thuat toan: ;nhap vao 2 ky' tu, kiem tra ky tu do la chu cai in thuong, dung, in chu cai do ;so sanh c1 voi c2, c1 in tu c1->c2. else in tu c2->c1 ;dung vong lap loop voi so vong lap la sub c1,c2 or sub c2,c1 .model small .stack 100h .data c1 db 0 c2 db 0 tenct db 10,13,'nhap vao 2 chu cai in thuong c1 va c2, in ra cac chu cai tu c1 -> c2$' pkey db 10,13,'press any key to exit ... $' tb1 db 10,13,'Nhap ky tu 1:$' tb2 db 10,13,'Nhap ky tu 2:$' tb3 db 10,13,'ket qua:$' .code main proc mov ax,@data mov ds,ax 24

Perform : Trnh Cng Sn mov es,ax ;hien ten chuong trinh lea dx,tenct mov ah,9 int 21h

nhap1: lea dx,tb1 mov ah,9 int 21h

mov ah,1 int 21h mov c1,al

docenter1: int 21h cmp al,13 je endenter1 jmp docenter1 endenter1:

cmp c1,'a' jb nhap1 cmp c1,'z' ja nhap1 25

Perform : Trnh Cng Sn

;in ky tu vua nhap mov dl,10 mov ah,2 int 21h mov dl,13 mov ah,2 int 21h

mov dl,c1 mov ah,2 int 21h

nhap2: lea dx,tb2 mov ah,9 int 21h

mov ah,1 int 21h mov c2,al

docenter2: int 21h cmp al,13 je endenter2 26

Perform : Trnh Cng Sn jmp docenter2 endenter2:

cmp c2,'a' jb nhap2 cmp c2,'z' ja nhap2

;in ky tu vua nhap mov dl,10 mov ah,2 int 21h mov dl,13 mov ah,2 int 21h

mov dl,c2 mov ah,2 int 21h

mov dl,10 mov ah,2 int 21h mov dl,13 mov ah,2 27

Perform : Trnh Cng Sn int 21h

;in chuoi ky tu lea dx,tb3 mov ah,9 int 21h

mov ah,c1 cmp ah,c2 jb intuc1 ;in tu c1 -> c2 jmp intuc2 intuc1: mov cl,c2 sub cl,c1 and cx,00ffh mov dl,c1 inc cx jmp inchuoi intuc2: mov cl,c1 sub cl,c2 and cx,00ffh mov dl,c2 inc cx jmp inchuoi inchuoi: 28

Perform : Trnh Cng Sn mov ah,2 int 21h inc dl

push dx

mov dl,' ' mov ah,2 int 21h

pop dx loop inchuoi ;

;press any key lea dx,pkey mov ah,9 int 21h mov ah,1 int 21h

mov ah,4ch int 21h

main endp

;bai 6: nhap vao 1 chu cai in thuong ch, in ra cac chu cai tu ch -> 'z'29

Perform : Trnh Cng Sn ;thuat toan: ;nhap vao 1 ky' tu, kiem tra ky tu do la chu cai in thuong, dung, in chu cai do ;dung vong lap loop voi so vong lap la sub 'z',ch. .model small .stack 100h .data c db 0 tenct db 10,13,'nhap chu cai in thuong c, in ra cac chu cai tu c -> 'z'$' pkey db 10,13,'press any key to exit ... $' tb1 db 10,13,'Nhap 1 chu cai in thuong:$' tb2 db 10,13,'ket qua:$' .code main proc mov ax,@data mov ds,ax mov es,ax ;hien ten chuong trinh lea dx,tenct mov ah,9 int 21h

nhap: lea dx,tb1 mov ah,9 int 21h

30

Perform : Trnh Cng Sn mov ah,1 int 21h mov c,al

docenter: int 21h cmp al,13 je endenter jmp docenter endenter:

cmp c,'a' jb nhap cmp c,'z' ja nhap

;in ky tu vua nhap mov dl,10 mov ah,2 int 21h mov dl,13 mov ah,2 int 21h

mov dl,c mov ah,2 31

Perform : Trnh Cng Sn int 21h

mov dl,10 mov ah,2 int 21h mov dl,13 mov ah,2 int 21h

;in chuoi ky tu lea dx,tb2 mov ah,9 int 21h

mov cl,'z' sub cl,c and cx,00ffh mov dl,c inc cx inchuoi: mov ah,2 int 21h inc dl

push dx 32

Perform : Trnh Cng Sn

mov dl,' ' mov ah,2 int 21h

pop dx loop inchuoi

;press any key lea dx,pkey mov ah,9 int 21h mov ah,1 int 21h

mov ah,4ch int 21h main endp

;bai 7: nhap vao 1 so tu nhien n < 10, tinh tong cac so tu nhien tu n den 10.model small .stack 100h .data n db 0 t dw 0 tenct db 10,13,'nhap vao 1 so tu nhien n < 10, tinh tong cac so tu nhien tu n den 10$' 33

Perform : Trnh Cng Sn pkey db 10,13,'press any key to exit ... $' xdong db 10,13,'$' tb1 db 10,13,'Nhap so nguyen n = $' tb2 db 10,13,'Tong= $' cong db ' + $' .code main proc mov ax,@data mov ds,ax mov es,ax ;hien ten chuong trinh lea dx,tenct mov ah,9 int 21h ;nhap nhap: lea dx,tb1 mov ah,9 int 21h

mov ah,1 int 21h mov n,al

cmp n,'0' jb nhap 34

Perform : Trnh Cng Sn cmp n,'9' ja nhap

lea dx,xdong mov ah,9 int 21h

lea dx,tb2 mov ah,9 int 21h

mov cl,'9' sub cl,n inc cl and cx,00ffh mov dl,n inso: mov ah,2 int 21h and dx,00ffh push dx

lea dx,cong mov ah,9 int 21h

35

Perform : Trnh Cng Sn pop dx sub dx,'0' mov ax,t add ax,dx mov t,ax inc dx add dx,'0' loop inso

mov ah,2 mov dl,'1' int 21h mov dl,'0' int 21h

mov ax,t add ax,10 mov t,ax

mov dl,' ' mov ah,2 int 21h mov dl,'=' mov ah,2 int 21h mov dl,' ' 36

Perform : Trnh Cng Sn mov ah,2 int 21h

mov ax,t ;in tong mov cx,0 mov bx,10 lap: mov dx,0 div bx push dx inc cx cmp ax,0 jne lap mov ah,2 vietso: pop dx add dl,'0' int 21h loop vietso

;press any key lea dx,pkey mov ah,9 int 21h mov ah,1 37

Perform : Trnh Cng Sn int 21h

mov ah,4ch int 21h

main endp

38