1. Trang chủ
  2. » Giáo Dục - Đào Tạo

THỰC HÀNH KIẾN TRÚC MÁY TÍNH

63 160 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 63
Dung lượng 3,61 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC CÔNG NGHỆ TP.HCM THỰC HÀNH KIẾN TRÚC MÁY TÍNH Biên soạn: TS Văn Thiên Hoàng ThS Hàn Minh Châu www.hutech.edu.vn THỰC HÀNH KIẾN TRÚC MÁY TÍNH Ấn 2018 Các ý kiến đóng góp tài liệu học tập này, xin gửi e-mail ban biên tập : tailieuhoctap@hutech.edu.vn MỤC LỤC I MỤC LỤC MỤC LỤC I HƯỚNG DẪN III BÀI LÀM QUEN VỚI QUARTUS 1.1 THIẾT KẾ VÀ MÔ PHỎNG THIẾT KẾ 1.2 BÀI TẬP BÀI MẠCH CỘNG TRỪ 2.1 MẠCH CỘNG HA (HALF ADDER BIT) 2.2 MẠCH CỘNG FA (FULL ADDER BIT) 10 2.3 MẠCH CỘNG BIT KHÔNG DẤU 12 2.4 MẠCH CỘNG/TRỪ BIT CÓ DẤU 14 BÀI MẠCH NHÂN - MẠCH ĐA HỢP 15 3.1 MẠCH NHÂN 15 3.2 MẠCH ĐA HỢP 18 3.2.1 Mạch đa hợp 2-1 bit (Mux2_1_1bit) 18 3.2.2 Mạch đa hợp 2-1 bit (MUX2_1_4bit) 20 3.2.3 Mạch đa hợp 4-1 bit (MUX4_1_1bit) 21 3.2.4 Mạch đa hợp 4-1 bit (MUX4_1_4bit) 22 BÀI ĐƠN VỊ XỬ LÝ SỐ HỌC 23 4.1 ALU BIT CHỨC NĂNG AND, OR 23 4.2 ALU BIT CHỨC NĂNG AND, OR 24 4.3 ALU BIT CHỨC NĂNG AND, OR, XOR, CỘNG/TRỪ 24 4.4 ALU BIT CHỨC NĂNG AND, OR, XOR, CỘNG/TRỪ 25 BÀI BỘ ĐẾM – THANH GHI 27 5.1 FLIP-FLOP 27 5.1.1 Flip-flop T 27 5.1.2 Flip-flop D 29 5.2 BỘ ĐẾM 31 5.3 THANH GHI 32 5.3.1 Thanh ghi bit 32 5.3.2 Thanh ghi dịch bit 33 BÀI BỘ NHỚ RAM 35 BÀI LẬP TRÌNH HỢP NGỮ 40 7.1 LẬP TRÌNH CƠ BẢN 40 II MỤC LỤC 7.1.1 Bài 41 7.1.2 Bài 43 7.1.3 Bài 44 7.1.4 Bài 46 7.2 LẬP TRÌNH NÂNG CAO 47 7.2.1 Bài 47 7.2.2 Bài 48 7.2.3 Bài 49 7.2.4 Bài 50 7.2.5 Bài 51 7.2.6 Bài 10 52 7.2.7 Bài 11 54 7.2.8 Bài tập thêm 56 TÀI LIỆU THAM KHẢO 57 HƯỚNG DẪN III HƯỚNG DẪN MƠ TẢ MƠN HỌC Mơn học cung cấp cho sinh viên khái niệm tổng quan Kiến trúc máy tính, chủ yếu nhằm phục vụ cho sinh viên ngành Công Nghệ Thông Tin ngành Điện tử - Máy Tính Nội dung mơn học nhấn mạnh đến nguyên tắc, chủ đề, phương pháp tiếp cận giải vấn đề liên quan đến công nghệ kiến trúc lĩnh vực NỘI DUNG MÔN HỌC Bài 1: LÀM QUEN VỚI QUARTUS Cách thiết kế mô mạch số logic Bài 2: MẠCH CỘNG - TRỪ Cách thiết kế mô kết mạch số cộng trừ HA, FA số có dấu khơng dấu Bài 3: MẠCH NHÂN – MẠCH ĐA HỢP Cách thiết kế mô kết mạch nhân số bit mạch đa hợp 2-1 bit, 2-1 bit, 4-1 bit, 4-1 bit Bài 4: ĐƠN VỊ XỬ LÝ SỐ HỌC ALU Cách thiết kế mô kết chức xử lý số học gồm Alu Bài 5: BỘ ĐẾM – THANH GHI Cách thiết kế mô kết đếm ghi, ghi dịch Bài 6: BỘ NHỚ RAM Trình bày cách thiết kế mô kết nhớ RAM máy tính Bài 7: LẬP TRÌNH HỢP NGỮ CƠ BẢN Trình bày cấu trúc chương trình hợp ngữ tập nhập xuất IV HƯỚNG DẪN Bài 8: LẬP TRÌNH HỢP NGỮ NÂNG CAO Trình bày hướng dẫn tập nâng cao KIẾN THỨC TIỀN ĐỀ Sinh viên có kiến thức máy tính U CẦU MƠN HỌC Người học phải dự học đầy đủ buổi lên lớp làm tập đầy đủ nhà CÁCH TIẾP CẬN NỘI DUNG MƠN HỌC Để học tốt mơn này, người học cần đọc trước nội dung chưa học lớp; tham gia đặn tích cực lớp; hiểu khái niệm, tính chất ví dụ lớp học Sau học xong, cần ôn lại học, làm tập câu hỏi Tìm đọc thêm tài liệu khác liên quan đến học làm thêm tập PHƯƠNG PHÁP ĐÁNH GIÁ MÔN HỌC - Điểm trình: 50% Điểm kiểm tra thường xuyên trình học tập Điểm kiểm tra học phần, điểm làm tập lớp, điểm chuyên cần - Điểm thi: 50% Hình thức thi tự luận 90 phút, không mang tài liệu vào phòng thi Nội dung gồm câu hỏi tập tương tự câu hỏi tập nhà BÀI 1LÀM QUEN VỚI QUARTUS BÀI LÀM QUEN VỚI QUARTUS 1.1 THIẾT KẾ VÀ MÔ PHỎNG THIẾT KẾ Khởi động phần mềm Quatus II từ Desktop vào menu Start  Program  Quatus II Giao diện Quatus II xuất hiện: Trước tiến hành thiết kế mạch, tạo project mới: File  New Project Wizard Trong cửa sổ đầu tiên: điền thông tin thư mục chứa project, tên project tên top-module (tên top-module trùng với tên project) Click Next lần Cửa sổ Family & Device Settings dùng để chọn họ tên linh kiện FPGA Chọn họ linh kiện Cyclone II, tên linh kiện EP2C70F896C6 Chọn Finish BÀI 1LÀM QUEN VỚI QUARTUS Tạo tập tin thiết kế chứa cổng AND Vào File  New  Block Diagram/Schematic File Click chuột phải vào thiết kế, chọn Insert  Symbol Hoặc double-click vào vùng thiết kế Chọn cổng AND cách gõ “AND2” Bấm OK gắn vào thiết kế BÀI 1LÀM QUEN VỚI QUARTUS Làm tương tự bước để gắn input (ngõ vào) output (ngõ ra) cho thiết kế (có thể dùng Ctrl + C để copy Ctrl + V để dán) Đưa chuột vào chân linh kiện thực nối dây Đặt tên cho input A, B output Y cách click chọn symbol  double-click để đổi tên Lưu thiết kế đặt tên CONG_AND.bdf (giữ nguyên tên gợi ý chương trình) Chọn File  Save Biên dịch thiết kế Chọn Processing  Start Compilation BÀI 1LÀM QUEN VỚI QUARTUS 10 Nếu khơng có lỗi xuất cửa sổ báo successful Bấm OK 11 Tạo tập tin mô thiết kế Vào File  New  Vector Waveform File 12 Click chuột phải vào cửa sổ “Name” Chọn Insert  Insert Node or Bus 13 Chọn Node Finder Cửa sổ Node Finder chọn: Pins: all  List  chọn tất chân  Bấm OK lần BÀI 7LẬP TRÌNH HỢP NGỮ 43 ;DI CHUYEN KY TU VAO THANH GHI DL MOV DL,KYTU ;XUAT KY TU MOV AH,02H INT 21H ;THOAT CHUONG TRINH, TRO VE DOS MOV AH,4CH INT 21H MAIN ENDP ;KET THUC HAM MAIN END ;KET THUC CHUONG TRINH MAIN 7.1.2 Bài Yêu cầu: Viết chương trình cho VXL 8086/8088 thực chức sau: - Cho phép người dùng nhập vào ký tự - Hiển thị ký tự LIỀN TRƯỚC LIỀN SAU ký tự nhập Hướng dẫn: - Để hiển thị ký tự liền sau, ta tăng giá trị ghi chứa ký tự lên đơn vị: INC DL (DL chứa ký tự) - Ngược lại, để hiển thị ký tự liền trước, ta giảm giá trị ghi đơn vị: DEC DL Chương trình minh họa: MODEL SMALL ;KHAI BAO CHE DO BO NHO CUA CHUONG TRINH STACK 100H ;KHAI BAO NGAN XEP DATA ;KHAI BAO DU LIEU THONGBAO1 DB 'MOI NHAP KY TU:$' THONGBAO2 DB 13,10,'KY TU LIEN TRUOC LA:$' THONGBAO3 DB 13,10,'KY TU LIEN SAU LA:$' KYTU DB ? CODE ;KHAI BAO CAC LENH XU LY MAIN PROC ;BAT DAU HAM MAIN ;KHOI TAO THANH GHI DS MOV AX,@DATA MOV DS,AX ;HIEN THI THONGBAO1 44 BÀI 7LẬP TRÌNH HỢP NGỮ MOV AH,09H LEA DX,THONGBAO1 INT 21H ;NHAP KY TU MOV AH,01H INT 21H ;LUU TRU KY TU MOV KYTU,AL ;HIEN THI THONGBAO2 MOV AH,09H LEA DX,THONGBAO2 INT 21H ;DI CHUYEN KY TU VAO THANH GHI DL MOV DL,KYTU ;KY TU LIEN TRUOC DEC DL ;XUAT KY TU MOV AH,02H INT 21H ;HIEN THI THONGBAO3 MOV AH,09H LEA DX,THONGBAO3 INT 21H ;DI CHUYEN KY TU VAO THANH GHI DL MOV DL,KYTU ;KY TU LIEN SAU INC DL ;XUAT KY TU MOV AH,02H INT 21H ;THOAT CHUONG TRINH, TRO VE DOS MOV AH,4CH INT 21H MAIN ENDP ;KET THUC HAM MAIN END MAIN ;KET THUC CHUONG TRINH 7.1.3 Bài Yêu cầu: Viết chương trình cho VXL 8086/8088 thực chức sau: - Cho phép người dùng nhập vào ký tự HOA - Hiển thị ký tự THƯỜNG tương ứng ký tự nhập Hướng dẫn: BÀI 7LẬP TRÌNH HỢP NGỮ 45 - Để hiển thị ký tự thường, thực phép cộng ký tự hoa với giá trị 32D 20H - Lệnh cộng ghi với giá trị: ADD DL,GIA_TRI Chương trình minh họa: MODEL SMALL ;KHAI BAO CHE DO BO NHO CUA CHUONG TRINH STACK 100H ;KHAI BAO NGAN XEP DATA ;KHAI BAO DU LIEU THONGBAO1 DB 'MOI NHAP KY TU HOA:$' THONGBAO2 DB 13,10,'KY TU THUONG LA:$' KYTU DB ? CODE ;KHAI BAO CAC LENH XU LY MAIN PROC ;BAT DAU HAM MAIN ;KHOI TAO THANH GHI DS MOV AX,@DATA MOV DS,AX ;HIEN THI THONGBAO1 MOV AH,09H LEA DX,THONGBAO1 INT 21H ;NHAP KY TU MOV AH,01H INT 21H ;LUU TRU KY TU MOV KYTU,AL ;HIEN THI THONGBAO2 MOV AH,09H LEA DX,THONGBAO2 INT 21H ;DI CHUYEN KY TU VAO THANH GHI DL MOV DL,KYTU ;CHUYEN TU KY TU HOA SANG KY TU THUONG ADD DL,32 46 BÀI 7LẬP TRÌNH HỢP NGỮ ;HIEN THI KY TU THUONG MOV AH,02H INT 21H ;THOAT CHUONG TRINH, TRO VE DOS MOV AH,4CH INT 21H MAIN ENDP ;KET THUC HAM MAIN END MAIN ;KET THUC CHUONG TRINH 7.1.4 Bài Yêu cầu: Viết chương trình cho VXL 8086/8088 thực chức sau: - Cho phép người dùng nhập vào ký tự THƯỜNG - Hiển thị ký tự HOA tương ứng ký tự nhập Hướng dẫn: - Để hiển thị ký tự hoa, thực phép trừ ký tự thường với giá trị 32D 20H - Lệnh trừ ghi với giá trị: SUB DL,GIA_TRI Chương trình minh họa: MODEL SMALL ;KHAI BAO CHE DO BO NHO CUA CHUONG TRINH STACK 100H ;KHAI BAO NGAN XEP DATA ;KHAI BAO DU LIEU THONGBAO1 DB 'MOI NHAP KY TU THUONG:$' THONGBAO2 DB 13,10,'KY TU HOA LA:$' KYTU DB ? CODE ;KHAI BAO CAC LENH XU LY MAIN PROC ;BAT DAU HAM MAIN ;KHOI TAO THANH GHI DS MOV AX,@DATA MOV DS,AX ;HIEN THI THONGBAO1 MOV AH,09H LEA DX,THONGBAO1 INT 21H ;NHAP KY TU MOV AH,01H INT 21H ;LUU TRU KY TU MOV KYTU,AL ;HIEN THI THONGBAO2 MOV AH,09H LEA DX,THONGBAO2 INT 21H ;DI CHUYEN KY TU VAO THANH GHI DL BÀI 7LẬP TRÌNH HỢP NGỮ 47 MOV DL,KYTU ;CHUYEN TU KY TU THUONG SANG KY TU HOA SUB DL,32 ;HIEN THI KY TU HOA MOV AH,02H INT 21H ;THOAT CHUONG TRINH, TRO VE DOS MOV AH,4CH INT 21H MAIN ENDP ;KET THUC HAM MAIN END MAIN ;KET THUC CHUONG TRINH 7.2 LẬP TRÌNH NÂNG CAO 7.2.1 Bài Yêu cầu: Viết chương trình cho VXL 8086/8088 thực chức sau: - Cho phép người dùng nhập vào chuỗi ký tự - Thốt chương trình người dùng nhập phím ENTER Hướng dẫn: - Phím ENTER có mã ASCII 13D - Ta tiến hành so sánh ký tự nhập vào với mã 13D Nếu nhảy đến nhãn THOAT Nếu khơng lặp lại đoạn chương trình nhập ký tự - Lệnh so sánh ghi với giá trị: CMP THANH_GHI,GIA_TRI - Lệnh nhảy bằng: JE NHAN - Lệnh lặp: LOOP NHAN Chương trình minh họa: MODEL SMALL ;KHAI BAO CHE DO BO NHO CUA CHUONG TRINH STACK 100H ;KHAI BAO NGAN XEP DATA ;KHAI BAO DU LIEU THONGBAO1 DB 'MOI NHAP KY TU:$' CODE ;KHAI BAO CAC LENH XU LY MAIN PROC ;BAT DAU HAM MAIN ;KHOI TAO THANH GHI DS MOV AX,@DATA MOV DS,AX ;HIEN THI THONGBAO1 MOV AH,09H LEA DX,THONGBAO1 INT 21H ;NHAP KY TU MOV AH,01H 48 BÀI 7LẬP TRÌNH HỢP NGỮ LAP: INT 21H CMP AL,13D ;SO SANH KY TU NHAP VOI VOI MA 13 JE THOAT ;NEU BANG THI NHAY DEN NHAN THOAT LOOP LAP ;NEU KHONG BANG THI NHAY DEN NHAN LAP THOAT: ;THOAT CHUONG TRINH, TRO VE DOS MOV AH,4CH INT 21H MAIN ENDP ;KET THUC HAM MAIN END MAIN ;KET THUC CHUONG TRINH 7.2.2 Bài Yêu cầu: Viết chương trình cho VXL 8086/8088 thực chức sau: - Cho phép người dùng nhập vào chuỗi ký tự - Thốt chương trình người dùng nhập đủ 10 ký tự Hướng dẫn: - Thanh ghi CX có chức đếm Sau vịng lặp giá trị CX tự động giảm đơn vị - Muốn thực vịng lặp đặt giá trị tương ứng vào ghi CX - Kiểm tra CX=0 chương trình Chương trình minh họa: MODEL SMALL ;KHAI BAO CHE DO BO NHO CUA CHUONG TRINH STACK 100H ;KHAI BAO NGAN XEP DATA ;KHAI BAO DU LIEU THONGBAO1 DB 'MOI NHAP KY TU:$' CODE ;KHAI BAO CAC LENH XU LY MAIN PROC ;BAT DAU HAM MAIN ;KHOI TAO THANH GHI DS MOV AX,@DATA MOV DS,AX ;HIEN THI THONGBAO1 MOV AH,09H LEA DX,THONGBAO1 INT 21H MOV CX,10 ;NHAP KY TU MOV AH,01H LAP: INT 21H CMP CX,0 JE THOAT LOOP LAP THOAT: ;KHOI TAO SO VONG LAP ;KIEM TRA DU SO VONG LAP ;NEU BANG THI NHAY DEN NHAN THOAT ;NEU KHONG BANG THI NHAY DEN NHAN LAP BÀI 7LẬP TRÌNH HỢP NGỮ 49 ;THOAT CHUONG TRINH, TRO VE DOS MOV AH,4CH INT 21H MAIN ENDP ;KET THUC HAM MAIN END MAIN ;KET THUC CHUONG TRINH 7.2.3 Bài Yêu cầu: Viết chương trình cho VXL 8086/8088 thực chức sau: - Cho phép người dùng nhập vào chuỗi ký tự - Thoát chương trình người dùng nhập phím ENTER nhập đủ 10 ký tự Hướng dẫn: làm theo bước hướng dẫn sử dụng câu lệnh so sánh kết hợp với câu lệnh lặp có điều kiện LOOPNZ – lặp CX=0 ZF=1 (Lưu ý: ghi cờ ZF=1 hiệu phép trừ ký tự nhập vào với mã ASCII phím ENTER 0) Chương trình minh họa: MODEL SMALL ;KHAI BAO CHE DO BO NHO CUA CHUONG TRINH STACK 100H ;KHAI BAO NGAN XEP DATA ;KHAI BAO DU LIEU THONGBAO1 DB 'MOI NHAP KY TU:$' CODE ;KHAI BAO CAC LENH XU LY MAIN PROC ;BAT DAU HAM MAIN ;KHOI TAO THANH GHI DS MOV AX,@DATA MOV DS,AX ;HIEN THI THONGBAO1 MOV AH,09H LEA DX,THONGBAO1 INT 21H MOV CX,10 ;KHOI TAO SO VONG LAP ;NHAP KY TU MOV AH,01H LAP: INT 21H CMP AL,13 LOOPNZ LAP ;SO SANH KY TU NHAP VAO VOI MA 13 ;LAP NEU CX BANG HOAC ZF=1 THOAT: ;THOAT CHUONG TRINH, TRO VE DOS MOV AH,4CH INT 21H MAIN ENDP ;KET THUC HAM MAIN END MAIN ;KET THUC CHUONG TRINH 50 BÀI 7LẬP TRÌNH HỢP NGỮ 7.2.4 Bài Yêu cầu: Viết chương trình cho VXL 8086/8088 thực chức sau: - Cho phép người dùng nhập vào ký tự - Kiểm tra ký tự có phải ký tự số hay khơng in thông báo tương ứng: + In thông báo: “LA KY TU SO” ký tự nhập vào ký tự số + In thông báo: “KHONG LA KY TU SO” ký tự nhập vào ký tự số Hướng dẫn: - Giá trị số đến có mã ASCII tương ứng từ 48D đến 57D - Dùng lệnh so sánh lệnh nhảy có điều kiện để giải tốn + JB NHAN: nhảy đến NHAN nhỏ + JA NHAN: nhảy đến NHAN lớn Chương trình minh họa: MODEL SMALL ;KHAI BAO CHE DO BO NHO CUA CHUONG TRINH STACK 100H ;KHAI BAO NGAN XEP DATA ;KHAI BAO DU LIEU THONGBAO1 DB 'MOI NHAP KY TU:$' THONGBAO2 DB 13,10,'LA KY TU SO!$' THONGBAO3 DB 13,10,'KHONG LA KY TU SO!$' CODE ;KHAI BAO CAC LENH XU LY MAIN PROC ;BAT DAU HAM MAIN ;KHOI TAO THANH GHI DS MOV AX,@DATA MOV DS,AX ;HIEN THI THONGBAO1 MOV AH,09H LEA DX,THONGBAO1 INT 21H ;NHAP KY TU MOV AH,01H INT 21H CMP AL,48D JB KHONGLASO CMP AL,57D JA KHONGLASO ;SO SANH KY TU ;NHAY DEN NHAN ;SO SANH KY TU ;NHAY DEN NHAN LASO: ;HIEN THI THONGBAO2 MOV AH,09H LEA DX,THONGBAO2 VOI KY TU KHONGLASO VOI KY TU KHONGLASO '0' NEU NHO HON '9' NEU LON HON BÀI 7LẬP TRÌNH HỢP NGỮ 51 INT 21H JMP THOAT KHONGLASO: ;HIEN THI THONGBAO3 MOV AH,09H LEA DX,THONGBAO3 INT 21H THOAT: ;THOAT CHUONG TRINH, TRO VE DOS MOV AH,4CH INT 21H MAIN ENDP ;KET THUC HAM MAIN END MAIN ;KET THUC CHUONG TRINH 7.2.5 Bài Yêu cầu: Viết chương trình cho VXL 8086/8088 thực chức sau: - Cho phép người dùng nhập vào ký tự - Kiểm tra ký tự có phải ký tự CHỮ hay khơng in thông báo tương ứng: + In thông báo: “LA KY TU HOA” ký tự nhập vào ký tự HOA + In thông báo: “LA KY TU THUONG” ký tự nhập vào ký tự THƯỜNG + In thông báo: “KHONG LA KY TU CHU” ký tự nhập vào ký tự chữ Hướng dẫn: - Ký tự HOA có mã ASCII đoạn [65D, 90D], ký tự THƯỜNG có mã ASCII đoạn [97D, 122D] - Dùng lệnh so sánh lệnh nhảy có điều kiện để giải tốn Chương trình minh họa: MODEL SMALL ;KHAI BAO CHE DO BO NHO CUA CHUONG TRINH STACK 100H ;KHAI BAO NGAN XEP DATA ;KHAI BAO DU LIEU THONGBAO1 DB 'MOI NHAP KY TU:$' THONGBAO2 DB 13,10,'LA KY TU HOA!$' THONGBAO3 DB 13,10,'LA KY TU THUONG!$' THONGBAO4 DB 13,10,'KHONG LA KY TU CHU!$' CODE ;KHAI BAO CAC LENH XU LY MAIN PROC ;BAT DAU HAM MAIN ;KHOI TAO THANH GHI DS MOV AX,@DATA MOV DS,AX ;HIEN THI THONGBAO1 MOV AH,09H 52 BÀI 7LẬP TRÌNH HỢP NGỮ LEA DX,THONGBAO1 INT 21H ;NHAP KY TU MOV AH,01H INT 21H ;SO SANH CMP AL,65D JB KHONGLAKYTUCHU CMP AL,122D JA KHONGLAKYTUCHU CMP AL,90D JBE LAKYTUHOA CMP AL,97D JAE LAKYTUTHUONG ;SO SANH ;NEU NHO ;SO SANH ;NEU LON ;SO SANH ;NEU NHO ;SO SANH ;NEU LON VOI HON VOI HON VOI HON VOI HON KY TU 'A' -> KHONG PHAI KY TU 'z' -> KHONG PHAI KY TU 'Z' HOAC BANG -> LA CHU HOA KY TU 'a' HOAC BANG -> LA CHU THUONG LAKYTUHOA: ;HIEN THI THONGBAO2 MOV AH,09H LEA DX,THONGBAO2 INT 21H JMP THOAT LAKYTUTHUONG: ;HIEN THI THONGBAO3 MOV AH,09H LEA DX,THONGBAO3 INT 21H JMP THOAT KHONGLAKYTUCHU: ;HIEN THI THONGBAO4 MOV AH,09H LEA DX,THONGBAO4 INT 21H THOAT: ;THOAT CHUONG TRINH, TRO VE DOS MOV AH,4CH INT 21H MAIN ENDP ;KET THUC HAM MAIN END MAIN ;KET THUC CHUONG TRINH 7.2.6 Bài 10 Yêu cầu: Viết chương trình cho VXL 8086/8088 thực chức sau: - Cho phép người dùng nhập vào hai số nguyên dương A, B (A, B có ký số) - Tính tổng hai số in thông báo tương ứng: + In thông báo: “KHONG THE THUC HIEN PHEP CONG” tổng hai số lớn 10 + Ngược lại, in tổng hai số A, B Hướng dẫn: BÀI 7LẬP TRÌNH HỢP NGỮ - Tính tổng số cách thực phép cộng mã ASCII số Ví dụ: „2‟ + „5‟ = „7‟  „50D‟ + „53D‟ = „103D‟ - Thực phép trừ tổng với giá trị „48D‟ để hiển thị kết Chương trình minh họa: MODEL SMALL ;KHAI BAO CHE DO BO NHO CUA CHUONG TRINH STACK 100H ;KHAI BAO NGAN XEP DATA ;KHAI BAO DU LIEU THONGBAO1 DB 'MOI NHAP SO THU NHAT:$' THONGBAO2 DB 13,10,'MOI NHAP SO THU HAI:$' THONGBAO3 DB 13,10,'TONG HAI SO LA:$' THONGBAO4 DB 13,10,'KHONG THE THUC HIEN PHEP CONG!$' SOTHU1 DB ? TONG DB ? CODE ;KHAI BAO CAC LENH XU LY MAIN PROC ;BAT DAU HAM MAIN ;KHOI TAO THANH GHI DS MOV AX,@DATA MOV DS,AX ;HIEN THI THONGBAO1 MOV AH,09H LEA DX,THONGBAO1 INT 21H ;NHAP SO THU NHAT MOV AH,01H INT 21H ;LUU VAO SOTHU1 MOV SOTHU1,AL ;HIEN THI THONGBAO2 MOV AH,09H LEA DX,THONGBAO2 INT 21H ;NHAP SO THU HAI MOV AH,01H INT 21H ;TINH TONG SO ADD AL,SOTHU1 SUB AL,48D ;LUU VAO TONG MOV TONG,AL CMP AL,57D ;SO SANH TONG VOI SO '9' JA KHONGTHUCHIEN HIENTHIKETQUA: ;HIEN THI THONGBAO3 MOV AH,09H LEA DX,THONGBAO3 53 54 BÀI 7LẬP TRÌNH HỢP NGỮ INT 21H ;DI CHUYEN TONG VAO THANH GHI DL MOV DL,TONG MOV AH,02H INT 21H JMP THOAT KHONGTHUCHIEN: ;HIEN THI THONGBAO4 MOV AH,09H LEA DX,THONGBAO4 INT 21H THOAT: ;THOAT CHUONG TRINH, TRO VE DOS MOV AH,4CH INT 21H MAIN ENDP ;KET THUC HAM MAIN END MAIN ;KET THUC CHUONG TRINH 7.2.7 Bài 11 Yêu cầu: Viết chương trình cho VXL 8086/8088 thực chức sau: - Cho phép người dùng nhập vào hai số nguyên dương A, B (A, B có ký số) - Tính tổng hai số in thông báo tương ứng: + In thông báo: “KHONG THE THUC HIEN PHEP CONG” tổng hai số lớn 10 + In thông báo: “TONG BANG 5” tổng hai số + In thông báo: “TONG NHO HON 5” tổng hai số nhỏ + In thông báo: “TONG LON HON 5” tổng hai số lớn Hướng dẫn: Sử dụng lệnh ADD, SUB, CMP lệnh nhảy có điều kiện để giải tốn Chương trình minh họa: MODEL SMALL ;KHAI STACK 100H ;KHAI DATA ;KHAI THONGBAO1 DB THONGBAO2 DB THONGBAO3 DB THONGBAO4 DB THONGBAO5 DB THONGBAO6 DB SOTHU1 DB CODE ;KHAI MAIN PROC BAO CHE DO BO NHO CUA CHUONG TRINH BAO NGAN XEP BAO DU LIEU 'MOI NHAP SO THU NHAT:$' 13,10,'MOI NHAP SO THU HAI:$' 13,10,'TONG LON HON 5!$' 13,10,'TONG BANG 5!$' 13,10,'TONG NHO HON 5!$' 13,10,'KHONG THE THUC HIEN PHEP CONG!$' ? BAO CAC LENH XU LY ;BAT DAU HAM MAIN BÀI 7LẬP TRÌNH HỢP NGỮ ;KHOI TAO THANH GHI DS MOV AX,@DATA MOV DS,AX ;HIEN THI THONGBAO1 NHAP SO THU MOV AH,09H LEA DX,THONGBAO1 INT 21H ;NHAP SO MOV AH,01H INT 21H ;KY TU LUU VAO BIEN SOTHU1 MOV SOTHU1,AL ;HIEN THI THONGBAO2 NHAP SO THU MOV AH,09H LEA DX,THONGBAO2 INT 21H ;NHAP SO MOV AH,01H INT 21H ;TINH TONG SO ADD AL,SOTHU1 SUB AL,48D ;KIEM TRA CMP AL,48D JB KHONGTHUCHIEN CMP AL,57D JA KHONGTHUCHIEN CMP AL,53D JA SOLONHON5 JE SOBANG5 JB SONHOHON5 SOLONHON5: ;HIEN THI THONGBAO3 MOV AH,09H LEA DX,THONGBAO3 INT 21H JMP THOAT SOBANG5: ;HIEN THI THONGBAO4 MOV AH,09H LEA DX,THONGBAO4 INT 21H JMP THOAT SONHOHON5: ;HIEN THI THONGBAO5 MOV AH,09H LEA DX,THONGBAO5 INT 21H JMP THOAT KHONGTHUCHIEN: ;HIEN THI THONGBAO6 55 56 BÀI 7LẬP TRÌNH HỢP NGỮ MOV AH,09H LEA DX,THONGBAO6 INT 21H THOAT: ;THOAT CHUONG TRINH, TRO VE DOS MOV AH,4CH INT 21H MAIN ENDP ;KET THUC HAM MAIN END MAIN ;KET THUC CHUONG TRINH 7.2.8 Bài tập thêm Chương trình nhập vào ký tự, hiển thị mã ASCII ký tự Chương trình đếm số ký tự chuỗi nhập vào Chương trình nhập vào chuỗi ký tự, in chuỗi thường, chuỗi hoa Chương trình nhập vào chuỗi ký tự, in chuỗi đảo ngược Chương trính tính tổng số Chương trình nhập vào tốn tử tốn hạng Tính kết BÀI 7LẬP TRÌNH HỢP NGỮ 57 TÀI LIỆU THAM KHẢO David A Patterson, John L Hennessy, Peter J Ashenden, James R Larus, Daniel J Sorin, Computer Organization and Design: The Hardware/Software Interface, Fifth Edition, Morgan Kaufmann 2014 David Money Harris, Sarah L Harris, Digital Design and Computer Architecture, Morgan Kaufmann 2013 PGS.TS Nguyễn Hữu Phương, Mạch số, Nhà xuất Thống Kê 2001 Tống Văn On, Hoàng Đức Hải, Hợp ngữ lập trình ứng dụng, Nhà xuất Giáo Dục 2001

Ngày đăng: 07/12/2021, 19:38

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w