ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN LẬP TRÌNH HỆ THỐNG
BÀI TẬP 1
CÂU 1: viết chương trình nhận 1 ký tự từ bàn phím, sau đó in ra màn hình ký
tự kề trước và kề sau của ký tự vừa nhập

Họ và Tên:

Hà Phước Việt

Lớp:

07T1

Nhóm:

72A

Đà Nẵng, tháng 6 năm 2011

....................4 2.........4 3.8 .......................................3 1.6 4...........................................................................3 PHẦN II.............3 2...............................................................................MỤC LỤC PHẦN I.............................1.......................................................................................... Hướng giải quyết.................................................2.........................................3 2...... Các ngắt chức năng và các lệnh dùng trong chương trình............... GIẢI QUYẾT BÀI TOÁN..................................................................... Phân tích...........................................................................4 2...... Các lệnh dùng trong chương trình.............................. Yêu cầu..................................................... Mã nguồn................................... PHÂN TÍCH BÀI TOÁN.....................3 1..... Kết quả thực hiện................................................................. Các ngắt chức năng...............

Hướng giải quyết − Bắt lỗi nhập xuất từ bàn phím o Nếu nhập 1 ký tự khác A..PHẦN I. tức là xuất ra B|b o Nếu là Z|z thì chỉ xuất ký tự trước nó.Z|a. Yêu cầu − Nhập 1 ký tự từ bàn phím − Xuất ra ký tự kề trước và kề sau nó. GIẢI QUYẾT BÀI TOÁN 1. 2. tức là Y|y o Nếu là ký tự bất kỳ khác A và Z thì in ra ký tự trước và sau nó PHẦN II...z thì yêu cầu nhập lại o Nếu nhập đúng trong miền A. PHÂN TÍCH BÀI TOÁN 1.z thì mới tiếp tục thực hiện chương trình − Viết các hàm chức năng o Hàm in ký tự kề trước o Hàm in ký tự kề sau −Tạo các nhãn để thực hiện nhảy khi điều kiện được so sánh ....Z|a.z không tính các ký tự đặc biệt. Phân tích − Nhập 1 ký tự từ bàn phím nghĩa là nhập các ký tự từ A. − Xuất ký tự ra màn hình o Nếu là A|a thì chỉ xuất ký tự sau nó.Z|a.

Các ngắt chức năng và các lệnh dùng trong chương trình 2. Các ngắt chức năng −Ngắt 21H hàm 01 o Đầu vào: AH = 1 o Đầu ra: AL = mã ASCII của ký tự đã nhập o Chức năng: Dùng để nhập 1 ký tự từ bàn phím và lưu vào thanh ghi AL −Ngắt 21H hàm 02 o Đầu vào: AH = 2 o Đầu ra: DL = Mã ASCII của ký tự cần in o Chức năng: In ký tự ra màn hình −Ngắt 21H hàm 09 o Đầu vào: AH = 9 o Đầu ra: DX chứa địa chỉ của chuỗi cần in o Chức năng: In chuỗi ký tự ra màn hình 2.1.2. Các lệnh dùng trong chương trình −SEGMENT và ENDS: khai báo đoạn −ASSUME: chỉ định loai của một đoạn −PROC và ENDP: khai báo chương trình con −DB(define byte) : khai báo biến có 1 byte(1 ô nhớ)\ −MOV: di chuyển dữ liệu −LEA: lấy địa chỉ độ dời −INC: tăng 1 đơn vị −DEC: giảm một đơn vị .2.

nguồn −CMP: so sánh −JA: nếu hơn lơn thì thực hiện −JB: nếu nhỏ hơn thì thực hiện −JE: nếu bằng thì thực thiện −JMP: nhảy không điều kiện −CALL: gọi hàm con .−XOR đích.

13. DSEG MOV DS. So sanh gia tri trong AL voi 'A' . Luu ky tu vao bien CMP AL.'Ky tu ke truoc: $' luukt DB ? DSEG ENDS CSEG SEGMENT ASSUME CS: CSEG.'a' JB kiemtraZ CMP AL.'a' JE luuktA .'Ky tu ke sau: $' msg3 DB 10. Ham 09 in chuoi ky tu ra man hinh . Ham nhap mot ky tu.'z' JA nhap kiemtraA: CMP AL. 09 LEA DX. . Mã nguồn .'Z' JE luuktZ . Nhan kiemtraA . Neu la 'A' thi nhay toi nhan luuktA CMP AL.13. Goi ngat thuc hien .3. DS: DSEG start: main proc MOV AX. . .Nhom : 72A . DX chua dia chi chuoi msg1 . .************************************** DSEG SEGMENT msg1 DB 'Hay go 1 phim: $' msg2 DB 10.'A' JB nhap .Sinh vien thuc hien: Ha Phuoc Viet . Neu nho hon thi nhap lai MOV luukt.AL .'A' JE luuktA .Lop : 07T1 . AX MOV AH. Neu la 'Z' thi nhay toi nhan luuktZ CMP AL. 01 INT 21h CMP AL. .Do an lap trinh he thong . Neu la 'a' thi nhay toi nhan luuktA . AL chua ky tu Goi ngat thuc hien So sanh gia tri trong AL voi 'a' Neu nho hon thi nhap lai So sanh gia tri trong AL voi 'z' Neu lon hon thi nhap lai . msg1 INT 21h nhap: MOV AH.

. Nhan luuktZ .CMP AL. Nhay toi nhan thoat luuktA: CALL luuktkesau JMP thoat . msg3 21h DL.'z' JE luuktZ . 02 21h . Goi ham luuktkesau . Ham 09 in chuoi ky tu ra man hinh DX chua dia chi chuoi msg2 Goi ngat thuc hien Reset lai DL Nap luukt cho DL luuktketruoc endp luuktkesau proc MOV LEA INT XOR MOV AH.'Z' JA nhap JMP kiemtraA . nhan kiemtraZ . . Nhan luuktA . . . . Nhan thoat . Nhay toi nhan thoat thoat: MOV AH.luukt . Thoat khoi chuong trinh . Nhay toi nhan thoat luuktZ: CALL luuktketruoc JMP thoat . . Khong thoa thi nhay toi nhan kiemtraA main endp luuktketruoc proc MOV LEA INT XOR MOV DEC MOV INT RET AH. . Ham 09 in chuoi ky tu ra man hinh DX chua dia chi chuoi msg3 Goi ngat thuc hien Reset lai DL Nap luukt cho DL Ky tu ke truoc Goi ham in ky tu Goi ngat thuc hien .DL DL.DL DL. Goi ngat thuc hien kiemtraZ: CMP AL. .09 DX. 4Ch INT 21h . Goi ham luuktketruoc . Goi ham luuktkesau . Neu la 'z' thi nhay toi nhan luuktZ CALL luuktketruoc CALL luuktkesau JMP thoat . msg2 21h DL. . . 09 DX. . Goi ham luuktketruoc . luukt DL AH.

INC DL MOV AH. Goi ngat thuc hien luuktkesau endp CSEG ENDS END start 4. Ky tu ke sau . Kết quả thực hiện . Goi ham in ky tu .02 INT 21h RET .

Sign up to vote on this title
UsefulNot useful