Bài 6.5. Viết CT nhập vào 1 ký tự hoa. In ra ký tự thường
Ví dụ:
Moi ban nhap 1 ky tu: B
Ky tu thường: b
===================== Giải 6.5 ========================
.MODEL small
.STACK 100h
.DATA
Msg1 DB 13,10,"Moi ban nhap 1 ki tu: $"
Msg2 DB 13,10,"Ki tu thuong : $"
KTT DB ?
.CODE
; lay dia chi data dua vao DS
MOV AX,@data
MOV DS,AX
; xuat Msg1
MOV AH,9
MOV DX,offset Msg1
INT 21h
8 trang |
Chia sẻ: maiphuongdc | Lượt xem: 1768 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Bài tập thực hành Assembler 6, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bài tập thực hành Assembler 6
Bài 6.1. Viết CT nhập vào 1 ký tự, xuất ra ký tự đóVí dụ:Moi ban nhap 1 ky tu: bKy tu vừa nhập: b
Bài 6.2. Viết chương trình xuất ra màn hình một số dòng.Ví dụ:De chay duoc 1 CT hop ngu ban can thuc hien cac buoc sau:Dich file ASM thanh file OBJLien ket file OBJ thanh file EXEChay file EXEBài 6.3. Viết CT nhập vào 1 ký tự, xuất ra ký tự liền trước và liền sau.Ví dụ:Moi ban nhap 1 ky tu: bKy tu lien truoc: aKy tu lien sau: cBài 6.4. Viết CT nhập vào 1 ký tự thường. In ra ký tự HoaVí dụ:Moi ban nhap 1 ky tu: bKy tu Hoa: BBài 6.5. Viết CT nhập vào 1 ký tự hoa. In ra ký tự thườngVí dụ:Moi ban nhap 1 ky tu: BKy tu thường: bBài 6.6. Viết chương trình nhập vào 2 số nguyên dương x1, x2 (1 £ x2 < x1 < 9). Xuất ra kết quả các phép tính: x1-1, x1 +2, x1+x2, x1-x2Ví dụ:x1 = 5x2 = 3x1 – 1 = 4x1 + 1 = 6x1 + x2 = 8x1 – x2 = 7
Bài 6.1. Viết CT nhập vào 1 ký tự, xuất ra ký tự đóVí dụ:Moi ban nhap 1 ky tu: bKy tu vừa nhập: b===================== Giải 6.1: ========================.model small.stack 100h.dataMsg1 DB 9,10,13,"- Moi ban nhap 1 ky tu:$"Msg2 DB 9,10,13,"- Ky tu vua nhap:$" b DB ?.codemov AX,@datamov DS,AXmov DX,OFFSET Msg1mov AH, 9int 21hmov AH,1int 21hmov b,AL mov DX,OFFSET Msg2mov AH, 9int 21hmov DL,bmov AH,2int 21hmov AH,4Chint 21hend ===================== END 6.1 ========================Bài 6.2. Viết chương trình xuất ra màn hình một số dòng.Ví dụ:De chay duoc 1 CT hop ngu ban can thuc hien cac buoc sau:Dich file ASM thanh file OBJLien ket file OBJ thanh file EXEChay file EXE===================== Giải 6.2: ========================.model small.stack 100h.dataMsg DB 10,13, "De chay duoc 1 CT hop ngu ban can thuc hien cac buoc sau:"DB 10,13,9,"- Dich file ASM thanh file OBJ."DB 10,13,9,"- Lien ket file OBJ thanh file EXE."DB 10,13,9,"- Chay file EXE.$".codemov AX,@datamov DS,AXmov DX,offset Msgmov AH,9int 21hmov AH,4Chint 21hend ===================== END 6.2 ========================Bài 6.3. Viết CT nhập vào 1 ký tự, xuất ra ký tự liền trước và liền sau.Ví dụ:Moi ban nhap 1 ky tu: bKy tu lien truoc: aKy tu lien sau: c===================== Giải 6.3 ========================.MODEL SMALL.STACK 100H.DATAMsg1 DB "Nhap vao ky tu: $"Msg2 DB "Ky tu lien truoc la: $"Msg3 DB "Ky tu lien sau la: $"XuongDong DB 10,13, "$".CODEMOV AX, @DATAMOV DS, AXMOV DX, offset Msg1MOV AH, 9INT 21h;nhap 1 ky tuMOV AH, 1INT 21hmov BH,AL ; luu ky tu vua nhap vao BHmov DX, offset XuongDongmov AH, 9int 21h;xuat ky tu lien truocmov DX, offset Msg2mov AH, 9int 21hmov AH,BHDEC AHmov DL, AH ; ky tu xuat dc luu trong DLmov AH,2int 21h mov DX, offset XuongDongmov AH, 9int 21h;xuat ky tu lien saumov DX, offset Msg3mov AH, 9int 21hmov AH,BHINC AHmov DL, AH ; ky tu xuat dc luu trong DLmov AH,2int 21h mov DX, offset XuongDongmov AH, 9int 21h;ket thuc chuong trinhmov AH, 4Ch ; thoat chuong trinhint 21h end ===================== END 6.3 ========================Bài 6.4. Viết CT nhập vào 1 ký tự thường. In ra ký tự HoaVí dụ:Moi ban nhap 1 ky tu: bKy tu Hoa: B===================== GIẢI 6.4 ========================.Stack 100.DataMsg1 db 'moi ban nhap 1 ky tu: $'Msg2 db 'Ky tu Hoa: $'.CodeMain Procmov ax, @Datamov ds, axmov ah, 9lea dx, TB1int 21hmov ah, 1int 21hmov bl, almov ah, 2mov dl, 10int 21hmov dl, 13int 21hmov ah, 9lea dx, TB2int 21hmov ah, 2mov dl, blsub dl, 20hint 21hmov ah,4Chint 21hMain EndPEnd Main ===================== END 6.4 ========================Bài 6.5. Viết CT nhập vào 1 ký tự hoa. In ra ký tự thườngVí dụ:Moi ban nhap 1 ky tu: BKy tu thường: b===================== Giải 6.5 ========================.MODEL small.STACK 100h.DATAMsg1 DB 13,10,"Moi ban nhap 1 ki tu: $"Msg2 DB 13,10,"Ki tu thuong : $"KTT DB ?.CODE; lay dia chi data dua vao DSMOV AX,@dataMOV DS,AX; xuat Msg1MOV AH,9MOV DX,offset Msg1INT 21h; nhap 1 ki tu tu ban phim va luu vao ALMOV AH,1INT 21h; chuyen thanh ki tu thuong va dua vao KTTADD AL,20h ; hoac ADD AL,32MOV KTT,AL; xuat Msg2 va KTTMOV AH,9MOV DX,offset Msg2INT 21hMOV AH,2MOV DL,KTTINT 21h; ket thuc chuong trinhMOV AH,4ChINT 21hEND===================== END 6.5 ========================Bài 6.6. Viết chương trình nhập vào 2 số nguyên dương x1, x2 (1 £ x2 < x1 < 9). Xuất ra kết quả các phép tính: x1-1, x1 +2, x1+x2, x1-x2Ví dụ:x1 = 5x2 = 3x1 – 1 = 4x1 + 1 = 6x1 + x2 = 8x1 – x2 = 7===================== Giải 6.6 ========================.MODEL small.STACK 100h.DATAMsg1 DB 13,10,"x1 = $"Msg2 DB 13,10,"x2 = $"KetQua1 DB 13,10,"x1 - 1 = $"KetQua2 DB 13,10,"x1 + 1 = $"KetQua3 DB 13,10,"x1 + x2= $"KetQua4 DB 13,10,"x1 - x2= $"So1 DB ?So2 DB ?.CODE;Lay dia chi data dua vao DSMOV AX,@dataMOV DS,AX; Xuat Msg1 & nhap So1 tu ban phimMOV AH,9MOV DX,offset Msg1INT 21hMOV AH,1INT 21hMOV So1,AL; Xuat Msg2 & nhap So2 tu ban phimMOV AH,9MOV DX,offset Msg2INT 21hMOV AH,1INT 21hMOV So2,AL; Chuyen ki tu thanh soSUB So1,48SUB So2,48; Xuat KetQua1 va ket qua phep tinh So1 - 1MOV AH,9MOV DX,offset KetQua1INT 21hMOV BH,So1 ; Dua So1 vao thanh ghi BHDEC BH ; Thuc hien phep tinh So1 - 1ADD BH,48 ; Chuyen ket qua tu So sang Ky tuMOV AH,2MOV DL,BHINT 21h; Xuat KetQua2 va ket qua phep tinh So2 + 1MOV AH,9MOV DX,offset KetQua2INT 21hMOV BH,So2 ; Dua So2 vao thanh ghi BHINC BH ; Thuc hien phep tinh So2 + 1ADD BH,48 ; Chuyen ket qua tu So sang Ky tuMOV AH,2MOV DL,BHINT 21h; Xuat KetQua3 va ket qua phep tinh So1 + So2MOV AH,9MOV DX,offset KetQua3INT 21hMOV BH,So1 ; Dua So1 vao BHADD BH,So2 ; Thuc hien phep tinh So1 + So2ADD BH,48 ; Chuyen ket qua tu So sang Ky tuMOV AH,2MOV DL,BHINT 21h; Xuat KetQua4 va ket qua phep tinh So1 - So2MOV AH,9MOV DX,offset KetQua4INT 21hMOV BH,So1 ; Dua So1 vao BHSUB BH,So2 ; Thuc hien phep tinh So1 - So2ADD BH,48 ; Chuyen ket qua tu So sang Ky tuMOV AH,2MOV DL,BHINT 21h; ket thuc chuong trinhMOV AH,4ChINT 21hEND===================== END 6.6 ========================
Các file đính kèm theo tài liệu này:
- bai_tap_thuc_hanh_assembler_6_.docx