Bài giảng Nhập môn Tin học - Chương 3: Ngôn ngữ máy
lượt xem 4
download
Bài giảng Nhập môn Tin học - Chương 3: Ngôn ngữ máy, cung cấp cho người học những kiến thức như: Phân loại ngôn ngữ máy; Định dạng của lệnh trong ngôn ngữ máy; Thuận lợi và bất lợi của ngôn ngữ máy; hợp ngữ - Assembly/Symbolic language; ngôn ngữ trung gian của trình biên dịch và thông dịch;...Mời các bạn cùng tham khảo!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Nhập môn Tin học - Chương 3: Ngôn ngữ máy
- 1/19/22 Chương 1 3: Ngôn ngữ máy (Computer languages)
- 1/19/22 2 Phân loại ngôn ngữ máy • Machine language • Assembly language • High-level language
- 1/19/22 3 Ngôn ngữ máy - Machine language • Là ngôn ngữ duy nhất mà bộ vi xử lý nhận biết và thực hiện trực tiếp không cần sử dụng chương trình dịch. • Thường được viết dưới dạng chuỗi các bit nhị phân 0 và 1 • Thường khó đọc • Lệnh thực thi nhanh vì các lệnh được đọc và thực thi trực tiếp
- 1/19/22 4 Định dạng của lệnh trong ngôn ngữ máy • Opcode- Operation code • Opcode báo cho máy tính thực hiện lệnh nào trong tập lệnh của máy. • Operand (Address/Location) • Operand chỉ cho máy tính địa chỉ của dữ liệu mà trên đó lệnh sẽ được thực thi.
- 1/19/22 5 Định dạng của lệnh trong ngôn ngữ máy
- 1/19/22 6 Ví dụ
- 1/19/22 7 Thuận lợi và bất lợi của ngôn ngữ máy • Thuận lợi: • Lệnh thực hiện rất nhanh • Bất lợi: • Phụ thuộc vào máy • Khó viết chương trình • Dễ bị lỗi • Khó hiệu chỉnh
- 1/19/22 8 Hợp ngữ -Assembly/Symbolic language • Là ngôn ngữ lập trình mà giải quyết những hạn chế của ngôn ngữ máy • Sử dụng mã chữ và số thay vì mã số cho các chỉ thị trong tập lệnh. Ví dụ: sử dụng lệnh ADD thay vì sử dụng lệnh 1110 (Binary) hoặc 14 (deciaml) cho lệnh cộng. • Cho phép các vị trí lưu trữ được biểu diễn theo dạng thức địa chỉ chữ và số thay vì địa chỉ số Ví dụ: biểu diễn vị trí bộ nhớ 1000, 1001, 1002 cho lệnh FIRST, SCND, ANSR
- 1/19/22 9 Hợp ngữ -Assembly/Symbolic language • Cung cấp những lệnh giả được sử dụng để hướng dẫn hệ thống gắn kết các lệnh của chương trình vào trong bộ nhớ của máy tính. Ví dụ: START PROGRAM AT 0000 START DATA AT 1000 SET ASIDE AN ADDRESS FOR FRST SET ASIDE AN ADDRESS FOR SCND ASIDE AN ADDRESS FOR ANSR
- 1/19/22 10 Hợp ngữ -Assembly/Symbolic language Ví dụ: Ngôn ngữ máy dạng nhị phân NNM dạng Hex NN Assembly 10111000 00000101 00000000 b8 05 00 mov ax, 5 10100011 00000000 00000002 a3 00 02 mov [200], ax 10100001 00000000 00000002 a1 00 02 mov ax, [200] 00000101 00001010 00000000 05 0a 00 add ax, 10 10100011 00000010 00000010 a3 02 02 mov [202],ax
- 1/19/22 11 Hợp ngữ -Assembly/Symbolic language • Assembler: là phần mềm dùng để chương trình hợp ngữ sang ngôn ngữ máy
- 1/19/22 12 Hợp ngữ -Assembly/Symbolic language • Ví dụ: các lệnh trong tập lệnh của hợp ngữ Mnemonic Opcode Meaning HLT 00 Halt, để kết thúc chương trình CLA 10 Xóa và thêm vào thanh ghi A ADD 14 Thêm nội dung vào thanh ghi A SUB 15 Trừ nội dung của thanh ghi A STA 30 Lưu trữ thanh ghi A
- 1/19/22 13 Hợp ngữ -Assembly/Symbolic language • Ví dụ: chương trình cộng 2 số và lưu kết quả
- 1/19/22 • Tương đương giữa chương trình sử dụng ngôn máy và chương 14 trình sử dụng ngôn ngữ Assembly Nội dung Memory Opcode Address Ý nghĩa location 0000 10 1000 Xóa và gán số thứ nhất vào FIRST của thanh ghi A 0001 14 1001 Thêm số thứ hai tại SCND của thanh ghi A 0002 30 1002 Lưu nội dung của thanh ghi A vào ANSR 0003 00 Dừng chương trình … 1001 Lưu trữ giá trị trong FIRST 1002 Lưu trữ giá trị trong SCND 1003 Lưu trữ giá trị trong ANSR
- 1/19/22 15 Thuận lợi và bất lợi của ngôn ngữ Assembly • Thuận lợi: • Dễ hiểu và dễ sử dụng • Dễ định vị hơn và sửa lỗi chính xác • Dễ hiệu chỉnh chương trình • Không quan tâm đến địa chỉ • Dễ dàng xác định đúng vị trí • Hiệu xuất cao hơn ngôn ngữ máy tính
- 1/19/22 16 Thuận lợi và bất lợi của ngôn ngữ Assembly • Bất lợi: • Phụ thuộc vào máy • Người lập trình phải có kiến thức về phần cứng • Các lệnh chỉ được viết ở mức mã máy nên viết chương trình bằng hợp ngữ vẫn còn mất thời gian và khó.
- 1/19/22 17 Ngôn ngữ cấp cao – High-level language • Không phụ thuộc vào máy • Người lập trình không cần biết nhiều về cấu trúc bên trong của máy tính, nơi mà chương trình viết bằng ngôn ngữ cấp cao sẽ thực thi. • Ngôn ngữ cấp cao cho phép người lập trình sử dụng các lệnh gần với ngôn ngữ tự nhiên, các biểu thức và các ký hiệu toán học.
- 1/19/22 18 Ngôn ngữ cấp cao – High-level language • Các loại ngôn ngữ lập trình cấp cao : • Ngôn ngữ đa mục đích: Basic, C, C++, C#, Java, Fortran, Pascal • Ngôn ngữ lập trình stack: TrueType, Postscript,... • Lập trình khai báo: C, Pascal,... • Ngôn ngữ lập trình logic, lập trình thủ tục & lập trình hàm: Prolog, Lisp,.. • Ngôn ngữ lập trình hướng đối tượng: C++, C#, Java,..
- 1/19/22 19 Ngôn ngữ cấp cao – High-level language • Ví dụ: chương trình trên được viết bằng ngôn ngữ cấp cao C: short i, j; // khai báo 2 biên i, j thuộc kiểu số nguyên 16 bit i = 5; // chứa 5 vào biến i j = i +10; // chứa kết quả tính công thức i + 10 vào biến j
- 1/19/22 20 Trình biên dịch - Compiler • Là chương trình dịch dùng để chuyển một chương trình được viết bằng ngôn ngữ cấp cao thành một chương trình bằng ngôn ngữ máy. • Biên dịch thành một tập các chỉ thị của ngôn ngữ máy cho các chỉ thị trong chương trình của ngôn ngữ cấp cao.
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Nhập môn Tin học - GV. Nguyễn Thị Thảo
53 p | 355 | 59
-
Bài giảng Nhập môn tin học - Chương 3: Biểu diên dữ liệu
108 p | 225 | 27
-
Bài giảng Nhập môn tin học - Chương 2: Tổ chức máy vi tính
67 p | 148 | 13
-
Bài giảng Nhập môn tin học - Chương 1: Giới thiệu về tin học
45 p | 129 | 12
-
Bài giảng Nhập môn tin học - Chương 5: Giới thiệu mạng lưới máy tính
62 p | 139 | 12
-
Bài giảng Nhập môn tin học: Chương 9 - Trần Thị Kim Chi
86 p | 129 | 11
-
Bài giảng Nhập môn tin học
89 p | 116 | 10
-
Bài giảng Nhập môn tin học - Chương 4: Giới thiệu hệ điều hành
64 p | 106 | 10
-
Bài giảng Nhập môn tin học: Chương 2 - Trần Thị Kim Chi
54 p | 95 | 9
-
Bài giảng Nhập môn tin học: Chương 2 - Trần Phước Tuấn
46 p | 84 | 6
-
Bài giảng Nhập môn Tin học: Chương 3 - Từ Thị Xuân Hiền
50 p | 58 | 6
-
Bài giảng Nhập môn Tin học: Chương 1 - Thông tin & xử lý thông tin
35 p | 74 | 6
-
Bài giảng Nhập môn tin học: Chương 1 - Trần Phước Tuấn
24 p | 125 | 6
-
Bài giảng Nhập môn tin học: Giới thiệu - TS. Đào Nam Anh
58 p | 77 | 5
-
Bài giảng Nhập môn Tin học: Chương 4 - ThS. Trương Vĩnh Hảo
21 p | 74 | 4
-
Bài giảng Nhập môn Tin học - Chương 8: Mạng máy tính - Các mối đe dọa hệ thống thông tin
35 p | 61 | 4
-
Bài giảng Nhập môn Tin học - Chương 1: Giới thiệu
30 p | 69 | 3
-
Bài giảng Nhập môn Tin học: Chương 3 - Ngô Quang Thạch
22 p | 61 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn