BAI TAP MON LAP TRINH HOP NGU

Tuyển tập những bài tập Assembly tinh lọc về Lập trình Hợp ngữ cho các bạn sinch viên có thêm kiến thức về lập trình sẵn, nâng cao tài năng làm cho bài bác tập với học xuất sắc.


*

Trang 1 Tuyển tập những bài xích tập Assembly tinh lọc sử dụng cho hệ kỹ sư TinDự kiến những bài xích soát sổ thực hành thực tế đem điểm vào giữa kỳ (Từ câu 1 cho câu 12) 1.

Bạn đang xem: Bai tap mon lap trinh hop ngu

Tính tổng a+b=10 3. Hiệu a-b>=0 4. Hiệu a-bF in ra thập phân 10. Nhập a->f in ra thập phân 11. Kiểm tra số chẵn lẻ 12. In một số ngược 13. Nhập một ký kết từ. Hãy in mã ASCII của chính nó ngơi nghỉ dạng nhị phân. Ví dụ: Ký tự là: A, Mã ASCII dạng nhị phân là: 0100 0001. 14. Nhập một ký kết từ bỏ. Hãy in mã ASCII của nó ở dạng Hexa. Ví dụ: Ký tự là: A, Mã ASCII dạng Hexa: 41h 15. Cho AX chứa một số ít nguyên ổn tuỳ ý bao gồm kiểu dáng 2B không vết sống dạng thập phân(SV trường đoản cú cho). Hãy in số đó theo hướng ngược chở lại. Ví dụ: AX = 12345. In ngược lại là: 54321 16.

Xem thêm: Điện Thoại Oppo A92S Màu Hồng Giá Bao Nhiêu : Có 4 Camera Vuông, 3 Màu Sắc

