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

LẬP TRÌNH ASSEMBLER và các CÔNG cụ lập TRÌNH ASSEMBLER TRÊN máy TÍNH (cấu TRÚC máy TÍNH SLIDE)

69 66 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 69
Dung lượng 669,93 KB

Nội dung

Trắc nghiệm, bài giảng pptx các môn chuyên ngành Y dược và các ngành khác hay nhất có tại “tài liệu ngành Y dược hay nhất”; https://123doc.net/users/home/user_home.php?use_id=7046916. Slide bài giảng môn cấu trúc máy tính ppt dành cho sinh viên chuyên ngành công nghệ - kỹ thuật và các ngành khác. Trong bộ sưu tập có trắc nghiệm kèm đáp án chi tiết các môn, giúp sinh viên tự ôn tập và học tập tốt môn cấu trúc máy tính bậc cao đẳng đại học chuyên ngành công nghệ - kỹ thuật và các ngành khác

Bài LẬP TRÌNH ASSEMBLER VÀ CÁC CƠNG CỤ LẬP TRÌNH ASSEMBLER TRÊN MÁY TÍNH Nội dung 1) 2) 3) 4) 5) Giới thiệu lập trình hợp ngữ Tập lệnh vi xử lý 8086 Công cụ gỡ rối DEBUG Cơng cụ mơ Emu8086 Một vài ví dụ minh họa 1) Giới thiệu lập trình hợp ngữ a) b) c) d) Giới thiệu chung Định nghĩa đọan rút gọn đầy đủ Các phần hợp ngữ Tập tin dạng com exe a) Gii thiu chung ã Hợp ngữ (Assembly language) ngôn ngữ lập trình cấp thấp gắn với ngôn ngữ máy Ngôn ngữ lập trình di dạng ký hiệu, có đặc điểm: Sử dụng ký hiệu hình thức từ gợi nhớ tuân theo qui tắc xác định Mỗi từ gợi nhớ tơng đơng 1-1 víi mét lƯnh cđa CPU b) Định nghĩa đọan rỳt gn v y ã Có hai cách định nghĩa đoạn chơng trình: - Dạng đầy đủ (Full segment definition) - D¹ng rót gän (simplified segment definition) c) Các phần hợp ngữ ã Tệp tin hợp ngữ nguồn: Tập hợp phát biểu hợp ngữ (Assembly language statement) Mỗi phát biểu đợc viết dòng Đó lệnh hp ngữ (Assembly language Instruction) – chØ dÉn hợp ngữ (Assembler directive) Lệnh hp ng ã Khuôn dạng lệnh hợp ngữ [NhÃn:] [Tên gợi nhớ] [toán hạng] [;Ghi chú] ã ã ã ã NhÃn (Label): đợc dùng để thay địa câu lệnh Các câu lệnh khác tham chiếu đến dòng lệnh thông qua nhÃn Tên gợi nhớ (Mnemonic): xác định hành động mà CPU thực Ví dụ: INT 21, MOV Toán hạng (Operand): xác định liệu mà câu lệnh cần xử lý Toán hạng th ờng hằng, tên ghi, tên tợng trng hay biểu thức Ghi (Comment): bắt đầu dấu chấm phẩy ";" đợc sử dụng để ghi lời bình, giải Vùng asembler bỏ qua dịch Các kiểu toán hạng hợp ngữ ã Toán hạng câu lệnh hợp ngữ đợc qui định dới nhiều dạng khác nhau, đợc gọi chế độ địa ã Chế độ địa báo cho CPU biết cách tính giá trị thật toán hạng câu lệnh ã 80x86 cung cấp tổng cộng chế độ địa khác nhau, gom thành nhóm i ii iii Toán hạng ghi Toán hạng trực Toán hạng nhớ i Toán hạng ghi (Register addressing mode) ã ã Trong chế độ địa này, liệu đợc lu ghi làm toán hạng Các ghi sử dụng chế độ địa là: – – – AH,BH,CH, DH, AL,BL,CL,DL AX,BX,CX,DX,SP,BP,SI,DI CS,DS,ES,SS VD: ADD INC CL • MOV Chó ý: AX, BX (AX < AX+BX) (CL < CL+1) BX,DX (BX < DX) - Bộ nhớ không đợc truy nhập chế độ địa - Các ghi lệnh phải phù hợp kích thớc ii Toán hạng trực (Chế độ địa tức Immediate addressing mode) ã ã ã Toán hạng nguồn số (tức giá trị cụ thể bit hay 16 bit đợc rõ câu lệnh) Các giá trị cho dới nhiều dạng: thập phân không dấu có dấu, nhị phân, thập lục phân, tên tợng trng đà đợc định nghĩa lƯnh EQU hay = Ví dụ: MOV AX,500 MOV AH,1001B MOV AX,2000H dong=30 cot EQU 40 • MOV BX,(80*(dong-1)+cot-1)*2 Chó ý: Mọi ghi chế độ địa đợc sử dụng trừ ghi đoạn Muốn chuyển liệu vào ghi đoạn không thực trực tiếp mà thực thông qua ghi đa dụng VD: MOV DS, 0123h ; Lệnh không Sửa lại: MOV AX,0123h MOV DS, AX 10 CHẠY MỘT CHƯƠNG TRÌNH ASSEMBLER • Chạy từ địa đến địa 2: –G • Chạy từng/vài lệnh địa chỉ: –T • [=address1] [address2] [=address] [value] Ví dụ: chạy chương trình từ đ/c 100h –G 100 55 GHI NỘI DUNG ĐOẠN BỘ NHỚ VÀO FILE • Đặt tên file: –N • [tên file] Xác định số byte ghi: –R CX Enter Giá trị • Ghi file: –W [address] 56 Ví dụ ghi file • • • • Tạo chuỗi ký tự nhớ: - E 200 Enter 41 42 43 44 45 Đặt tên file: –N C:\myfile.txt Xác định số byte ghi: –R CX Enter 05 Ghi file: –W 200 Enter 57 LỆNH NHẬP XUẤT CỔNG • • • Nhập cổng: –I Port Ví dụ: đọc liệu từ cổng 60h –I 60 Xuất cổng: –O Port value 58 Phần mềm mơ EMU8086 Cửa sổ chương trình sau khởi động: 59 Tạo thực thi chương trình Nhấn New cơng cụ xuất cửa sổ chọn loại file: 60 Soạn chương trình hợp ngữ nhấn vào Emulate để biên dịch mô chương trình 61 Cửa sổ mơ phỏng: 62 Nếu chương trình có lỗi, cửa sổ thơng báo lỗi xuất hiện: 63 Một vài ví dụ minh họa VD 1: Thực chương trình cộng 49h với 8Ah, lưu kết vào ngăn nhớ [200h] Giải: Nhập chương trình vào emu8086: mov al,49h ;Ghi số 49h vào AL add al,8Ah ;Cộng 49h+8Ah AL mov [200],al ; Lưu vào ngăn nhớ [200h] mov ah,4Ch ;Thốt khỏi chương trình int 21h ;Gọi ngắt int 21h 64 65 Tại cửa sổ mô phỏng, chọn menu View > Flags để hiển thị nội dung cờ 66 VD 2: Dùng ngắt INT 21h/AH= 09h xuất chuỗi hình model small stack 100h data msg db 'Hello$' code main proc mov ax,@data mov ds,ax mov ah,09h ; Xuất chuỗi hình lea dx,msg int 21h exit: mov ah,4Ch int 21h main endp End 67 VD 3: Nhập ký tự từ bàn phím xuất ký tự vừa nhập hình hàng 11, cột 10 .model small stack 100h data msg db 'Hello$' code main proc mov ax,@data mov ds,ax mov ah,08h ; Nhập ký tự từ bàn phím int 21h 68 push ax ;Lưu ký tự vừa nhập mov ah,02h ;Chuyển toạ độ trỏ mov dx,0B0Ah int 10h pop ax mov dl,al ;Xuất ký tự mov ah,02h int 21h mov ah,4Ch int 21h main endp End 69 ...Nội dung 1) 2) 3) 4) 5) Giới thiệu lập trình hợp ngữ Tập lệnh vi xử lý 8086 Công cụ gỡ rối DEBUG Công cụ mô Emu8086 Một vài ví dụ minh họa 1) Giới thiệu lập trình hợp ngữ a) b) c) d) Giới thiệu... thúc chơng trình dạng Far Nếu dùng RET dạng Near hay far lệnh Ret phụ thuộc vào lệnh khai báo chơng trình Proc near hay far + Có cách định nghĩa chơng trình con: Cách 1: Tên_chương _trình_ conProc... đoạn CS lẫn ghi IP VD v lnh JMP Label: Viết chơng trình khởi động lại máy tính mà không cần ấn nút RESET, biết đoạn chơng trình khởi động máy tính ROM BIOS bắt đầu địa F000:E05B Bios Segment AT

Ngày đăng: 22/03/2021, 17:02

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

TÀI LIỆU LIÊN QUAN

w