Bài giảng Nhập môn Tin học: Chương 3 - Từ Thị Xuân Hiền - Pdf 59

8/9/18

Chương
3: Ngôn ngữ máy
1

(Computer languages)


8/9/18
2

Phân loại ngôn ngữ máy
• Machine language
• Assembly language
• High-level language


8/9/18
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


8/9/18
4


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


8/9/18
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


8/9/18
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


ADDRESS

FOR SCND

ASIDE

AN

ADDRESS

FOR ANSR


8/9/18
10

Hợp ngữ -Assembly/Symbolic language
Ví dụ:
Ngôn ngữ máy dạng nhị phân

NNM dạng Hex

10111000 00000101 00000000

b8 05 00

mov ax, 5

10100011 00000000 00000002

• Assembler: là phần mềm dùng để chương trình hợp ngữ sang ngôn ngữ máy


8/9/18
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



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

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


8/9/18
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




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


8/9/18
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.


8/9/18
21

Trình biên dịch - Compiler
• Compiler:


8/9/18
22

Trình biên dịch - Compiler
• Một máy tính sẽ hỗ trợ các chương trình dịch khác nhau cho những ngôn ngữ




Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status