Cho AX cất một số ít nguyên 2B có lốt. Hãy in AX ra sinh hoạt dạng thập phân. Ví dụ: AX =1234, In ra AX =1234. AX =-1234. In ra: AX =-1234. 17. Cho BX cất một số Hexa 4 chữ số (VD: BX = A3B4h). Hãy in BX ra dạng Hexa. 18. Cho BX chứa 1 số Hexa 4 chữ số (VD: BX = A3B4h). Hãy in BX ra dạng nhị phân, từng đội 4 bit bí quyết nhau 1 vệt trống. Ví dụ: Dạng nhị phân là: 1010 0011 1011 0100 19. Nhập lệ 1 số ít nhị phân tối đa 16 bit. Hãy in số nhị phân đó sống chiếc sau cùng với những bit gồm nghĩa. Ví dụ: Nhập: 10110101, In ra: 1011 0101. Nhập 00110110, In ra: 110110. 20. Hãy tính N! cùng với 1Trang 2 24. Nhập 1Trang 3 Mov ah,9 Mov ah,9 tb3 db 10, 13, "Hay nhap lea dx,tb1 lea dx,tb1 lai voi ( A Trang 4 Code Ends sub bl,31h End Start int 20h thoat3: Code Ends Mov ah,9Câu 4: Kiểm tra tính chẳn lẻ End Start lea dx,tb2của chữ số int 21hCode Segment Câu 5: In theo thiết bị từ bỏ bảng mov ah,2Assume cs: Code mã ASCII: mov dl,blOrg 100h Code Segment int 21hStart: jmp over Assume cs: Code tb1 db 10, 13, "Nhap ki tu Org 100h int 20hso kt = $" Start: jmp over Code Ends tb2 db 10, 13, "Do la so tb1 db "Nhap ki tu thu 1 : $" End Startchan $" tb2 db 10, 13, "Nhap ki tu tb3 db 10, 13, "Do la so le$" thu 2 : $" Câu 6: In tmùi hương - dư của tb4 db 10, 13, "Hay nhap tb3 db 10, 13, "Thu tu bang BL:lai voi ( 0 Trang 5loi: mov ah,9 mov ah,9 int 21h lea dx,tb4 lea dx,tb3 sub al,30h int 21h int 21h jmp nhap lap: sub bl,al cmp bl,cl cmp bl,alinra: Test bl,1 ja nhay inh cl jne sole lap: ja lap mov ah,9 mov ah,2 lea dx,tb2 mov dl,bl add bl,30h jmp thoat int 21h add cl,30h mov dl,cl mov ah,9sole: mov ah,9 int 21h lea dx,tb2 lea dx,tb3 jmp thoat int 21h nhay: mov ah,2thoat: int 21h xchg bl,cl mov dl,cl int 20h jmp lap int 21h Code Ends thoat: End Start int 20h mov ah,9 Code Ends lea dx,tb3 End Start int 21h mov ah,2Câu 7: In bảng mã ASCII mlàm việc Câu 8: Tính TB cộng 2 số ab: mov dl,blrộng: Code Segment int 21h Assume cs: CodeCode Segment Org 100h int 20hAssume cs: Code Start: jmp over Code EndsOrg 100h x1 db "Nhap a = $" End StartStart: jmp over x2 db 10, 13, "Nhap b = $" tb1 db "Ma ASCII mo rong x3 db 10, 13, "TBC cua a Câu 9: In dãy kí tựtu 128 -> 255 $" va b la: $" Code Segment tb2 db " $" x4 db ".5$" Assume cs: Code tb3 db 10, 13, "$" x5 db ".0$" Org 100h over: over: Start: jmp overTrang 6 Mov ah,9 x1 db "Nhap 1 day ky tu $" Mov ah,9 lea dx,x1 x2 db 10, 13, "$" lea dx,tb1 int 21h over: int 21h mov ah,1 Mov ah,9 mov ah,9 int 21h lea dx,x1 lea dx,tb3 mov bl,al int 21h int 21h mov ah,9 Mov ah,9 mov cx,127 lea dx,x2 lea dx,x2 mov bl,128 int 21h int 21h mov Bảo hành,0 mov ah,1 lai: mov ah,8 int 21h int 21hlap: mov ah,2 add bl,al mov bl,al mov dl,bl sub bl,60h cmp bl,27 int 21h je thoat mov cl,bl mov ah,9 shr cl,1 cmp bl," " lea dx,tb2 add cl,30h je inra int 21h cmp bl,13 mov ah,9 je xuongdong inc bl lea dx,x3 inh Bảo Hành int 21h cmp bl,"A" cmp BH,9 jb lai jbe ntuyệt mov ah,2 cmp bl,"Z" mov dl,cl ja chuthuong mov ah,9 int 21h jmp inra lea dx,tb3 chuthuong: int 21h chạy thử bl,1 cmp bl,"a" jne sole jb lai mov Bảo hành,0 mov ah,9 cmp bl,"z"nhay: loop lap lea dx,x5 ja laiTrang 7 int 21h inra: int 20h jmp thoat mov ah,2 Code Ends sole: mov dl,bl End Start mov ah,9 int 21h lea dx,x4 jmp laiCâu 10: Đổi mã cam kết từ từ bỏ mã int 21h xuongdong:ASCII ra nhị phân: thoat: mov ah,9Code Segment int 20h lea dx,x2Assume cs: Code Code Ends int 21hOrg 100h End Start jmp laiStart: jmp over thoat: x1 db "Nhap 1 ky tu $" Câu 11: Nhập cam kết trường đoản cú in ra mã int 20h x2 db 10, 13, "Ma ASCII o ASCII dạng Hecxa: Code Endsdang nhi phan la $" Code Segment End Start n db ? Assume cs: Code over: Org 100h Câu 12: In ngược số 12345 Start: jmp over Code Segment Mov ah,9 x1 db "Nhap 1 ky tu $" Assume cs: Code lea dx,x1 x2 db 10, 13, "Ma ASCII o Org 100h int 21h dang Hecxa la $" Start: over: mov ax,12345 mov ah,1 Mov ah,9 mov bx,10 int 21h lea dx,x1 mov cx,0 mov bl,al int 21h lap: xor dx,dx div bx mov ah,9 mov ah,1 push ax lea dx,x2 int 21h mov ah,2 int 21h mov bl,al or dl,30h int 21h mov cx,8 mov ah,9 pop ax mov n,0 lea dx,x2 cmp ax,0lap: shl bl,1 int 21h ja lap inh nTrang 8 jc inso1 cmp bl,"9" int 20h mov ah,2 jbe inra Code Ends mov dl,"0" End Start int 21h mov ah,2 jmp nhay mov dl,"4" Câu 15: In dạng nhị phân int 21h Code Segmentinso1: mov ah,2 Assume cs: Code mov dl,"1" cmp bl,"a" Org 100h int 21h jae tiep Start: jmp over sub bl,10h n db ?nhay: cmp n,4 jmp inra over: jb tiep tiep: sub bl,30h mov bx,0a3b4h mov ah,2 inra: mov ah,2 mov cx,16 mov dl," " mov dl,bl mov ah,2 int 21h int 21h mov n,0 mov n,0 mov ah,2 lap: shl bx,1 mov dl,"h" inch ntiep: loop lap int 21h jc inso1 mov dl,"0" int 20h jmp inra Code Ends int 20h inso1: mov dl,"1" End Start Code Ends inra: int 21hCâu 13: In số nguyên ổn End Start cmp n,4Code Segment jb tiepAssume cs: Code Câu 14: In số Hecxa mov ah,2Org 100h Code Segment mov dl," "Start: Assume cs: Code int 21h mov ax,-12345 ;tuyệt Org 100h mov n,0ax=12345 Start: tiep: loop lap or ax,ax mov bx,0a3b4h jns duong mov cx,4 push ax lap: xor dx,dx int 20h mov ah,2 quaytiep: Code EndsTrang 9 mov dl,"-" shl bx,1 End Start int 21h rcl dl,1 pop ax inh dh Câu 18: Tìm số bự vào 2 neg ax cmp dh,4 Word:duong: jb quaytiep Max Macro w1 ,w2 mov bx,10 Local qua xor cx,cx cmp dl,9 Mov ax,w1chiatiep: ja chucai cmp ax,w2 xor dx,dx or dl,30h jae qua div bx jmp inra mov ax,w2 push dx chucai: qua: inch cx add dl,37h endM cmp ax,0 inra: mov ah,2 Code Segment ja chiatiep int 21h Assume cs: Code mov ah,2 loop lap Org 100hinra: pop dx int 20h Start: jmp over or dl,30h Code Ends x1 db 10, 13, "So lon la: $" int 21h End Start a dw 2345 loop inra b dw 4567 pop dx cx bx ax Câu 17: Tính tổ hợp chập k over: của n: Mov ah,9 int 20h Giai_thảm bại Macro n lea dx,x1 Code Ends Local nhan int 21h End Start Mov bx,n Max a,b and bx,000fh ; Doi thanh Gọi in_soCâu 16: Tính n! soGiai_đại bại Macro n mov ax,1 int 20h Local nhan nhan: mul bx Include proc.asm Mov bx,n dec bx Code Ends and bx,000fh cmp bx,1 End Start mov ax,1 ja nhannhan: mul bx EndM Câu 21: Tìm ước tầm thường phệ dec bx Code segment nhất:Trang 10 cmp bx,1 Assume Cs:Code Include Mylib.mac ja nhan Org 100h Code SegmentEndM Start: Jmp over Assume CS : CodeCode segment x1 db "Nhap n = $" Org 100hAssume Cs:Code x2 db 10, 13, "Nhap k = $" Start :Org 100h x3 db 10, 13, "To hop chap