1. Trang chủ
  2. » Thể loại khác

+Kỹ Thuật Vi Xử Lý sv cong nghe thuc pham Chuong3

30 142 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 30
Dung lượng 195,5 KB

Nội dung

Chơng III Lập trình hợp ngữ với vxl 8088 3.1 Cấu trúc ct hợp ngữ I Cú pháp chơng trình Tên thích Mã lệnh ( Lap: BX bit) ROL Toán hạng BX,1 Lời ; Quay trai * Trờng Tên Có thể tên biến, tên chơng trình nhãn - Tối đa 31 ký tự: Chữ cái, chữ số ký tự: ? @ % $ _ 3.1 CÊu tróc cđa ct hợp ngữ I Cú pháp chơng trình * Mã lệnh Có thể lệnh thật lệnh giả - Lệnh thật biên dịch đợc dịch mã máy - Lệnh giả hớng dẫn cho trình biên dịch * Toán hạng - Đối với lệnh thật trờng có toán hạng, toán hạng hay toán hạng - Đối với lệnh giả trờng thông tin liên quan đến lệnh giả 3.1 Cấu trúc ct hợp ngữ I Cú pháp chơng trình * Lời thích - Bắt đầu lời thích dấu ; - Lời thích phải rõ ràng có ý nghĩa tổng thể chơng trình 3.1 Cấu trúc ct hợp ngữ II Dữ liệu cho chơng trình * Kiểu số - Có thể lµ sè hƯ 2, hƯ 10 vµ hƯ 16 - Số hệ hệ 16 phải có kết thúc ký hiệu hệ, tơng ứng chữ B H - Đối với số hệ 16 đợc bắt đầu chữ phải thêm số vào phÝa tríc VÝ dơ: 0F3H * KiĨu ký tù - Các ký tự phải đợc để dấu trích dẫn đơn kép - dụ: A, B, abcdef, 3.1 Cấu trúc ct hợp ngữ III Biến Biến * Biến kiểu byte Tên_biến DB giá_trị_khởi_đầu - BiÕn kiĨu byte chiÕm mét byte bé nhí - Nếu không muốn khởi đầu cho biến thay giá trị khởi đầu dấu ? dụ: B1 DB B2 DB ? B3 DB ‘a’ 3.1 CÊu trúc ct hợp ngữ III Biến Biến * Biến kiểu word Tên_biến DW giá_trị_khởi_đầu - Biến kiĨu word chiÕm hai byte bé nhí - NÕu không muốn khởi đầu cho biến thay giá trị khởi đầu dấu ? dụ: W1 DW 10 W2 DW ? 3.1 Cấu trúc ct hợp ngữ III Biến Biến * Biến mảng - Hình thành từ dãy liên tiếp phần tử cïng kiĨu byte hay word VÝ dơ: M1 DB 1, 3, 4, 5, - M1 øng víi phÇn tư thứ có giá trị 1, M1 + ứng với phần tử thứ hai có giá trị 3, - Khi khởi đầu giá trị dùng toán tử DUP VÝ dơ: M2 DB 100DUP(1) 3.1 CÊu tróc cđa ct hợp ngữ III Biến Biến * Biến chuỗi ký tự - Là trờng hợp đặc biệt biến mảng phần tử ký tù VÝ dô: STR1 DB ‘a’, ‘b’, ‘c’, ‘d’, ‘e’ - Cã thĨ khai b¸o theo c¸ch kh¸c: VÝ dơ: STR2 DB ‘abcdef’ 3.1 CÊu tróc cđa ct hỵp ngữ III Biến Hằng - Các chơng trình hợp ngữ thờng đ ợc gán tên chơng trình dễ đọc Dùng lệnh giả EQU để khai báo dụ: CR EQU 13 - Dòng lệnh khai báo đợc đặt điểm chơng trình 3.2 Tạo chạy chơng trình hợp ngữ máy IBM - PC I Tạo tệp chơng trình nguồn(*.ASM) Có thể sử dụng trình soạn thảo văn nào, dụ trình soạn thảo văn NotePad Windows Tệp chơng trình nguồn phải có phần mở rộng ASM II Dịch ct nguồn ngôn ngữ máy(*.OBJ) Sử dụng file: MASM.EXE trình dịch hợp ngữ III Tạo file thi hành(*.OBJ -> *.EXE) Sử dụng file: LINK.EXE trình dịch hợp ngữ IV Chạy chơng trình dịch 3.3 Các cấu trúc lập trình thực hợp ngữ I Cấu trúc - Cấu trúc cấu trúc lập trình thông dụng đơn giản Trong kiểu cấu trúc lệnh đợc thực tuần tự, lệnh nä tiÕp theo lÖnh Sau thùc hiÖn xong lệnh cuối công việc phải làm đ ợc hoàn tất - Nh vậy, cấu trúc tuần tự, lệnh rẽ nhánh chơng trình(các lệnh nhảy, lệnh lặp ) 3.3 Các cấu trúc lập trình thực hợp ngữ II C¸c CÊu tróc lùa chän CÊu tróc IF - THEN IF THEN Sa i Jxx x Điều kiện Đúng Công việc 3.3 Các cấu trúc lập trình thực hợp ngữ II Các Cấu tróc lùa chän CÊu tróc IF - THEN - ELSE IF THEN ELSE 3.3 Các cấu trúc lập trình thực hợp ngữ II C¸c CÊu tróc lùa chän CÊu tróc IF - THEN - ELSE Sa i Jxxx §iỊu kiƯn §óng Công việc Công việc JMP 3.3 Các cấu trúc lập trình thực hợp ngữ II C¸c CÊu tróc lùa chän CÊu tróc CASE CASE (biểu_thức) gt1: công_việc_1 gt2: công_việc_2 gtn: IF THEN ELSE IF THEN ELSE IF IF THEN 3.3 Các cấu trúc lập trình thực hợp ngữ II C¸c CÊu tróc lùa chän CÊu tróc CASE BiĨu thøc gt Cv1 gt Cv2 gt n Cvn 3.3 Các cấu trúc lập trình thực hợp ngữ III Các Cấu trúc lặp Cấu trúc FOR - DO FOR DO - Sử dụng lệnh LOOP với số lần lặp để CX 3.3 Các cấu trúc lập trình thực hợp ngữ III Các Cấu trúc lặp Cấu trúc FOR - DO CX = số lần lặp Công viÖc CX = CX Sa i CX = 0? Đúng LOOP 3.3 Các cấu trúc lập trình thực hợp ngữ III Các Cấu trúc lặp Cấu trúc WHILE - DO WHILE DO Sa i Jxxx Điều kiện Đúng Công việc JMP 3.3 Các cấu trúc lập trình thực hợp ngữ III Các Cấu trúc lặp Cấu trúc REPEAT - UNTIL REPEAT UNTIL Công việc Điều kiện Đúng Jxxx Sa i 3.4 Ngăn xếp thủ tục I Ngăn xếp - Ngăn xếp cấu trúc liệu chiều Các phần tử đợc cất vào lấy từ đầu cấu trúc theo kiểu vào sau trớc(LIFO) Phần tử liệu đợc cất vào ngăn xếp cuối gọi đỉnh ngăn xếp đợc lấy - Thanh ghi SP(con trỏ ngăn xếp) chứa địa đỉnh ngăn xếp nội dung tự ®éng thay ®ỉi thùc hiƯn c¸c lƯnh t¸c ®éng đến ngăn xếp nh: CALL, RET, INT, IRET, PUSH(PUSHF) POP(POPF) 3.4 Ngăn xếp thủ tục II Thủ tục Tên_thủ_tục PROC kiểu ; Thân thủ tục RET Tên_thủ_tục ENDP - Cã nhÊt thđ tơc chÝnh vµ nhiỊu thủ tục - Kiểu NEAR(mặc định) thủ tục nằm đoạn mã với thủ tục chính, FAR chơng trình nằm khác 3.4 Ngăn xếp thủ tục III Nối ghép Thủ tục - Trong thủ tục chính, ®iĨm thÝch hỵp sÏ cã mét lƯnh gäi thđ tơc cần thiết tơng ứng - Sử dụng lệnh CALL ®Ĩ thùc hiƯn gäi mét thđ tơc CALL tªn_thđ_tơc 3.5 Một số chơng trình dụ Một số hàm ngắt 21H Cách viết Hàm 1: Nhập ký tự từ bàn phím, mã phím nhập vào đợc để AL MOV AH,1 INT 21H Hµm 2: HiƯn mét ký tự lên hình, mã ký tự cần để DL MOV AH,2 MOV DL,a INT 21H Hàm 9: Hiện chuỗi ký tự lên hình, ký tự kết thúc chuỗi $ Địa chuỗi để DX MOV AH,9 LEA DX,str INT 21H Hàm 4CH: Kết thúc chơng trình MOV AH,4CH INT 21H ... Sa i Jxx x Điều kiện Đúng Công vi c 3.3 Các cấu trúc lập trình thực hợp ngữ II Các Cấu trúc lựa chän CÊu tróc IF - THEN - ELSE IF THEN ELSE ... Jxxx Điều kiện Đúng Công vi c Công vi c JMP 3.3 Các cấu trúc lập trình thực hợp ngữ II Các CÊu tróc lùa chän CÊu tróc CASE CASE (biĨu_thøc) gt1: công _vi c_1 gt2: công _vi c_2 gtn: IF THEN... DO Sa i Jxxx Điều kiện Đúng Công vi c JMP 3.3 Các cấu trúc lập trình thực hợp ngữ III Các Cấu trúc lặp Cấu trúc REPEAT - UNTIL REPEAT UNTIL Công vi c Điều

Ngày đăng: 21/01/2018, 15:48

w