Bài giảng Nhập môn tin học - Chương 3: Ngôn ngữ máy (Computer languages)

5/18/2022  
1
Chương 3: Ngô n ngữ má y  
(Computer languages)  
5/18/2022  
2
Phân loại ngôn ngữ máy  
❑Machine language  
❑Assembly language  
❑High-level language  
5/18/2022  
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  
5/18/2022  
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  
lệnh của má y.  
trong tập  
❑Operand (Address/Location)  
➢Operand chỉ cho má y tí nh  
đó lệnh sẽ được thực thi.  
mà trên  
5/18/2022  
5
Định dạng của lệnh trong ngôn ngữ máy  
5/18/2022  
6
Ví dụ  
5/18/2022  
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  
5/18/2022  
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  
cho lệnh  
thay vì sử dụng lệnh 1110 (Binary) hoặc 14 (deciaml)  
➢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  
5/18/2022  
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  
SET  
ASIDE  
ASIDE  
AN ADDRESS FOR FRST  
AN ADDRESS FOR SCND  
ADDRESS FOR ANSR  
ASIDE AN  
5/18/2022  
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  
10100011 00000000 00000002 a3 00 02  
10100001 00000000 00000002 a1 00 02  
00000101 00001010 00000000 05 0a 00  
10100011 00000010 00000010 a3 02 02  
mov ax, 5  
mov [200], ax  
mov ax, [200]  
add ax, 10  
mov [202],ax  
5/18/2022  
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  
5/18/2022  
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  
CLA  
ADD  
SUB  
STA  
00 Halt, để kết thúc chương trì nh  
10 Xó a và thêm vào thanh ghi A  
14 Thêm nội dung vào thanh ghi A  
15 Trừ nội dung của thanh ghi A  
30 Lưu trữ thanh ghi A  
5/18/2022  
13  
Hợp ngữ -Assembly/Symbolic language  
❑Ví dụ: chương trì nh cộng 2 số và lưu kết quả  
5/18/2022  
❑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  
location  
Ý nghĩa  
Opcode Address  
0000  
0001  
0002  
0003  
…
10  
14  
30  
00  
1000  
1001  
1002  
Xó a và gán số thứ nhất vào FIRST của thanh ghi A  
Thêm số thứ hai tại SCND của thanh ghi A  
Lưu nội dung của thanh ghi A vào ANSR  
Dừng chương trì nh  
1001  
1002  
1003  
Lưu trữ giá trị trong FIRST  
Lưu trữ giá trị trong SCND  
Lưu trữ giá trị trong ANSR  
5/18/2022  
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  
5/18/2022  
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ó .  
5/18/2022  
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.  
5/18/2022  
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,..  
5/18/2022  
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  
5/18/2022  
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.  
Tải về để xem bản đầy đủ
pptx 57 trang baolam 24380 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn tin học - Chương 3: Ngôn ngữ máy (Computer languages)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pptxbai_giang_nhap_mon_tin_hoc_chuong_3_ngon_ngu_may_computer_la.pptx