Các câu hỏi và đáp án môn vi xử lý

8 245 0
Các câu hỏi và đáp án môn vi xử lý

Đang tải... (xem toàn văn)

Thông tin tài liệu

đề ôn tập môn vi xử lý

1. Viết chương trình hợp ngữ dạng .EXE nhập vào từ bàn phím 2 số nguyên 0<=a, b<=9. Tính tổng a+b và hiển thị kết quả ra màn hình. dụ: a=4, b=5, tổng là: 9; a=6, b=7, tổng là: 13. .model small .stack 100h .data x1 db 10,13, 'Nhap a=$' x2 db 10,13, 'Nhap b=$' x3 db 10,13, 'Tong a+b= $' .code main proc mov ax,@data mov ds,ax mov ah,9 lea dx,x1 int 21h nhapa: mov ah,1 int 21h cmp al,'0' jb nhapa cmp al,'9' ja nhapa mov bl,al nhapb: mov ah,1 int 21h cmp al,'0' jb nhapb cmp al,'9' ja nhap add bl,al sub bl,30h mov ah,9 lea dx,x3 int 21h cmp bl,'9' ja lonhon9 mov ah,2 mov dl,bl int 21h jmp kthuc lonhon9: mov ah,2 mov dl,'1' int 21h sub bl,10 mov dl,bl int 21h kthuc: mov ah,4ch int 21h main endp end main 2. Viết chương trình hợp ngữ dạng .EXE nhập vào từ bàn phím 2 số nguyên 0<=a, b<=9. Tính hiệu a-b và hiển thị kết quả ra màn hình. dụ: a=8, b=5, hiệu là: 3; a=4, b=7, hiệu là: -3. .model small .stack 100h .data x1 db 10,13, 'Nhap a=$' x2 db 10,13, 'Nhap b=$' x3 db 10,13, 'Hieu a- b= $' .code main proc mov ax,@data mov ds,ax mov ah,9 lea dx,x1 int 21h nhapa: mov ah,1 int 21h cmp al,'0' jb nhapa cmp al,'9' ja nhapa mov bl,al nhapb: mov ah,1 int 21h cmp al,'0' jb nhapb cmp al,'9' ja nhapb mov cl,al mov ah,9 lea dx,x3 int 21h cmp bl,cl jae lonhon mov ah,2 mov dl,'-' int 21h xchg bl,cl lonhon: sub bl,cl mov ah,2 mov dl,bl int 21h mov ah,4ch int 21h main endp end main .model tiny .stack 100h .data tb1 db 'Nhap a=$' tb2 db 10,13, 'Nhap b=$' tb3 db 10,13, 'Hieu 2 so da nhap la: $' .code main proc mov ah,9 lea dx,tb1 int 21h mov ah,1 int 21h mov bl,al mov ah,9 lea dx,tb2 int 21h mov ah,1 int 21h mov cl,al mov ah,9 lea dx,tb3 int 21h cmp bl,cl jae thoat xchg bl,cl mov ah,2 mov dl,'-' int 21h thoat: sub bl,cl add bl,30h mov ah,2 mov dl,bl int 21h mov ah,4ch int 21h main endp end main 3. Viết chương trình hợp ngữ dạng .EXE nhập vào từ bàn phím 1 chữ số Hecxa từ A->F (chữ in hoa), hãy in ra màn hình số thập phân tương ứng. Nếu nhập sai : Yêu cầu nhập lại. dụ : Nhập vào A, số thập phân tương ứng là 10. .model tiny .stack 100h .data tb1 db 10, 13, 'Nhap chu so Hecxa (kt) = $' tb2 db 10, 13, 'So thap phan tuong ung la: $' .code main proc mov ax,@data mov ds,ax nhap: Mov ah,9 lea dx,tb1 int 21h mov ah,1 int 21h cmp al,'A' jb nhap cmp al,'F' ja nhap sub al,11h mov bl,al mov ah,9 lea dx,tb2 int 21h mov ah,2 mov dl,'1' int 21h mov dl,bl int 21h mov ah,4ch int 21h main endp end main 4. Viết chương trình hợp ngữ dạng .EXE nhập vào từ bàn phím 1 chữ số Hecxa từ a->f (chữ thường), hãy in ra màn hình số thập phân tương ứng. Nếu nhập sai : Yêu cầu nhập lại. dụ : Nhập vào a, số thập phân tương ứng là 10. .model tiny .stack 100h .data tb1 db 10, 13, 'Nhap chu so Hecxa (kt) = $' tb2 db 10, 13, 'So thap phan tuong ung la: $' .code main proc mov ax,@data mov ds,ax nhap: Mov ah,9 lea dx,tb1 int 21h mov ah,1 int 21h cmp al,'a' jb nhap cmp al,'f' ja nhap sub al,11h mov bl,al mov ah,9 lea dx,tb2 int 21h mov ah,2 mov dl,'1' int 21h mov dl,bl int 21h mov ah,4ch int 21h main endp end main 5. Viết chương trình hợp ngữ dạng .EXE nhập vào từ bàn phím 1 chữ số. Nếu nhập sai yêu cầu nhập lại. Hãy xác định đó là số chẵn hay số lẻ và thông báo kết quả ra màn hình ? .model tiny .stack 100h .data debai db 10,13, 'Kiem tra tinh chan le cua 1 ky tu so$' tb1 db 10,13, 'Nhap ky tu so can kiem tra (kt):$' tb2 db 10,13, 'Do la so chan$' tb3 db 10,13, 'Do la so le$' tb4 db 10,13, 'Hay nhap lai voi (0<=kt<=9)$' .code main proc mov ah,9 lea dx,debai int 21h mov ah,9 lea dx,tb1 int 21h nhap: mov ah,1 int 21h cmp al,'0' jb nhap cmp al,'9' ja nhap and ax,000fh shr ax,1 jc le mov ah,9 lea dx,tb2 int 21h jmp kt le: mov ah,9 lea dx,tb3 int 21h kt: mov ah,4ch int 21h main endp end main 6. Viết chương trình hợp ngữ dạng .EXE nhập vào từ bàn phím 2 số a, b (0<=a, b<=9). Hãy tính trung bình cộng của chúng. dụ : a=5, b=4, TBC=4.5 ; a=5, b=7, TBC=6.0. .model tiny .stack 100h .data x1 db 'Nhap a:$' x2 db 'Nhap b:$' x3 db 'Trung binh cua a va b la:$' x4 db '.5$' x5 db '.0$' .code main proc mov ah,9 lea dx,x1 int 21h nhapa: mov ah,1 int 21h cmp al,'0' jb nhapa cmp al,'9' ja nhapa sub al,30h mov bl,al mov ah,9 lea dx,x2 int 21h nhapb: mov ah,1 int 21h cmp al,'0' jb nhapb cmp al,'9' ja nhapb sub al,30h add bl,al mov ah,9 lea dx,x3 int 21h mov cl,bl shr cl,1 mov ah,2 mov dl,cl add dl,30h int 21h mov dl,'.' int 21h shr bl,1 jc le mov ah,2 mov dl,'0' int 21h jmp kt le: mov ah,2 mov dl,'5' int 21h kt: mov ah,4ch int 21h main endp end main 7. Cho AX chứa 1 số nguyên không dấu nằm trong phạm vi 0 ÷ 65535. Viết chương trình hợp ngữ dạng .EXE in số đó ra màn hình theo chiều ngược lại. dụ : AX=12345. In ngược lại là : 54321. .model tiny .stack 100h .data ;debai db 10,13, 'In day so 12345 nguoc lai la:$' .code main proc ;mov ah,9 ;lea dx,debai ;int 21h ;mov ax,12345 mov bx,10 mov cx,0 lap: xor dx,dx div bx push ax mov ah,2 or dl,30h int 21h pop ax cmp ax,0 ja lap mov ah,4ch int 21h main endp end main 8. Cho AX chứa 1 số nguyên không dấu nằm trong phạm vi 0 ÷ 65535. Viết chương trình hợp ngữ dạng .EXE kiểm tra xem số trong AX có phải là số đối xứng không. dụ : AX=12321. Hiển thị ra màn hình là : Là số đối xứng. .model small .stack 100h .data X1 db 'la so doi xung$' X2 db 'la so khong doi xung$' .code main proc mov ax,@data mov ds,ax mov es,ax push ax mov bx,0 mov cx,10 daoso: push ax mov ax,10 mul bx mov bx,ax mov dx,0 pop ax div cx add bx,dx cmp ax,0 jne daoso push ax cmp ax,bx je doixung mov ah ,9 lea dx,x2 int 21h jmp kt doixung: mov ah ,9 lea dx,x1 int 21h kt: mov ah,4ch int 21h main endp end main 9. Viết chương trình hợp ngữ dạng .EXE nhập 1 ký tự bất kỳ từ bàn phím. Hãy in mã ASCII của nó ở dạng nhị phân. dụ : Ký tự là : A, Mã ASCII dạng nhị phân là : 01000001b. .model tiny .stack 100h .data x1 db 10,13, 'Nhap mot ky tu:$' x2 db 10,13, 'Ma ASII o dang nhi phan la:$' n db ? .code main proc mov ah,9 lea dx,x1 int 21h mov ah,1 int 21h mov bl,al mov ah,9 lea dx,x2 int 21h mov cx,8 mov n,0 lap: shl bl,1 inc n jc inso1 mov ah,2 mov dl,'0' int 21h jmp nhay inso1: mov ah,2 mov dl,'1' int 21h nhay: cmp n,4 jb tiep mov ah,2 mov dl,20h int 21h mov n,0 tiep: loop lap mov ah,2 mov dl,'b' int 21h mov ah,4ch int 21h main endp end main 10. Viết chương trình hợp ngữ dạng .EXE nhập 1 ký tự bất kỳ từ bàn phím. Hãy in mã ASCII của nó ở dạng Hecxa. dụ : Ký tự là : A, Mã ASCII dạng Hexa là : 41h. (chú thích : nhập vào A<=kt<F đổi sang ASCII dạng Hexa) .model small .stack 100h .data x1 db 10,13, 'Nhap mot ky tu:$' x2 db 10,13, 'Ma ASCII o dang Hexa la:$' .code main proc mov ah,9 lea dx,x1 int 21h mov ah,1 int 21h mov bl,al mov ah,9 lea dx,x2 int 21h mov al,bl mov cl,4 shr al,cl cmp al,9 jbe inra add al,7 inra: mov dl,al add dl,30h mov ah,2 int 21h and bl,0fh cmp bl,9 jbe inra1 add al,7 inra1: mov dl,bl add dl,30h mov ah,2 int 21h mov ah,2 mov dl,'h' int 21h mov ah,4ch int 21h main endp end main 11. Viết chương trình hợp ngữ dạng .EXE nhập 1 ký tự bất kỳ từ bàn phím. Hãy in mã ASCII của nó ở dạng thập phân. dụ : Ký tự là : A, Mã ASCII dạng thập phân là : 65d. (In ra 13d … ???) .model small .stack 100h .data x1 db 13,10, 'Nhap mot ky tu bat ky:$' x2 db 13,10, 'Ma ascii cua ky tu vua nhap duoi dang thap phan:$' .code main proc mov ax,@data mov ds,ax nhaplai: mov ah,9 lea dx,x1 int 21h mov ah,1 int 21h mov ah,7 int 21h mov bl,al mov ah,9 lea dx,x2 int 21h mov cx,8 mov ax,0 mov dx,1 tp: shr bl,1 jnc tiep add ax,dx tiep: shl dx,1 loop tp mov bx,10 chia: xor dx,dx div bx push dx inc cx cmp ax,0 jne chia mov ah,2 hthi: pop dx add dx,30h int 21h loop hthi mov ah,2 mov dl,'d' int 21h mov ah,4ch int 21h main endp end main 12. Cho BX chứa một số nhị phân 16bit (VD : BX=1100 0011 1011 0110b). Viết chương trình hợp ngữ dạng .EXE in ra màn hình nội dung trong thanh ghi BX ra dạng Hexa. (Ví dụ : Dạng hexa là : C3B6h) .model small .stack 100h .data x1 db 'Ma hecxa:$' .code main proc mov ah,9 lea dx,x1 int 21h push bx mov cl,12 shr bx,cl call hien pop bx push bx mov cl,8 shr bx,cl and bx,000fh call hien pop bx push bx mov cl,4 shr bx,cl and bx,000fh call hien pop bx and bx,000fh call hien mov ah,4ch int 21h hien proc push ax push bx push dx cmp bx,9 jbe chuso add bx,7 chuso: mov dx,bx mov ah,2 add dx,30h int 21h pop dx pop ax pop ax ret hien endp end hien mov ah,4ch int 21h main endp end main 13. Cho BX chứa một số nhị phân 16bit (VD : BX=1100 0011 1011 0110b). Viết chương trình hợp ngữ dạng .EXE in ra màn hình nội dung trong thanh ghi BX ra dạng thập phân. (Ví dụ : Dạng thập phân là : 50102d) .model tiny .stack 100h .data x1 db 'Ma thap phan:$' .code main proc mov ah,9 lea dx,x1 int 21h mov cx,16 mov ax,0 mov dx,1 tiep: shr bx,1 jnc tinhmu add ax,dx tinhmu: shl dx,1 jmp tiep mov bx,10 mov cx,0 chia: xor dx,dx div bx push dx inc cx cmp ax,0 jne chia mov ah,2 pop dx add dl,30h int 21h kt: mov ah,4ch int 21h main endp end main 14. Cho BX chứa 1 số Hexa 4 chữ số (VD : BX = A3B4h). Viết chương trình hợp ngữ dạng .EXE in BX ra màn hình dạng nhị phân, mỗi nhóm 4 bit cách nhau 1 dấu trống. dụ : Dạng nhị phân là : 1010 0011 1011 0100b. .model tiny .stack 100h .data debai db 10,13, 'In a3b4h sang dang nhi phan:$' n db ? .code main proc mov ah,9 lea dx,debai int 21h mov bx,0a3b4h mov cx,16 mov ah,2 mov n,0 lap: shl bx,1 inc n jc inso1 mov dl,'0' jmp inra inso1: mov dl,'1' inra: int 21h cmp n,4 jb tiep mov ah,2 mov dl,20h int 21h mov n,0 tiep: loop lap mov dl,'b' mov ah,2 int 21h mov ah,4ch int 21h main endp end main 15. Cho BX chứa 1 số Hexa 4 chữ số (VD : BX = A3B4h). Viết chương trình hợp ngữ dạng .EXE in BX ra màn hình dạng thập phân. dụ : Dạng thập phân là : 41908d. 16. Cho AX chứa 1 số nguyên có dấu nằm trong phạm vi -32768 ÷ 32767. Viết chương trình hợp ngữ dạng .EXE in AX ra màn hình ở dạng thập phân. dụ : AX = 1234, In ra AX =1234, AX= - 1234. In ra : AX= -1234. .model tiny .stack 100h .data x1 db 10,30, 'Xau trong AX la:$' .code main proc mov ah,9 lea dx,x1 int 21h mov ax,-12345 ;hay ax=12345 or ax,ax jns duong push ax mov ah,2 mov dl,'-' int 21h pop ax neg ax duong: mov bx,10 xor cx,cx chiatiep: xor dx,dx div bx push dx inc cx cmp ax,0 ja chiatiep mov ah,2 inra: pop dx or dl,30h int 21h loop inra pop dx pop cx pop bx pop ax mov ah,4ch int 21h main endp end main 17. Cho một xâu ký tự S, viết chương trình hợp ngữ dạng .EXE tạo ra xâu S1 là xâu đảo ngược của xâu S và in xâu S1 ra màn hình. .model small .stack 100h .data s db 80 dup(?) s1 db 80 dup(?) x1 db "Xau dao cua S la:$" .code main proc mov ax, @data mov ds,ax mov es,ax mov cx,0 lea si,s cld lap: lodsb cmp al,'$' je tiep inc cx jmp lap tiep: sub si,2 lea di,s1 cld dao: lodsb stosb sub si,2 loop dao mov al,'$' stosb mov ah,9 lea dx,x1 int 21h lea dx,s1 int 21h mov ah, 4ch int 21h main endp end main 18. Cho 2 xâu ký tự S1, S2, viết chương trình hợp ngữ dạng .EXE kiểm tra xem xâu S1 và xâu S2 có bằng nhau không? Hiển thị kết quả ra màn hình. .model small .stack 100h .data tb1 db 'Xau S1 bang S2$' tb2 db 'Xau S1khong bang S2$' s1 db 'duch$' s2 db 'duch$' .code main proc mov ax,@data mov ds,ax mov es,ax mov cx,0 lea si,s1 cld dems1: lodsb cmp al,'$' je tiep inc cx jmp dems1 tiep: mov dx,0 lea si,s2 cld dems2: lodsb cmp al,'$' je ss1 inc dx jmp dems2 ss1: cmp cx,dx jne kbang lea si,s1 lea di,s2 cld repe cmpsb cmp cx,0 jne kbang mov ah,9 lea dx,tb1 int 21h jmp kt kbang: mov ah,9 lea dx,tb2 int 21h kt: mov ah,4ch int 21h main endp end main 19. Cho xâu ký tự S, viết chương trình hợp ngữ dạng .EXE kiểm tra xem xâu S có phải là xâu đối xứng hay không? Hiển thị kết quả ra màn hình. .model small .stack 100h .data s db 'AbbA$' s1 db 80 dup(?) x1 db 13,10, 'xau doi xung$' x2 db 13,10, 'khong doi xung$' .code main proc mov ax,@data mov ds,ax mov es,ax mov cx,0 lea si,s cld cuoixau: lodsb cmp al,'$' je daoxau inc cx jmp cuoixau daoxau: sub si,2 lea di,s1 push cx std ;cld xaudao: lodsb;lay 1 ki tu trong xau ra AL stosb; nap vao s1 add di,2 loop xaudao lea si,s lea di,s1 cld pop cx ssdx: cmpsb jne kdx loop ssdx mov ah,9 lea dx,x1 int 21h jmp ketthuc kdx: mov ah,9 lea dx,x2 int 21h ketthuc: mov ah,4ch int 21h main endp end main 20. Cho xâu ký tự S, viết chương trình hợp ngữ dạng .EXE đếm số ký tự là chữ số có trong S. Hiển thị kết quả ra màn hình. .model small .stack 100h .data s db 'ha noi2013$' x1 db 13,10, 'So ky tu la chu so trong xau=$' .code main proc mov ax,@data mov ds,ax mov es,ax mov cx,0 lea si,s cld dem: lodsb cmp al,'$' je inra cmp al,'0' jb dem cmp al,'9' ja dem inc cx jmp dem inra: lea dx,x1 mov ah,9 int 21h xor ax,ax mov ax,cx xor cx,cx mov bx,10 ;xor ax,ax ;mov ax,cx ;xor cx,cx ;xor bx,bx ;mov bx,10 chia: xor dx,dx div bx push dx inc cx cmp ax,0 jne chia mov ah,2 hthi: pop dx add dx,30h int 21h loop hthi mov ah,4ch int 21h main endp end main 21. Cho xâu ký tự S, viết chương trình hợp ngữ dạng .EXE nhập từ bàn phím một ký tự ch và kiểm tra xem ch có trong xâu S hay không? Nếu ký tự ch có trong xâu S thì hiển thị ra màn hình vị trí đầu tiên xuất hiện ký tự trong xâu S. .model small .stack 100h .data s db 'tran duc hanh';db 100 dup(0) x1 db 10,13, 'Nhap ch: $' x2 db 'Khong xuat hien$' x3 db 10,13, 'Xuat hien$' x4 db 10,13, 'Vi tri xuat hien dau tien trong xau:$' .code main proc mov ax,@data mov ds,ax mov es,ax lea dx,x1 mov ah,9 int 21h mov ah,1 int 21h mov bl,al lea si,s cld lap: lodsb cmp al,bl je kq1 cmp al,'$' je kq2 jmp lap kq1: lea dx,x3 mov ah,9 int 21h lea dx,x4 mov ah,9 int 21h mov ax,si mov bx,10 mov cx,0 chia: xor dx,dx div bx push dx inc cx cmp ax,0 jne chia mov ah,2 lap1: pop dx add dx,30h int 21h loop lap1 jmp thoat kq2: lea dx,x2 mov ah,9 int 21h thoat: mov ah,4ch int 21h main endp end main 22. Cho xâu ký tự S, viết chương trình hợp ngữ dạng .EXE đếm số lượng các chữ cái thường có trong xâu S. Hiển thị kết quả ra màn hình. .model small .stack 100h .data s db 'ha noi2013$' x1 db 13,10, 'So ky tu la chu so trong xau=$' .code main proc mov ax,@data mov ds,ax mov es,ax mov cx,0 lea si,s cld dem: lodsb cmp al,'$' je inra cmp al,'a' jb dem cmp al,'z' ja dem inc cx jmp dem inra: lea dx,x1 mov ah,9 int 21h xor ax,ax mov ax,cx xor cx,cx mov bx,10 ;xor ax,ax ;mov ax,cx ;xor cx,cx ;xor bx,bx ;mov bx,10 chia: xor dx,dx div bx push dx inc cx cmp ax,0 jne chia mov ah,2 hthi: pop dx add dx,30h int 21h loop hthi mov ah,4ch int 21h main endp end main 23. Cho xâu ký tự S, viết chương trình hợp ngữ dạng .EXE tính tổng của các ký tự số có trong xâu S và lưu kết quả vào thanh ghi BX. .model small .stack 100h .data s db 'ha noi2013&' x1 db 13,10, 'So ky tu la chu so trong xau=$' .code main proc mov ax,@data mov ds,ax mov es,ax mov cx,0 mov bx,0 lea si,s cld dem: lodsb cmp al,'$' je inra cmp al,'0' jb dem cmp al,'9' ja dem and al,0fh add bx,ax inc cx jmp dem inra: lea dx,x1 mov ah,9 int 21h mov ax,bx mov bx,10 mov cx,0 chia: xor dx,dx div bx push dx inc cx cmp ax,0 jne chia mov ah,2 hthi: pop dx add dx,30h int 21h loop hthi mov ah,4ch int 21h main endp end main 24. Cho 2 xâu ký tự S1 và S2, viết chương trình hợp ngữ dạng .EXE so sánh hai xâu S1 và S2. Hiển thị kết quả so sánh ra màn hình. .model small .stack 100h .data x3 db 'S1=S2$' x4 db 'S1>S2$' x5 db 'S1<S2$' l1 dw ? l2 dw ? s1 db ‘abc$' s2 db 'abc$' .code main proc mov ax,@data mov ds,ax mov es,ax mov cx,0 lea si,s1 cld dems1: lodsb cmp al,'$' je dems2 inc cx jmp dems1 mov l1,cx dems2: mov cx,0 lea si,s2 cld dem: lodsb cmp al,'$' je ss1 inc cx jmp dem mov l2,cx ss1: cmp cx,l1 je bangnhau jb tiep ; mov cx,l1 tiep: lea si,s1 lea di,s2 cld repe cmpsb mov cx,0 je kq1 sub si,1 lodsb mov bl,al sub si,1 mov ax,si lea si,s2 add si,ax lodsb cmp bl,al ja s1lh lea dx, x5 mov ah,9 int 21h jmp kt s1lh: lea dx, x4 mov ah,9 int 21h jmp kt kq1: mov cx,l1 cmp cx,l2 ja xaulons1 lea dx, x5 mov ah,9 int 21h jmp kt xaulons1: lea dx, x4 mov ah,9 int 21h jmp kt bangnhau: lea dx, x3 mov ah,9 int 21h kt: mov ah,4ch int 21h main endp end main 25. Cho 2 xâu ký tự S1 và S2, viết chương trình hợp ngữ dạng .EXE nối xâu S2 vào sau xâu S1.Hiển thị xâu S1 ra màn hình. .model small .stack 100h .data x1 db 'Xau so khi noi la:$' s1 db 'abc$' s2 db 'abc$' .code main proc mov ax,@data mov ds,ax mov es,ax mov cx,0 lea si,s1 cld tim: lodsb cmp ah,'$' jne tim mov di,si sub di,1 lea si,s2 cld noixau: lodsb cmp al,'$' je inxau stosb jmp noixau inxau: stosb mov ah,9 lea dx,x1 int 21h lea dx,s1 int 21h mov ah,4ch int 21h main endp end main 26. Cho xâu ký tự S, viết chương trình hợp ngữ dạng .EXE chèn ký tự ch vào trong xâu S tại vị trí k với ký tự ch và số nguyên k được nhập vào từ bàn phím (1<k<length(ch)). .model small .stack 100h .data l dw ? k dw ? x1 db 10,13,' nhap ch: $' x2 db 10,13,' nhap k:$' x3 db 10,13,' ky tu sau khi da chen la:$' s1 db 'duc hanh$' s db ? .code main proc nhapk proc push ax push dx nhaplai: mov bx,0 _nhap: mov ah,1 int 21h cmp al,0dh je _nhap ;je _ktnhap and ax,000fh push ax mov ax,10 mul bx cmp dx,0 jne nhaplai cmp ax,cx ja nhaplai pop bx add bx,ax jc nhaplai cmp bx,cx ja nhaplai jmp _nhap cmp bx,1 jbe nhaplai pop dx pop ax ret nhapk endp end nhapk mov ax,@data mov ds,ax mov es,ax mov cx,0 lea si,s1 cld dem: lodsb cmp al,'$' je nhap inc cx jmp dem mov l,cx mov ah,9 lea dx,x2 int 21h nhap: mov ah,1 int 21h cmp al,1 jbe nhap cmp ax,cx ja nhap call nhapk mov k,bx mov ah,9 lea dx,x1 int 21h mov ah,1 int 21h mov bl,al sub cx,1 mov di,l mov si,l std daykytu: lodsb stosb cmp si,k jae daykytu mov al,bl stosb mov ah,9 lea dx,x3 int 21h lea dx,s int 21h mov ah,4ch int 21h main endp end main . A3B4h). Vi t chương trình hợp ngữ dạng .EXE in BX ra màn hình dạng thập phân. Ví dụ : Dạng thập phân là : 41908d. 16. Cho AX chứa 1 số nguyên có dấu nằm trong phạm vi -32768 ÷ 32767. Vi t. ah,4ch int 21h main endp end main 8. Cho AX chứa 1 số nguyên không dấu nằm trong phạm vi 0 ÷ 65535. Vi t chương trình hợp ngữ dạng .EXE kiểm tra xem số trong AX có phải là số đối xứng. ah,4ch int 21h main endp end main 7. Cho AX chứa 1 số nguyên không dấu nằm trong phạm vi 0 ÷ 65535. Vi t chương trình hợp ngữ dạng .EXE in số đó ra màn hình theo chiều ngược lại. Ví dụ

Ngày đăng: 17/04/2014, 17:54

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan