1. Trang chủ
  2. » Luận Văn - Báo Cáo

Lập trình hệ thống đề 4

22 4 0
Tài liệu được quét OCR, nội dung có thể không chính xác

Đ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 22
Dung lượng 1,74 MB

Nội dung

Trang 2

I Giới thiệu

Ngày nay, với sự nhảy vọt của khoa học công nghệ nói chung và

ngành công nghệ thông tin nói riêng, với những tính năng ưu việt, sự tiện dụng và ứng dụng rộng rãi trong mọi lĩnh vực, hoạt động của tin học trong

đời sông, yêu câu chúng ta phải năm vững các kiến thức cơ bản về máy vi

tính, tuy nhiên việc hiểu các ngôn ngữ bậc thấp để có thể dễ dàng làm việc

và tiếp xúc gần hơn với ngôn ngữ máy là một điều rất quan trọng với những

người đã, đang và sẽ trở thành Lập trình viên, đặc biệt là những người hoạt

động trong các lĩnh vực đo lường, điều khiển và những người ứng dụng tin học vào các quá trình công nghệ

Ngôn ngữ Assembler là một ngôn ngữ bậc thấp, rất gần với ngôn ngữ máy và tất nhiên rất gần với phần cứng máy tính Với đặc điểm như vậy nên lập trình bằng ngôn ngữ Assembler có những đặc thù riêng có phần khác so với ngôn ngữ bậc cao

Sau một thời gian được thầy dẫn dắt và hướng dẫn hết sức nhiệt tình,

Trang 3

IL Méta

Yêu cầu: Viết chương trình thiết lập 1 màn hình giới thiệu(mode 40725), màn hình các chức năng và màn hình từng chức năng (mode 80*25) thực hiện 4 chức năng:

1 Hiện một số nguyên ra đạng binary 2 Sắp xếp dãy số theo chiều giảm dan

3 Máy tính có kRAM nào trên maInboard không?

4 Trở về màn hình giới thiệu

Đề giải quyết bài tập với yêu cầu trên ta sử dụng các MACRO, các

chương trình con, các mô-đun liên kết, các biến nhớ,

HII Mô tả phần thiết kế

Chương trình khi chạy gồm:

* Màn hình giới thiệu: gồm 3 xâu:

+ Xâu 1: Chữ màu trăng, kết thúc bằng “$” “ Vien Dai hoc Mo Ha Noi

Khoa cong nghe thong tin

+ Xâu 2: Sử dung BLINK, hién thị chữ có màu đỏ, nền xanh, nhấp nháy lên

màn hình: “BAI TAP LON”

+ Xâu 3: Chữ màu trắng, kết thúc bằng “$” “Sinh viên thực hiện:

Ninh Van Binh Nguyen Sy Danh

Dao Hoang Nam Vu Duc Tuan Lop:09B2

Trang 4

* Màn hình chức năng:

Chỉ chứa 1 xâu: Chữ màu trắng, kết thúc bằng “$”

CAC CHUC NANG HIEN DANG BINARY, SAP XEP DAY SO THEO CHIEU GIAM DAN

VA kRAM TREN MAINBOARD

1 Hien mot so nguyen ra dang binary 16 bit 2 Sap xep day so theo chieu giam dan

3 May tinh co kRAM tren mainboard khong? 4 Tro ve man hinh gioi thieu

Hay chon: $”

Dùng cmp đê vào các chức năng

Trang 5

IV Lập trình các mô-đun

INCLUDE libl.asm

.MODEL small ;code<64k, data<64k

STACK 100h ;tinh theo byte

.DATA

GT1 db 13,10,' Vien Dai hoc Mo Ha Noi'

db 13,10,' Khoa cong nghe thong tin' đb 13,10,' - 000 - $' GT2 db 'BAI TAP LON',0

GT3 db 13,10,13,10,13,10,' Cac sinh vien thuc hien:'

db 13,10,' 1 Ninh Van Binh'

db 13,10, 2 Nguyen Sy Danh'

db 13,10,’ 3 Dao Hoang Nam' db 13,10,' 4 Vu Duc Tuan' db 13,10,' Lop : 09b2'

db 13,10,13,10,13,10," An phim bat ki de tiep tuc' db 13,10,' Con ESC thi ve DOS$'

mode _ cu db ?

;Khai bao bien cho man hinh chuc nang

cn db 13,10,, CAC CHUC NANG HIEN DANG BINARY, '

db 13,10,, SAP XEP DAY SO THEO CHIEU GIAM DAN'

db 13,10, VAkRAM TREN MAINBOARD'

db 13,10,' - eee '

db 13,10,13,10,' 1 Hien mot so nguyen ra dang binary 16 bit’

db 13,10,' 2 Sap xep day so theo chieu giam dan'

Trang 6

db 13,10,13,10, HAY CHON:$'

;Khai bao bien cho chuc nang hien | so nguyen sang dang binary hb1 db 13,10," Chuc nang hien dang binary’

db 13,10,' - đb 13,10,13,10,' Vao so nguyen : § ' hb2 db 13,10,13,10,' Dang binary la : $' tieptuc db 13,10,' Co tiep tuc CT (c/k) ? $'

;Khai bao bien cho chuc nang sap xep 1 day so theo chieu giam dan M1 db 13,10,’ Chuc nang sap xep day so theo chieu giam dan'

db 13,10,' - -'

db 13,10,13,10,' Hay vao so luong chu so : § ' M2 db 13,10,' Hay vao day so : $' M3 db 13,10,' a[$' M4 db '|=$' M5 db 13,10,' Cac so vua vao la : $' M6 db' $' M7 db 13,10,' Day so da sap xep la : $' M8 db 13,10,' Co tiep tuc CT (c/k) ? $' i dw ? sles dw ? index dw ? a dw _ 100 dup (?)

;Khai bao bien cho chuc nang MT co bao nhieu kRAM tren mainboard kR1 db 13,10," MAY TINH CO kRAM TREN MAINBOARD KHONG ?'

db 13,10,' - -'

db 13,10,13,10,' So luong kKRAM co them tren mainboard la : $'

Trang 7

kR3 db ' 16 k$' kR4 db '32 k$' kRS db '64 k$' kRó db 13,10, An phim bat ky de ve man hinh chuc nang $' -CODE PS: mov ax,@data mov ds,ax mov ah,0fh_ ; lay mode cu 8025 int 10h

mov mode _ cu,al; cat mode cu(al)->bien mode_cu

Trang 14

; MACRO HIEN MOT XAU KI TU |

; KET THUC BANG “$” RA MAN HINH |

HienString MACRO xau

push AX DX

mov DX,offset xau : DX trỏ đến đầu xâu mov AH,9 ; Chức năng hiện ] xâu kí tự int 21h , (kết thúc bằng “$”) lên MH pop DX AX

ENDM

; MACRO HIEN 1 XAU KI TU |

Trang 15

mov cx,1 mov bi,tt mov ah,9 int 10h inc dl mov ah,2 int 10h inc Si jmp Bl Exit B pop dxcx bx ax si ENDM V Kết quả chạy 1 Ề Màn hình giới thiệu Ở màn hình giới thiệu được đặt mode 40*25, va bao gồm 3 xâu kí tự Xâu thứ nhất và thứ ba kết thúc bằng “$” và sử dụng MACRO

“Hienstring” để hiện xâu kí tự ra màn hình

Xâu thứ hai sử dụng MACRO “BLINK” để hiện xâu “BAI TAP LON” ra

màn hình có màu sắc với nền màu xanh, chữ màu đỏ, nhấp nháy Sau đó, màn hình dừng đề chờ 1 kí tự được nhập vào từ bàn phím

Trang 16

fm Administrator: rarer ae) Uien Dai Hoc Ha Ha Hai Khoa Gong Nghe Thong Tin

Se

Gac sinh vien thuc hien: 1 Ninh Van Binh 2 Mguyen Sy Danh 3 Dao Hoang Nam 4 Uu Duc Tuan Ph : W9Wh2

An phim hat ki de tiep tuc Con ESC thi ve DOS

Sau khi nhập 1 kí tự bất kì từ bàn phím khác ESC (nếu nhân ESC thì thoát ra

màn hình DOS) thi man hình 40*25 được phục hồi về màn hình 80*25 và hiển thị màn hình chức năng

Trang 17

2 Ề Màn hình chức nang

Màn hình chức năng chỉ có 1 xâu kết thúc bằng “$”, sử dụng MACRO “HienString” để hiện xâu đó ra màn hình

Sau đó chờ 1 kí tự được nhập từ bàn phím, sử dụng lệnh “cmp”” để so sánh phím nhập vào với các số 1,2,3,4 và theo thứ tự đó để nhảy tới các chương

trình con tương ứng

Ge Administrator: C:\Windows\system32\cmd.exe - asem =|) eam

CAC CHUC MANG HIEN DANG BINARY SAP REP DAY SO THEO CHIEU GIAM DAN

VA kKRAM TREN MAINBOARD

Hien mot so nguyen Pa dang binary 16 hit

Sap xep day so theo chieu giam dan

May tanh co kRAM tren mainboard khong?

Tro ve man hinh gioi thieu

HAY CHON =

Trang 18

3 MH thực hiện chức năng hiện 1 số ra dạng binary 16 bit

Nếu phím nhập vào bằng I thì gọi chương trình con “HIENBNR” đề thực

hiện

Ở chương trình con “HIENBNR” ta thực hiện nhập một sỐ nguyên bất kì

thông qua chương trình con “VAO_SO_N” và MACRO “HienString” để hiện kêt quả ra màn hình

fae Administrator: C:\Windows\system32\cmd.exe - asem [| CE) lS

Trang 19

4 MH thực hiện chức năng sắp xếp dãy số theo chiều giảm dân Khi cmp al bằng số 2 thì chương trình con “SXGŒ” được gọi đề thực hiện

Ban đầu sử dụng chương trình con “VAO SO_ N7 và “HIEN SO _N” dé nhập vào số lượng chữ số và giá trị từng số Chương trình con

“HIEN_DAY” hiện dãy số vừa vào và hiện dãy số đã sắp xếp

EM Administrator: C:\Windows\system32\cmd,exe — asem_ , |x|), aaa

Chuc nang sap xep day so theo chieu giam dan

Hay vao so luong chu so : 5 Hay vao day so : aL 1=6 a L1 1=# aL2 1=3 al3 1=44 al41=12

Cac so vua vao la : b6 F 3 44 12 Day so da sap xep la : 44 12 9 6 3 Go tiep tuc CT tcrk> ?

Trang 20

4 MH thực hiện chức nắng máy tính có kRAM trên mainboard không?

Nếu cmp al bằng 3 thì chương trình con “KRAM” được gọi đề thực hiện

Bit thứ ba và thứ tư của byte có địa chỉ 40h:10h của vùng nhớ biến BIOS cho biết số lượng kRAM trên mainboard máy tính chúng ta đang dùng Để

biết được số lượng kRAM trên mainboard ta phai tach 2 bit cho biết số lượng kRAM qua lệnh and “al,0ch” và 2 lần lệnh “shr al,1” để chuyển 2 bit

thứ ba và thứ tư này về vị trí 0 và 1

Thông qua lệnh nhảy jnz và jne để biết giá trị các bít cờ qua đó biết được số lượng kRAM trên mainboard

So luong KRAN co them then maanboard la : k

fin phim bat ky de ve man hinh chuc nang _

Sau mỗi chương trình con, nhân phím “c” đề tiếp tục chương trinh, con nhan phim bat ki dé quay về màn hình chức năng bằng cách sử dụng lệnh cmp al

với chữ “c”

Trang 21

LỜI CẢM ƠN

Lời cảm ơn đầu tiên và quan trọng nhất chúng em xin gửi tới thầy Đặng Thành Phu, giáo viên giáng dạy mơn LẬP TRÌNH HỆ THƠNG VÀ

ASSEMBLY của Viện Đại học Mở Hà Nội đã tận tình chỉ bảo, hướng dẫn

chúng em trong quá trình học tập bộ môn và quá trình hoàn thành bài tập lớn.Nếu không có thầy tận tâm chỉ bảo thì chúng em sẽ khó có thê hoàn thành được bào tập này

Lời cảm ơn thứ hai chúng con xin gửi tới bố mẹ, những người đã hàng ngày quan tâm, chăm sóc và lo lắng cho chúng con

Trang 22

MỤC LỤC

Ngày đăng: 28/09/2022, 11:24

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

TÀI LIỆU LIÊN QUAN

w