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 đủ
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:
bai_giang_nhap_mon_tin_hoc_chuong_3_ngon_ngu_may_computer_la.pptx

