Bai 1:In mang da cho.....
.model small
.stack 100h
.data
st1 db 13,10,'In mang da cho la:$'
m dw 1,12,3,14,150,6
max dw 0
dem dw 0
.code
main proc
mov ax,@data
mov ds,ax
;-------------------In mang--------------------------
mov ah,9
lea dx,st1
int 21h
lea si,m
mov cx,6
mov bx,10
lap1:
push cx
mov ax,[si]
cmp ax,10
jae chia1
;-------------------in nhung so tu 1 --> 9-----------
mov dx,ax
add dx,30h
mov ah,2
int 21h
;-------------------in dau cach trong--------------
mov ah,2
mov dl,' '
int 21h
jmp ra
;-------------------In nhung so > 10-------------
chia1:
xor dx,dx
div bx
push dx
inc dem
cmp ax,0
je thoat1
jmp chia1
thoat1:
;----------------so lan day vao ngan nho --dem chuyen vao cx----
mov cx,dem
;---------------cho bien "dem"=0 de khoi tao lan sau--------
mov dem,0
lap2:
pop dx
add dx,30h
mov ah,2
int 21h
loop lap2
mov ah,2
mov dl,' '
int 21h
xor cx,cx
;--------------------Chuyen sang phan tu tiep theo trong mang-----
ra:
add si,2
pop cx
loop lap1
mov ah,4ch
int 21h
main endp
end main
Bai2:Tong mang
.model small
.stack 100h
.data
st1 db 'in mang:$'
st2 db 13,10,'Max:$'
m dw 1,2,3,4,5,6
.code
main proc
mov ax,@data
mov ds,ax
mov ah,9
lea dx,st1
int 21h
lea si,m
mov cx,6
mov bx,0
lap:
mov ax,[si]
add bx,ax
add si,2
loop lap
mov ax,bx
mov cx,0
mov bx,10
chia:
xor dx,dx
div bx
push dx
inc cx
cmp ax,0
je thoat
jmp chia
thoat:
pop dx
add dx,30h
mov ah,2
int 21h
loop thoat
mov ah,4ch
int 21h
main endp
end main
Bai 3: Tim Max cua mang da cho...
.model small
.stack 100h
.data
st1 db 13,10,'in ra so max Trong mang:$'
st2 db 13,10,'In mang da cho la:$'
m dw 1,12,3,14,150,6
max dw 0
dem dw 0
.code
main proc
mov ax,@data
mov ds,ax
;-------------------In mang--------------------------
mov ah,9
lea dx,st2
int 21h
lea si,m
mov cx,6
mov bx,10
lap1:
push cx
mov ax,[si]
cmp ax,10
jae chia1
;-------------------in nhung so tu 1 --> 9-----------
mov dx,ax
add dx,30h
mov ah,2
int 21h
;-------------------in dau cach trong--------------
mov ah,2
mov dl,' '
int 21h
jmp ra
;-------------------In nhung so > 10-------------
chia1:
xor dx,dx
div bx
push dx
inc dem
cmp ax,0
je thoat1
jmp chia1
thoat1:
;----------------so lan day vao ngan nho --dem chuyen vao cx----
mov cx,dem
;---------------cho bien "dem"=0 de khoi tao lan sau--------
mov dem,0
lap2:
pop dx
add dx,30h
mov ah,2
int 21h
loop lap2
mov ah,2
mov dl,' '
int 21h
xor cx,cx
;--------------------Chuyen sang phan tu tiep theo trong mang-----
ra:
add si,2
pop cx
loop lap1
;-------------------So sanh va tim max trong mang da cho-----------
mov ah,9
lea dx,st1
int 21h
lea si,m
mov cx,6
mov bx,[si]
mov max,bx
lap3:
mov ax,[si]
cmp max,ax
ja tiep
mov max,ax
tiep:
add si,2
loop lap3
mov ax,max
mov cx,0
mov bx,10
chia:
xor dx,dx
div bx
push dx
inc cx
cmp ax,0
je thoat
jmp chia
thoat:
pop dx
add dx,30h
mov ah,2
int 21h
loop thoat
mov ah,4ch
int 21h
main endp
end main
Bai1.Nhập một xâu gồm số và chữ .in ra số riêng và chữ riêng
.model small
.stack 100h
.data
st1 db 'Nhap xau:$'
st2 db 13,10,'In xau so:$'
st3 db 13,10,'in xau chu:$'
m db 20 dup(?)
m1 db 20 dup(?)
dem dw 0
dem1 dw 0
.code
main proc
mov ax,@data
mov ds,ax
mov ah,9
lea dx,st1
int 21h
lea si,m
lea di,m1
nhap:
mov ah,1
int 21h
cmp al,13
je thoat
cmp al,'9'
jbe inso
sub al,30h
mov [si],al
inc si
inc dem
jmp nhap
inso:
sub al,30h
mov [di],al
inc di
inc dem1
jmp nhap
thoat:
;---------------------in xau so---------------
mov ah,9
lea dx,st2
int 21h
lea di,m1
mov cx,dem1
inraso:
mov al,[di]
mov dl,al
add dl,30h
mov ah,2
int 21h
inc di
loop inraso
;---------------------in xau chu--------------------
mov ah,9
lea dx,st3
int 21h
lea si,m
mov cx,dem
inrachu:
mov al,[si]
mov dl,al
add dl,30h
mov ah,2
int 21h
inc si
mov ah,2
loop inrachu
mov ah,4ch
int 21h
main endp
end main
Bài 2: Nhập xâu chữ hoa và chữ thường .In ra xâu chữ hoa riêng và chữ thường riêng
.model small
.stack 100h
.data
st1 db 'Nhap xau:$'
st2 db 13,10,'In xau chu hoa:$'
st3 db 13,10,'in xau chu thuong:$'
m db 20 dup(?)
m1 db 20 dup(?)
dem dw 0
dem1 dw 0
.code
main proc
mov ax,@data
mov ds,ax
mov ah,9
lea dx,st1
int 21h
lea si,m
lea di,m1
nhap:
mov ah,1
int 21h
cmp al,13
je thoat
cmp al,'Z'
jbe inra
sub al,30h
mov [si],al
inc si
inc dem
jmp nhap
inra:
sub al,30h
mov [di],al
inc di
inc dem1
jmp nhap
thoat:
;---------------------in xau chu hoa---------------
mov ah,9
lea dx,st2
int 21h
lea di,m1
mov cx,dem1
inchuhoa:
mov al,[di]
mov dl,al
add dl,30h
mov ah,2
int 21h
inc di
loop inchuhoa
;---------------------in xau chu--------------------
mov ah,9
lea dx,st3
int 21h
lea si,m
mov cx,dem
inchuthuong:
mov al,[si]
mov dl,al
add dl,30h
mov ah,2
int 21h
inc si
mov ah,2
loop inchuthuong
mov ah,4ch
int 21h
main endp
end main
3.Nhập một xâu kết thúc bằng enter .Nhập một ký tự ..Tìm Ký tự đó lặp mấy lần trong xâu vừa nhập trên
.model small
.stack 100h
.data
st1 db 'Nhap xau ky tu:$'
st2 db 13,10,'Nhap Ky tu:$'
st3 db 13,10,'So lan lap cua ky tu :$'
dem1 db 0
dem2 db 0
m1 db 20 dup(?)
m2 db 20 dup(?)
.code
main proc
mov ax,@data
mov ds,ax
lea si,m1
lea di,m2
;----------------------Nhap xau ky tu -----------------
mov ah,9
lea dx,st1
int 21h
nhap:
mov ah,1
int 21h
cmp al,13
je thoat
mov [si],al
inc dem1
inc si
jmp nhap
;----------------------Nhap 1 ky tu-------------------
thoat:
;---------in ra dong nhap ky tu--------
mov ah,9
lea dx,st2
int 21h
;---------nahp ky tu-------------------
mov ah,1
int 21h
;---------Luu ky tu do vao mang [di]---
mov [di],al
;-----------so sanh ky tu do co trong xau may lan------
lea si,m1
lea di,m2
mov cl,dem1
mov ch,0
lap:
push cx
mov al,[si]
mov bl,[di]
cmp al,bl
je tiep
jmp nhayra
tiep:
inc dem2
nhayra:
inc si
pop cx
loop lap
;--------------------in so lan lap--------------------
mov ah,9
lea dx,st3
int 21h
mov al,dem2
mov dl,al
add dl,30h
mov ah,2
int 21h
mov ah,4ch
int 21h
main endp
end main
CODE: SELECT ALL
; CHO CHUOI CO SAN <15 KY TU
; IN RA TONG CHU SO VIET HOA THEO HE 10 DEC hoac 16 HEX
; DUA RA CONG 3F8H SO CHU CAI CO TRONG XAU THEO HE 10
.model small
.stack 100
.data
MOI DB 'NHAP MOT DAY ENTER DE KET THUC',10,13,'$'
TB1 DB 10,13,'SO KY TU DA GO:$'
.Code
MAIN Proc
MOV AX,@DATA ; KHOI DAU DS MOV DS,AX ; DE KHOI TAO CHUOI CAN CA ES;NV2 HIEN THONG BAO LEA DX,MOI MOV AH,9 INT 21H; NV 3 DOC VA DEM MOV CX,0 ; KHOI TAO BO DEM NHU XOR CX,CX MOV AH,1 ; DOC KY TUDTIEP: INT 21H CMP AL,13 ; CO PHAI ENTER JE THOI ; DUNG THI THOI DOC CMP AL,91 ; SO SANH VOI KY TU SAU 'Z' NEU LON HON 96 LA CHU THUONG JG DTIEP ; NEU KHONG LA CHU HOA CHU THUONG THI PHAI LA JB SO SANH VOI 96TANG: INC CX ; TANG BO DEM THEM 1 ... NEU DEM KY TU VD: 'M' SO SANH VOI 77 DUNG JNE JMP DTIEP THOI: ; NV4 IN THONG BAO 2 MOV AH,9 LEA DX,TB1 INT 21H; LUU Y NEU CON CAN SU DUNG TIEP GIA TRI DEM DUOC CX PHAI CAT CX PUSH CX ; LUU CX DE DUNG TIEP MOV AX,CX ; HIEN SO TRONG CX THEO CALL HIENSOD ; HE 10 POP CX PUSH CX MOV AX,CX ; HIEN SO TRONG CX THEO CALL HIENSOH ; HE 16; NV5 DUA RA CONG POP CX MOV DX,03F8H ; NAP DC CONG MOV AX,CX OUT DX,AX ; XEM LAI LENH OUT; THOAT RA DOSRA: MOV AH,4CH INT 21HMAIN EndpHIENSOD PROC ; CHUONG TRINH CON HIEN SO HE 10 MOV BL,10 MOV CX,0CHIA: DIV BL PUSH AX INC CX MOV AH,0 CMP AL,0 JNZ CHIA MOV AH,2HIEN: POP DX MOV DL,DH ADD DL,30H INT 21H LOOP HIEN RETHIENSOD ENDP HIENSOH PROC ; CHUONG TRINH CON HIEN SO HE 16 MOV BL,16 MOV CX,0CHIAH: DIV BL ; PUSH AX INC CX MOV AH,0 CMP AL,0 JNZ CHIA MOV AH,2 ; RA KY TUHIENH: POP DX MOV DL,DH CMP DL,10 JB INHE10 ; SE IN RA SO ADD DL,55 ; CHUYEN SANG KY TU HE HEX ABCDEF JMP INKQH ; IN LUONINHE10: ADD DL,30H ; CHUYEN SANG MA ASCII SO THAP PHANINKQH: INT 21H LOOP HIEN RETHIENSOH ENDP end main
CODE: SELECT ALL
; CHO CHUOI CO SAN <15 KY TU
; IN RA TONG CHU SO VIET HOA THEO HE 16
; DUA RA CONG 3F8H SO CHU CAI CO TRONG XAU THEO HE 10
; DIEM KHO O DAY LA CHIEU DAI CHUOI VA TA GIAI QUYET BANG LENH SCASB
.model small
.stack 100
.data
MOI DB 'NHAP MOT DAY EN TER DE KET THUC',10,13,'$'
TB1 DB 10,13,'SO KY TU DA GO:$'
.Code
MAIN Proc MOV AX,@DATA ; KHOI DAU DS MOV DS,AX ; DE KHOI TAO CHUOI CAN CA ES; HIEN THONG BAO LEA DX,MOI MOV AH,9 INT 21H MOV CX,0 MOV AH,1LAI: INT 21H CMP AL,13 ; NEU LA ENTER JE THOI INC CX JMP LAITHOI: MOV AH,9 LEA DX,TB1 INT 21H MOV AX,CX CALL HIENSO; THOAT RA DOSRA: MOV AH,4CH INT 21HMAIN EndpHIENSO PROC MOV BL,16 MOV CX,0CHIA: DIV BL PUSH AX INC CX MOV AH,0 CMP AL,0 JNZ CHIA MOV AH,2HIEN: POP DX MOV DL,DH CMP DL,9 JG INHEX ADD DL,30H JMP INKQINHEX: ADD DL,55INKQ: INT 21H LOOP HIEN MOV DL,'H' INT 21H RETHIENSO ENDP end main
CODE: SELECT ALL
; DOC DONG KY TU HOA KET THUC BANG ENTER NHIEU NHAT 9 DEM BANG TGHI
; INRA so CHU CAI 'M'
; IN RA CHUOI NGUOC LAI
.model small
.stack 100
.data
TB1 DB 'XIN MOI NHAP DAY KY TU VIET HOA:$'
TB2 DB 10,13,'TONG SO CHU M LA:$'
TB3 DB 10,13,'CHUOI NGUOC:$'
.Code
MAIN Proc MOV AX,@DATA ; KHOI DAU DS MOV DS,AX ; DE KHOI TAO CHUOI CAN CA ES; HIEN THONG BAO LEA DX,TB1 MOV AH,9 INT 21H XOR BL,BL ; KHOI TAO TONG M XOR CX,CX ;KHOI TAO BO DEM; DOC VAO MOT KY TU MOV AH,1DTIEP: INT 21H CMP AL,13 JE TDOC PUSH AX INC CX CMP AL,04DH ;NEU LA M JE CONG JMP DTIEPCONG: INC BL JMP DTIEPTDOC: ; in thong bao 2 MOV AH,9 LEA DX,TB2 INT 21H MOV AH,2 MOV DL,BL ADD DL,30H INT 21H; IN CHUOI TBAO3 MOV AH,9 LEA DX,TB3 INT 21HINNG: POP AX MOV AH,2 MOV DL,AL INT 21H LOOP INNG; THOAT RA DOS MOV AH,4CH INT 21HMAIN Endpend main
CODE: SELECT ALL
.model small
.stack 100
.data
CHGOC DB 'a','b','c','d'
THONGB DB 'BAN SAO LA:',10,13
CHSAO DB 4 DUP('')
; DB '$'
.Code
MAIN Proc
MOV AX,@DATA ; KHOI DAU DS
MOV DS,AX
MOV ES,AX
LEA DI,CHSAO LEA SI,CHGOC CLD ;DINH HUONG TIEN CHO CHUOI MOV CX,4 ;CO 4 PHAN TU CAN KHAI BAO REP MOVSB ;COPY SANG CHUOI DICH LEA DX,THONGB MOV AH,9 INT 21H ; HIEN THONG BAO VA CHUOI SAO ; THOAT RA DOS MOV AH,4CH INT 21HMAIN Endpend main
CODE: SELECT ALL
; DOC MOT CHUOI KET THUC BANG MOT KY TU SO
; DEM TONG SO CAC KY TU DA NHAP
; DEM KY TU 'B'
; CAN SUA LAI DE THE HIEN SO LON HON 9 KY TU
.model small
.stack 100
.data
TB1 DB 'HAY NHAP MOT CHUOI KET THUC BANG MOT SO:$'
TB2 DB 10,13,'SO KY TU DA NHAP:$'
TB3 DB 10,13,'SO KY TU B HOA:$'
.Code
MAIN Proc MOV AX,@DATA MOV DS,AX MOV AH,9 ; GOI HAM RA CHUOI TB1 LEA DX,TB1 INT 21H ; HIEN CHUOI TBAO 1 MOV AH,1 ; HAM DOC MOT KY TU XOR CX,CX ; KHOI TAO BO DEM TONG KY TU XOR BL,BL ; KHOI TAO BO DEM KY TU BDOCT: INT 21H ; IN KY TU INC CL ; DEM CA KY TU CUOI CMP AL,3AH ; NEU CHON PHIM SO JB THOIDOC CMP AL,42H ; SO SANH VOI KY TU B JNE DOCTCONGB: INC BL JMP DOCT THOIDOC:; IN TONG SO KY TU MOV AH,9 LEA DX,TB2 INT 21H; IN DEC VAO AX RA SO DEC MOV AX,CX MOV DL,10 XOR CX,CX ; KHOI TAO BO DEMLAPD: DIV DL ; THUONG DE TRONG ALM DU AH PUSH AX INC CX XOR AH,AH OR AL,AL ;KIEM TRA THUONG =0 JNE LAPD MOV AH,2 ; IN RA TUNG KY TUINRA1: POP DX ;LAY KY TU OR DH,30H MOV DL,DH INT 21H LOOP INRA1; IN TONG SO KY TU B MOV AH,9 LEA DX,TB3 INT 21H; XEM PHAN IN HEX CUA BAI DUOI;RA DOS MOV AH,4CH INT 21H MAIN Endpend main
CODE: SELECT ALL
; CHO CHUOI CO SAN <15 KY TU
; IN RA TONG CHU SO VIET HOA THEO HE 10 DEC hoac 16 HEX
; DUA RA CONG 3F8H SO CHU CAI CO TRONG XAU THEO HE 10
.model small
.stack 100
.data
MOI DB 'NHAP MOT DAY ENTER DE KET THUC',10,13,'$'
TB1 DB 10,13,'SO KY TU DA GO:$'
.Code
MAIN Proc
MOV AX,@DATA ; KHOI DAU DS MOV DS,AX ; DE KHOI TAO CHUOI CAN CA ES;NV2 HIEN THONG BAO LEA DX,MOI MOV AH,9 INT 21H; NV 3 DOC VA DEM MOV CX,0 ; KHOI TAO BO DEM NHU XOR CX,CX MOV AH,1 ; DOC KY TUDTIEP: INT 21H CMP AL,13 ; CO PHAI ENTER JE THOI ; DUNG THI THOI DOC CMP AL,91 ; SO SANH VOI KY TU SAU 'Z' NEU LON HON 96 LA CHU THUONG JG DTIEP ; NEU KHONG LA CHU HOA CHU THUONG THI PHAI LA JB SO SANH VOI 96TANG: INC CX ; TANG BO DEM THEM 1 ... NEU DEM KY TU VD: 'M' SO SANH VOI 77 DUNG JNE JMP DTIEP THOI: ; NV4 IN THONG BAO 2 MOV AH,9 LEA DX,TB1 INT 21H; LUU Y NEU CON CAN SU DUNG TIEP GIA TRI DEM DUOC CX PHAI CAT CX PUSH CX ; LUU CX DE DUNG TIEP NEU IN HAI LAN MOV AX,CX ; HIEN SO TRONG CX THEO CALL HIENSOD ; HE 10 POP CX PUSH CX MOV AX,CX ; HIEN SO TRONG CX THEO CALL HIENSOH ; HE 16; NV5 DUA RA CONG POP CX MOV DX,03F8H ; NAP DC CONG MOV AX,CX OUT DX,AX ; XEM LAI LENH OUT; THOAT RA DOSRA: MOV AH,4CH INT 21HMAIN EndpHIENSOD PROC ; CHUONG TRINH CON HIEN SO HE 10 MOV BL,10 MOV CX,0CHIA: DIV BL PUSH AX INC CX MOV AH,0 CMP AL,0 JNZ CHIA MOV AH,2HIEN: POP DX MOV DL,DH ADD DL,30H INT 21H LOOP HIEN RETHIENSOD ENDP HIENSOH PROC ; CHUONG TRINH CON HIEN SO HE 16 MOV BL,16 MOV CX,0CHIAH: DIV BL ; PUSH AX INC CX MOV AH,0 CMP AL,0 JNZ CHIA MOV AH,2 ; RA KY TUHIENH: POP DX MOV DL,DH CMP DL,10 JB INHE10 ; SE IN RA SO ADD DL,55 ; CHUYEN SANG KY TU HE HEX ABCDEF JMP INKQH ; IN LUONINHE10: ADD DL,30H ; CHUYEN SANG MA ASCII SO THAP PHANINKQH: INT 21H LOOP HIEN RETHIENSOH ENDP end main
CODE: SELECT ALL
; CHO CHUOI CO SAN <15 KY TU
; IN RA TONG CHU SO VIET HOA THEO HE 16
; DUA RA CONG 3F8H SO CHU CAI CO TRONG XAU THEO HE 10
; DIEM KHO O DAY LA CHIEU DAI CHUOI VA TA GIAI QUYET BANG LENH SCASB
.model small
.stack 100
.data
MOI DB 'NHAP MOT DAY EN TER DE KET THUC',10,13,'$'
TB1 DB 10,13,'SO KY TU DA GO:$'
.Code
MAIN Proc MOV AX,@DATA ; KHOI DAU DS MOV DS,AX ; DE KHOI TAO CHUOI CAN CA ES; HIEN THONG BAO LEA DX,MOI MOV AH,9 INT 21H MOV CX,0 MOV AH,1LAI: INT 21H CMP AL,13 JE THOI INC CX JMP LAITHOI: MOV AH,9 LEA DX,TB1 INT 21H MOV AX,CX CALL HIENSO; THOAT RA DOSRA: MOV AH,4CH INT 21HMAIN EndpHIENSO PROC MOV BL,16 MOV CX,0CHIA: DIV BL PUSH AX INC CX MOV AH,0 CMP AL,0 JNZ CHIA MOV AH,2HIEN: POP DX MOV DL,DH CMP DL,9 JG INHEX ADD DL,30H JMP INKQINHEX: ADD DL,55INKQ: INT 21H LOOP HIEN MOV DL,'H' INT 21H RETHIENSO ENDP end main
CODE: SELECT ALL
; GIAI THICH DONG LENH VA CHO KET QUA
.model small
.stack 100
.data ; khai bao bien
.Code
MAIN Proc
MOV CX,0203H
MOV AH,2 ; HIEN THI KY TU
MOV DL,48H ; DAY LA MOT CAI BAY
QUAY: DEC DL ; KY TU DUOC HIEN THI 'G' ROI KY TU TRUOC DO
INT 21H DEC CH JNZ QUAY ; CHI CO 2 LAN LAP DUOC 'GF'LAP: INC DL ; LAI LAY KY TU SAU 'G' INT 21H ; LOOP LAP ; LAP 3 LAN VAY DUOC 'GHI'; KET QUA LA CHUOI 'GFGHI'; THOAT RA DOS MOV AH,4CH INT 21HMAIN Endpend main
CODE: SELECT ALL
; GIAI THICH DONG LENH VA CHO KET QUA
.model small
.stack 100
.data ; khai bao bien
.Code
MAIN Proc
MOV CX,302H
MOV AH,2 ; HIEN THI KY TU
MOV DL,'h' ; IN RA 'h'
QUAY: NOP
INT 21H
DEC CH JNZ QUAY ; 3 LAN CHU 'h'LAP: INC DL ; 1 LAN CHU 'i' TANG 1 INT 21H ; DEC CL ; ; KET QUA LA CHUOI 'hhhi'; THOAT RA DOS MOV AH,4CH INT 21HMAIN Endpend main
CODE: SELECT ALL
; GIAI THICH DONG LENH VA CHO KET QUA
.model small
.stack 100
.data ; khai bao bien
.Code
MAIN Proc
MOV CX,3
MOV AH,2 ; HIEN THI KY TU
MOV BL,30H ;
QUAY: SHL BL,1
MOV DL,BL ; 30H*2 =60H -> '`'
INT 21H INC BL INC BL ; SHR BL,1 ; (60H+1+1)/2=31 -> '1' MOV DL,BL INT 21H LOOP QUAY; BAI NAY NOI CHUNG PHAN TICH PHUC TAP LUU Y SHL = *2 SHR =/2 ; NEN TINH RA GIAY; KET QUA LA CHUOI '`1b2d3'; THOAT RA DOS MOV AH,4CH INT 21HMAIN Endpend main
CODE: SELECT ALL
; GIAI THICH DONG LENH VA CHO KET QUA
.model small
.stack 100
.data ; khai bao bien
.Code
MAIN Proc
MOV AX,0AAAAH
MOV CX,10H
LAP: ROL AX,1 ;DUA BIT CAO CUA A THANH BIT THAP CUA B
RCR BX,1 ; KET QUA BX 5555H BX CHUA CHUOI DAO CUA A
LOOP LAP
XCHG AX,BX MOV DX,BX OUT DX,AX; THOAT RA DOS MOV AH,4CH INT 21HMAIN Endpend main
CODE: SELECT ALL
; GIAI THICH DONG LENH VA CHO KET QUA
.model small
.stack 100
.data ; khai bao bien
.Code
MAIN Proc
MOV CX,5
MOV AH,2 ; HIEN THI KY TU
MOV BL,62H ;
QUAY: SHR BL,1
MOV DL,BL ; 62H/2 =31H -> '1'
INT 21H INC BL NOP SHL BL,1 ; (60H+1+1)/2=31 -> '1' MOV DL,BL INT 21H LOOP QUAY; BAI NAY NOI CHUNG PHAN TICH PHUC TAP LUU Y SHL = *2 SHR =/2 ; NEN TINH RA GIAY; KET QUA LA CHUOI '1d2f3h4j5l'; THOAT RA DOS MOV AH,4CH INT 21HMAIN Endpend main
CODE: SELECT ALL
; giai thich tung dong lenh, CHO KET QUA CUA CT
.model small
.stack 100
.data
.Code
MAIN Proc
MOV AX,@DATA
MOV DS,AX
MOV AH,2 ; GOI HAM RA KY TU
MOV CX,3 ;SO LAN LAP
MOV AL,'D'
MOV DL,AL ;KY TU SE IN RA LA D
LAP: INT 21H ;IN KY TU DEC DL ; GIAM DL -> GIAM KY TU CAN IN C,BLOOP LAP MOV AL,DL ;DUA KY TU B DA IN LUU VAO AL MOV DL,10 ; CHUEN CON TRO XUONG DONG INT 21H ; MOV DL,AL ; LAY LAI KY TU B SAU GOI NGAT 21 THANH AL BI ANH HUONG INT 21H ;IN KY TU B;RA DOS MOV AH,4CH INT 21H MAIN Endpend main
CODE: SELECT ALL
; KET QUA SE IN RA CHUOI ‘DCB’
; GIAI THICH TUNG DONG LENH
; CHO KET QUA CHUONG TRINH
; DUA RA CONG CO DIA CHI DX
.model small
.stack 100
.data
.Code
MAIN Proc
MOV AX,AAAAH ;
MOV CX,10H
LAP: ROL AX,1 ROR BX,1LOOP LAP XCHG AX,BX MOV DX,BX OUT DX,AXMAIN Endpend main
CODE: SELECT ALL
; GIAI THICH TUNG DONG LENH
; CHO KET QUA CHUONG TRINH
; IN RA nnnmmmlll ?? test lai
.model small
.stack 100
.data
.Code
MAIN Proc
MOV AX,@DATA
MOV DS,AX
MOV CH,6
MOV AH,2 MOV DL,6EHQUAY: DEC DL MOV CL,5 MOV DL,DLLAP: INT 21H DEC CL JNZ LAP DEC CH JNE QUAYRA: MOV AH,4CH INT 21H MOV DL,7 MOV AH,2 INT 21HMAIN Endpend main
CODE: SELECT ALL
; DUA GIA TRI KHONG XASC DINH RA CONG CO DIA CHI AAAAH
; GIAI THICH LENH, KET QUA CUA CHUONG TRINH
.model small
.stack 100
.data
.Code
MAIN Proc
MOV AX,@DATA
MOV DS,AX
MOV AX,0AAAAH
MOV CX,10H
LAP: ROL AX,1 ROR BX,1 LOOP LAP XCHG AX,BX MOV DX,BX OUT DX,AXRA: MOV AH,4CH INT 21HMAIN Endpend main
CODE: SELECT ALL
; DOC MOT CHUOI SO DUONG HE 10 KET THUC BANG HAI SO GIONG NHAU
; IN SO DAU VA SO CUOI
; NEU DAU <> 0 THI IN RA B/A HOAC DUA RA CONG 2F8H VA 2F9H
; LUU Y CON MOT BAN KHAC LA A=0 ( DE SAI)
.model small
.stack 100
.data
TB1 DB 'HAY NHAP MOT CHUOI SO:$'
TB2 DB 10,13,'SO DAU TIEN:$'
TB3 DB 10,13,'SO CUOI CUNG:$'
TB4 DB 10,13,'THUONG LA:'
.Code
MAIN Proc MOV AX,@DATA MOV DS,AX MOV AH,9 ; GOI HAM RA CHUOI TB1 LEA DX,TB1 INT 21H ; HIEN CHUOI TBAO 1 MOV AH,1 ; HAM DOC MOT KY TU INT 21H MOV BL,AL ; LUU LAI GIA TRI DAU TIEN PUSH AXDOCT: INT 21H ; DOC KY TU POP DX CMP AL,DL ; NEU TRUNG SO JE THOIDOC PUSH AX JMP DOCTTHOIDOC:MOV BH,AL ; LUU GIA TRI CUOI; IN SO DAU MOV AH,9 LEA DX,TB2 INT 21H MOV AH,2 MOV DL,BL INT 21H;IN SO CUOI MOV AH,9 LEA DX,TB3 INT 21H MOV AH,2 MOV DL,BH INT 21H CMP BL,0 JE RA ; NEU SO DAU TIEN LA 0 THI THOAT CHU Y BAY O DAY =0 XOR AX,AX MOV AL,BH DIV BL ; THUONG O AL, DU AH MOV DX,2F8H OUT DX,AX MOV DX,2F9H OUT DX,AX;RA DOSRA: MOV AH,4CH INT 21H MAIN Endpend main
CODE: SELECT ALL
; DOC DONG 0101... TU KET THUC BANG ENTER
; NHAP SO 01 HIEN 4 SO HEX TRONG BX
.model small
.stack 100
.data
TB1 DB 'XIN MOI NHAP sonhi phan:$'
TB2 DB 10,13,'CHU DA NHAP CHUYEN SANG HEX LA:$'
.Code
MAIN Proc
MOV AX,@DATA ; KHOI DAU DS
MOV DS,AX ; DE KHOI TAO CHUOI CAN CA ES; HIEN THONG BAO LEA DX,TB1 MOV AH,9 INT 21H; DOC VAO MOT KY TU XOR BX,BX ; XOA THANH CHUA BX MOV AH,1DTIEP: INT 21H CMP AL,13 JE TDOC SUB AL,30H ROL BX,1 OR BL,AL JMP DTIEPTDOC:; in thong bao 2 MOV AH,9 LEA DX,TB2 INT 21H; IN KY TU TRONG BX THONG QUA TRUNG GIAN DX MOV CX,4 MOV AH,2LAP: MOV DX,BX RCL BX,4 ; XOAY TRAI CO BX 4 BIT ROL DX,4 ; CHUEYN 4 BIT CAO DH VAO 4 BIT THAP DL AND DL,0FH ; XOA BON BIT CAO CUA DL CMP DL,10 JB SOTP ADD DL,55 JMP INKQSOTP: ADD DL,30H ; CHUYEN DL SANG MA ASCII NEU DL<10INKQ: INT 21H LOOP LAP; THOAT RA DOS MOV AH,4CH INT 21HMAIN Endpend main
CODE: SELECT ALL
; DOC DONG KY TU KET THUC BANG ENTER
; IN CAC SO 0..9 TRONG DAY DA DOC
; PHAN TICH:
; NHIEM VU 1: HIEN DONG THONG BAO MOI NHAP: HAM 9 DX CHUA DIA CHI CHUOI
; NV2 : DOC KY TU VA KIEM TRA CO PHAI LA ENTER VA LUU LAI NEU DUNG THI THOI NHAP VA THOAT
; NV3 : LUU LAI VA IN RA
; LUU Y NEU DUNG STACK THI CHUOI SE BI DAO THU TU
.model small
.stack 100
.data ; khai bao bien
TB1 DB 'XIN MOI NHAP DAY KY TU:',10,13,'$' ; $ de ket thuc chuoi
TB2 DB 10,13,'CHU SO DA NHAP LA:$' ; 10,13 = mot enter va xuong dong CHLUU DB 100 DUP ('$').CodeMAIN Proc MOV AX,@DATA ; KHOI DAU DS MOV DS,AX ; DE KHOI TAO CHUOI CAN CA ES MOV ES,AX;NHIEM VU 1 HIEN THONG BAO LEA DX,TB1 ; chuoi can in ra la tb1 MOV AH,9 ; HAM HIEN THI CHUOI INT 21H;NV 2 DOC VAO MOT KY TU MOV AH,1 ; ham doc mot ky tu LEA DI,CHLUU CLD ; DINH HUONG TIENDTIEP: INT 21H CMP AL,13 ; kiem tra xem co phai la enter JE TDOC ; neu dung enter thoi doc; KIEM TRA NEU LA SO THI LUU CMP AL,30H JB DTIEP ; KHONG PHAI LA SO CMP AL,39H JG DTIEP ; KHONG PHAI LA SO STOSB JMP DTIEP ; LUU XONG THI DOC TIEPTDOC: ;Nhiem vu 3 in thong bao 2 VA KET QUA MOV AH,9 ; ham ra chuoi LEA DX,TB2 ; chuoi can in la tb2 INT 21H LEA DX,CHLUU ; IN CHUOI KET QUA INT 21H ; THOAT RA DOS MOV AH,4CH INT 21HMAIN Endpend main
CODE: SELECT ALL
; DOC DONG KY TU KET THUC BANG ENTER
; HIEN DONG THEO CHIEU NGUOC SU DUNG STACK
.model small
.stack 100
.data
TB1 DB 'HAY GO VAO DAY KY TU:$'
TB2 DB 10,13,'DONG CHU NGUOC:$'
en DB 10,13,'$'
.Code
MAIN Proc MOV AX,@DATA ; KHOI DAU DS MOV DS,AX; XOA MAN HINH MOV AH,9 MOV CX,30 LEA DX,ENLAPXOA: INT 21H LOOP LAPXOA LEA DX,TB1 MOV AH,9 INT 21H ; HIEN THONG BAO 1; DOC KY TU XOR CX,CX ;XOA THANH CX MOV AH,1DOCT: INT 21H LAP: CMP AL,13 ; NEU LA ENTER JE THOIDOC PUSH AX ; CAT NOI DUNG DA DOC DUOC INC CX ; TANG SOS KY TU DOC DUOC JMP DOCTTHOIDOC: LEA DX,TB2 MOV AH,9 INT 21H ; HIEN THONG BAO SE IN; BAT DAU IN CAC KY TU MOV AH,2 LAPIN: POP DX ; LAY KY TU INT 21H LOOP LAPIN ; THOAT RA DOS MOV AH,4CH INT 21HMAIN Endpend main
CODE: SELECT ALL
; DOC DONG KY TU KET THUC BANG ENTER
; HIEN DONG THEO CHIEU NGUOC SU DUNG CHUOI
.model small
.stack 100
.data
CHUOI1 DB 'NGUYENTHIHAIYEN'
CHUOI2 DB 15 DUP (?)
en DB 10,13,'$'
tam db '$'
.Code
MAIN Proc MOV AX,@DATA ; KHOI DAU DS MOV DS,AX ; DE KHOI TAO CHUOI CAN CA ES MOV ES,AX; XOA MAN HINH; MOV AH,9; MOV CX,30; LEA DX,EN;LAPXOA: INT 21H ; LOOP LAPXOA; XU LY CHUOI LEA SI,CHUOI1 LEA DI,CHUOI2 CLD ;CO DINH HUONG -> MOV CX,15GAN: MOVSB ;CHUYEN BYTE 1 LOOP GAN DEC SI DEC DI; NEN CHINH SI VA DI O DAY LUON; IN NGUOC MOV AH,2 ; HAM 2 NGAT 21 HIEN MOT KY TU MOV SI,DI ; DOI DIA CHI CHUOI2 SANG SI STD ; DINH HUONG <- MOV CX,15INKQ: LODSB MOV DL,AL INT 21H LOOP INKQ ; THOAT RA DOS MOV AH,4CH INT 21HMAIN Endpend main
CODE: SELECT ALL
; DOC DONG KY TU KET THUC BANG ENTER
; HIEN DONG THEO CHIEU NGUOC
.model small
.stack 100
.data
TB1 DB 'HAY GO VAO DAY KY TU:$'
TB2 DB 10,13,'DONG CHU NGUOC:$'
en DB 10,13,'$'
tam db '$'
.Code
MAIN Proc MOV AX,@DATA ; KHOI DAU DS MOV DS,AX; XOA MAN HINH MOV AH,9 MOV CX,30 LEA DX,ENLAPXOA: INT 21H LOOP LAPXOA LEA DX,TB1 MOV AH,9 INT 21H ; HIEN THONG BAO 1; DOC KY TU XOR CX,CX ;XOA THANH CX MOV AH,1 LEA DI,TAMDOCT: INT 21H LAP: CMP AL,13 ; NEU LA ENTER JE THOIDOC STOSB INC CX ; TANG SOS KY TU DOC DUOC JMP DOCTTHOIDOC: LEA DX,TB2 MOV AH,9 INT 21H ; HIEN THONG BAO SE IN; BAT DAU IN CAC KY TU; MOV AH,2 ; THIEU THONG BAO 2; DEC DI; CHINH LAI;KQ: MOV DL,[DI] ; DIA CHI CUA CHUOI; INT 21H; DEC DI; CHINH LAI DI; THUC HIEN VOI CHUOI MOV AH,9; SUA MOV THANH LEA KHONG SUA MOV THANH LEA DJ MOV SI,TAM STD MOV AH,2HIEN: LODSB ; LAY MOT KY TU DE HIEN MOV DL,AL INT 21H LOOP HIEN ; DEC CX; LOOP KQ; THOAT RA DOS MOV AH,4CH INT 21HMAIN Endpend main
CODE: SELECT ALL
; DOC DONG KY TU KET THUC BANG ENTER
; dem so na va phu am in cac so do ra
.model small
.stack 100
.data
TB1 DB 'XIN MOI NHAP DAY KY TU:$'
TB2 DB 10,13,'SO NGUYEN AM LA:$'
TB3 DB 10,13,'SO PHU AM LA:$'
NAM DB 'AaEeIiOoUuYy'
.Code
MAIN Proc MOV AX,@DATA ; KHOI DAU DS MOV DS,AX ; DE KHOI TAO CHUOI CAN CA ES MOV ES,AX; HIEN THONG BAO LEA DX,TB1 MOV AH,9 INT 21H; DOC VAO MOT KY TU XOR BX,BX ; XOA THANH CHUA BX SU DUNG BH DEM TONG KY TU, BL NA MOV AH,1DTIEP: INT 21H CMP AL,13 JE TDOC INC BH ; DOC DUOC MOT KY TU THI CAP NHAT BO DEM CHUNG; XU LY CHUOI VOI AL LEA DI,NAM CLD ; CO DINH HUONG -> MOV CX,12 ; CHUOI NGAM CO 12 KY TU REPNE SCASB JNE DTIEP INC BL JMP DTIEPTDOC:; in thong bao 3 MOV AH,9 LEA DX,TB3 INT 21H; IN KY TU TRONG BH MOV AH,2 SUB BH,BL MOV DL,BH ; TONG SO PHU AM DOC DUOC ADD DL,30H INT 21H; IN TONG BAO2 MOV AH,9 LEA DX,TB2 INT 21H ; IN KY TU TRONG BL MOV AH,2 MOV DL,BL ; TONG SO NGUYEN AM ADD DL,30H INT 21H; THOAT RA DOS MOV AH,4CH INT 21HMAIN Endpend main
CODE: SELECT ALL
; DOC DONG KY TU KET THUC BANG ENTER
; dem so na va phu am in cac so do ra
; CO SUA LAI DE IN RA HON 10 KY TU
; SUA DUNG TEST DE KIEM TRA CHAN LE
.model small
.stack 100
.data
TB1 DB 'XIN MOI NHAP DAY KY TU:$'
TB2 DB 10,13,'TONG SO CHAN LA:$'
.CodeMAIN Proc MOV AX,@DATA ; KHOI DAU DS MOV DS,AX ; DE KHOI TAO CHUOI CAN CA ES; HIEN THONG BAO LEA DX,TB1 MOV AH,9 INT 21H XOR BL,BL ; KHOI TAO TONG SO CHAN; DOC VAO MOT KY TU MOV AH,1DTIEP: INT 21H CMP AL,13 JE TDOC PUSH AX ROR AL,1 JNC CONG JMP DTIEPCONG: POP AX SUB AL,30H ADD BL,AL JMP DTIEPTDOC:; in thong bao 2 MOV AH,9 LEA DX,TB2 INT 21H; IN KY TU TRONG BH -> GIA TRI TU AX XOR AH,AH MOV AL,BL MOV DL,10 XOR CX,CXCHIA1: DIV DL INC CX PUSH AX ;THUONG AL,AH DU XOR AH,AH OR AL,AL JNE CHIA1 MOV AH,2IN1: POP DX MOV DL,DH OR DL,30H INT 21H LOOP IN1 ; THOAT RA DOS MOV AH,4CH INT 21HMAIN Endpend main
CODE: SELECT ALL
; DOC DONG KY TU KET THUC BANG ENTER
; SUA DUNG TEST DE KIEM TRA CHAN LE
.model small
.stack 100
.data
TB1 DB 'XIN MOI NHAP DAY KY TU:$'
TB2 DB 10,13,'TONG SO CHAN LA:$'
.Code
MAIN Proc
MOV AX,@DATA ; KHOI DAU DS
MOV DS,AX ; DE KHOI TAO CHUOI CAN CA ES; HIEN THONG BAO LEA DX,TB1 MOV AH,9 INT 21H XOR BL,BL ; KHOI TAO TONG SO CHAN; DOC VAO MOT KY TU MOV AH,1DTIEP: INT 21H CMP AL,13 JE TDOC PUSH AX ROR AL,1 JC CONG ; NEU LA SO LE .... CHAN JNC JMP DTIEPCONG: POP AX SUB AL,30H INC BL JMP DTIEPTDOC:; in thong bao 2 MOV AH,9 LEA DX,TB2 INT 21H; IN KY TU TRONG BH -> GIA TRI TU AX XOR AH,AH MOV AL,BL MOV DL,10 XOR CX,CXCHIA1: DIV DL INC CX PUSH AX ;THUONG AL,AH DU XOR AH,AH OR AL,AL JNE CHIA1 MOV AH,2IN1: POP DX MOV DL,DH OR DL,30H INT 21H LOOP IN1 ; THOAT RA DOS MOV AH,4CH INT 21HMAIN Endpend main
CODE: SELECT ALL
; DOC DONG KY TU KET THUC BANG ENTER
; TINH TONG CAC SO DA NHAP, IN RA
.model small
.stack 100
.data
A DW 5
B DW 8
SUM DW ?
.Code
MAIN Proc
MOV AX,@DATA ; KHOI DAU DS MOV DS,AX ; DE KHOI TAO CHUOI CAN CA ES LEA AX,A ADD AX,B MOV SUM,AX;INKQ:; LEA AX,SUM; SUB AL,30H; MOV AH,2; INT 21H; THOAT RA DOS MOV AH,4CH INT 21HMAIN Endpend main
CODE: SELECT ALL
; DOC DONG KY TU KET THUC BANG ENTER TINH TONG SO CHAN
; CO SUA LAI DE IN RA HON 10 KY TU
; SUA DUNG TEST DE KIEM TRA CHAN LE
.model small
.stack 100
.data
TB1 DB 'XIN MOI NHAP DAY KY TU:$'
TB2 DB 10,13,'TONG SO CHAN LA:$'
.Code
MAIN Proc
MOV AX,@DATA ; KHOI DAU DS MOV DS,AX ; DE KHOI TAO CHUOI CAN CA ES; HIEN THONG BAO LEA DX,TB1 MOV AH,9 INT 21H XOR BL,BL ; KHOI TAO TONG SO CHAN; DOC VAO MOT KY TU MOV AH,1DTIEP: INT 21H CMP AL,13 JE TDOC PUSH AX ROR AL,1 JNC CONG ; NEU LA SO CHAN JMP DTIEPCONG: POP AX SUB AL,30H ADD BL,AL JMP DTIEPTDOC:; in thong bao 2 MOV AH,9 LEA DX,TB2 INT 21H; IN KY TU TRONG BH -> GIA TRI TU AX XOR AH,AH MOV AL,BL MOV DL,10 XOR CX,CXCHIA1: DIV DL INC CX PUSH AX ;THUONG AL,AH DU XOR AH,AH OR AL,AL JNE CHIA1 MOV AH,2IN1: POP DX MOV DL,DH OR DL,30H INT 21H LOOP IN1 ; THOAT RA DOS MOV AH,4CH INT 21HMAIN Endpend main
CODE: SELECT ALL
; DOC DONG KY TU KET THUC BANG ENTER
; DOI THANH CHU HOA
.model small
.stack 100
.data
TB1 DB 'XIN MOI NHAP CHU THUONG:$'
TB2 DB 10,13,'CHU HOA LA:'
CHAR DB 2 dup('?'),'$'
.Code
MAIN Proc
MOV AX,@DATA ; KHOI DAU DS MOV DS,AX ; DE KHOI TAO CHUOI CAN CA ES; HIEN THONG BAO LEA DX,TB1 MOV AH,9 INT 21H; DOC VAO MOT KY TU MOV AH,1 INT 21H SUB AL,20H ; CHUYEN SANG THANH CHU HOA MOV char,AL ; LUU KY TU DOC DJ; in thong bao 2 MOV AH,9 LEA DX,TB2 INT 21H; IN LUON CHU HOA; MOV DL,BL; MOV AH,2; INT 21; THOAT RA DOS MOV AH,4CH INT 21HMAIN Endpend main
CODE: SELECT ALL
; CHO CHUOI CO SAN <15 KY TU
; IN RA TONG CHU SO VIET HOA THEO HE 16
; DUA RA CONG 3F8H SO CHU CAI CO TRONG XAU THEO HE 10
; DIEM KHO O DAY LA CHIEU DAI CHUOI VA TA GIAI QUYET BANG LENH SCASB
.model small
.stack 100
.data
STR1 DB 'XiNMoInhAPDaYYYY' ; CHUOI BAN DAU
TB1 DB 10,13,'TONG SO CHU CAI VIET HOA LA:$'
.Code
MAIN Proc MOV AX,@DATA ; KHOI DAU DS MOV DS,AX ; DE KHOI TAO CHUOI CAN CA ES MOV ES,AX ; KHOI TAO DIA CHI ES; HIEN THONG BAO LEA DX,TB1 MOV AH,9 INT 21H; TIM DO DAI CHUOI VA DUYET CHUOI LEA DI,STR1 CLD XOR CX,CX ;KHOI TAO BO DEM MOV AL,10 ; KY TU 10 O NGAY TRONG CHUOI TIEP THEOQUET: INC CL SCASB ; LAY RA KY TU CHUOI VAO AL JNE QUET DEC CL ; PHAI TRU DI 1 SE RA TONG SO KY TU PUSH CX LEA SI,STR1 XOR BL,BL ; KHOI TAO BO DEM CHU HOADUYET: LODSB CMP AL,'Z' ; KHONG PHAI LA CHU THUONG JG THUONG ; KHONG THE NHAY VE DUYET INC BL ; VI KHONG QUA LOOP CX KO DOI SO LAN LAP SAITHUONG: LOOP DUYET; IN SO CHU HOA BANG SO HEX MOV AH,2 MOV DL,'0' ; INT KY TU 0 INT 21H MOV DL,BL CMP DL,9 JA INHEXINDEC: ADD DL,30H JMP INKQINHEX: ADD DL,55 ; CHUYEN SANG KY TU HEXINKQ: INT 21H MOV DL,'H' ; IN KY TU 'H' INT 21H; DUA RA CONG POP CX MOV AL,CL MOV DX,03F8H OUT DX,AL; THOAT RA DOSRA: MOV AH,4CH INT 21HMAIN Endpend main
CODE: SELECT ALL
; DOC DONG KY TU KET THUC BANG ENTER
; DOI CHU THUONG THANH CHU HOA IN KET QUA
; PHAN TICH:
; NHIEM VU 1: HIEN DONG THONG BAO MOI NHAP: HAM 9 DX CHUA DIA CHI CHUOI
; NV2 : DOC KY TU VA KIEM TRA CO PHAI LA ENTER VA KIEM TRA DOI THANH CHU HOA
; NV3 : LUU LAI VA IN RA
; LUU Y NEU DUNG STACK THI CHUOI SE BI DAO THU TU
.model small
.stack 100
.data ; khai bao bien
TB1 DB 'XIN MOI NHAP DAY KY TU:',10,13,'$' ; $ de ket thuc chuoi
TB2 DB 10,13,'CHUOI HOA :
I. Bộ Vi xử lý