assem11-20

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

;Bai 11/Nhap mot ki tu, in ra man hinh ma ASCII o dang Hexa(cn11.asm)

code segment

assume cs:code

org 100h

start: jmp over

xau1 db 'Nhap mot ky tu: $'

xau db 0ah,0dh,'Ma ASCII o dang Hexa la: $'

over:

mov ah,9

lea dx,xau1

int 21h

mov ah,1

int 21h

mov bl,al

mov ah,9

lea dx,xau

int 21h

mov bh,0

mov ah,2

lap:xor dl,dl

mov cx,4

lap1:

shl bl,1

rcl dl,1

loop lap1

cmp dl,9

ja qua

add dl,30h

jmp inra

qua:add dl,37h

inra: int 21h

inc bh

cmp bh,2

jb lap

mov ah,2

mov dl,'h'

int 21h

int 20h

code ends

end start

;Bai12/Nhap mot so ;1<=N<=32767.Hay xac dinh do co ;phai la so hoan thien ;khong?(cn12.asm)

include mylib.mac

code segment

assume cs:code

org 100h

start: jmp over

     n dw ?

     uoc dw 1

over:

    @write'Nhap N= '

     call nhap_so

     mov n,ax

     mov cx,2

lap:

     xor dx,dx

     mov ax,n

     div cx

     cmp dx,0

     jne qua

     add uoc,cx

qua:

     inc cx

     cmp cx,n

     jl lap

     @xuongdong

     mov ax,n

     cmp ax,uoc

     je qua1

     @write'Khong phai so hoan thien'

     jmp het

qua1:

     @write'Day la so hoan thien'

het:

    int 20h

    include proc.asm

    code ends

    end start

;Bai 13/ Nhap mot chu cai tu A->F(hoac a->f). Hay in ra so thap phan tuong ung. Neu sai thi yeu cau nhap lai(cn07.asm)

code segment

assume cs:code

org 100h

start: jmp over

xau1 db 13,10,'Nhap mot mot ky tu:$'

xau2 db 0ah,0dh,'Nhap lai : $'

xau3 db 0ah,0dh,'Doi ra thap phan : 1$'

over:

mov ah,9

lea dx,xau1

int 21h

mov ah,1

int 21h

mov bl,al

cmp al,'A'

jb nhaplai

cmp al,'F'

jbe thoat1

cmp al,'a'

jb nhaplai

cmp al,'f'

jbe thoat2

nhaplai:

mov ah,9

lea dx,xau2

int 21h

jmp over

thoat1:mov ah,9

lea dx,xau3

int 21h

mov ah,2

sub bl,11h

mov dl,bl

int 21h

jmp het

thoat2:mov ah,9

lea dx,xau3

int 21h

mov ah,2

sub bl,31h

mov dl,bl

int 21h

jmp het

het:int 20h

code ends

end start

Bai 14/Nhap mot mang word.In mang tren mot dong va tinh tong(CN14.ASM)

include mylib.mac

code segment

assume cs:code

org 100h

start: jmp over a dw 30 dup (?) n dw ?

over:

@write'Nhap so phan tu: '

call nhap_so

mov n,ax

mov cx,n

xor bp,bp

mov bx,1

nhap:@xuongdong

@write'Nhap phan tu thu '

mov ax,bx

call in_so

inc bl

@write' : '

call nhap_so

mov a[bp],ax

add bp,2

loop nhap

@xuongdong

@write'Mang vua nhap la: '

mov cx,n

xor bp,bp

inra:mov ax,a[bp]

call in_so

add bp,2

mov ah,2

mov dl,32

int 21h

loop inra

@xuongdong

xor ax,ax

xor bp,bp

mov cx,n

cong:add ax,a[bp]

add bp,2

loop cong

@write'Tong= '

call in_so

int 20h

include proc.asm

code ends

end start

;Bai 15/Nhap N.1<=N<=20.Tim so Fibonaxi thø N(duoc su dung thu vien)

include mylib.mac

code segment

assume cs:code

org 100h

start: jmp over

n dw ?

over:

@write'Nhap n= '

 call nhap_so

 mov n,ax

 @xuongdong

     @write'So Fibonaxi thu '

     call in_so

     @write' = '

     cmp ax,2

     ja qua

     mov ax,1

     call in_so

     jmp het

qua:

    mov cx,2

    mov dx,1

    mov ax,1

cong:

     add ax,dx

     sub dx,ax

     neg dx

     inc cx

     cmp cx,n

     jb cong

     call in_so

het:

    int 20h

    include proc.asm

    code ends

    end start

;Bai 16/Nhap mot ki tu neu do la chu so thi in ra: do la chu so nguoc lai: do khong phai la chu so

code segment

assume cs:code

org 100h

start: jmp over

xau db 'Nhap 1 ky tu: $'

xau1 db 0ah,0dh,'ky tu vua nhap la chu so$'

xau2 db 0ah,0dh,'ky tu vua nhap khong phai chu so $'

over:

mov ah,9

lea dx,xau

int 21h

mov ah,1

int 21h

cmp al,'0'

jb khac

cmp al,'9'

ja khac

mov ah,9

lea dx,xau1

int 21h

jmp het

khac:

mov ah,9

lea dx,xau2

int 21h

het:

int 20h

code ends

end start

;Bai 17/Cho AX=1 so nguyen 2 byte dang thap phan in ra so nguoc lai

include mylib.mac

code segment

assume cs:code

org 100h

start: jmp over

     n dw ?

over:

     mov ax,12345

     mov n,ax

     @write'So nguoc la: '

     mov cx,10

chia:

     xor dx,dx

     mov ax,n

     div cx

     mov n,ax

     mov ax,dx

     call in_so

     cmp n,0

     ja chia

     int 20h

     include proc.asm

     code ends

     end start

;Bai 18/Cho AX=1 so nguyen 2 byte dang thap phan in ra so nguoc lai

include mylib.mac

code segment

assume cs:code

org 100h

start: jmp over

     xau db 80 dup (?)

     xau1 db 80 dup (?)

     n dw ?

over:

     @write'Nhap xau: '

     mov ah,1

     xor bx,bx

nhap:

     int 21h

     cmp al,0dh

     je hetnhap

     mov xau[bx],al

     inc bx

     mov n,bx

     jmp nhap

hetnhap:

     @xuongdong

     @write'Xau da nhap la: '

     xor bx,bx

     xor bp,bp

chuyen:

     mov al,xau[bx]

     mov xau1[bp],al

     inc bx

     inc bp

     cmp bx,n

     jbe chuyen

     mov xau1[bp],'$'

inra:mov ah,9

     lea dx,xau1

     int 21h

     int 20h

     include proc.asm

    code ends

    end start

;Bai 19/Nhap mot so co mot chu so. hay cho biet do la so chan hay le

code segment

assume cs:code

org 100h

start: jmp over

     xau1 db 'nhap so co mot chu so: $'

     xau2 db 0ah,0dh,'Day la so le$'

     xau3 db 0ah,0dh,'Day la so chan$'

over:

     mov ah,9

     lea dx,xau1

     int 21h

     mov ah,1

     int 21h

     test al,1

     jne sole

     mov ah,9

     lea dx,xau3

     int 21h

     jmp het

sole:

     mov ah,9

     lea dx,xau2

     int 21h

het:

     int 20h

     code ends

     end start

;Bai 20/Cho BX=1 so Hexa in ra dang nhi phan moi nhom 4 bit cach nhau doi dau cach

include mylib.mac

code segment

assume cs:code

org 100h

start:

mov bx,0F5C4h

@write'so o dang nhi phan la : '

mov cx,16

xor dh,dh

mov ah,2

lap:

rol bx,1

mov dl,0

adc dl,30h

int 21h

inc dh

cmp dh,4

jne het

mov ah,2

mov dl,32

int 21h

xor dh,dh

het:

loop lap

int 20h

code ends

end start

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