Bài giảng Kiến trúc máy tính và hợp ngữ - Chương 4: Lập trình hợp ngữ (Phần 1). Nội dung trình bày trong chương này gồm có: Ngôn ngữ lập trình, ngôn ngữ máy (Machine Laguage), instruction, ISA (Instruction Set Architecture), thiết kế ISA, hợp ngữ,. . | KIẾN TRÚC MÁY TÍNH & HỢP NGỮ ThS Vũ Minh Trí – vmtri@ 04 – Lập trình hợp ngữ (Phần 1) Ngôn ngữ lập trình 2 Là loại ngôn ngữ nhân tạo (Ví dụ: C/C++) được cấu thành bởi 2 yếu tố chính: Từ vựng: là các keyword (struct, enum, if, int ) Ngữ pháp: syntax (if( ){} else{}, do{} while() ) Ngôn ngữ lập trình giúp cho người sử dụng nó (gọi là lập trình viên) có thể diễn đạt và mô tả các hướng dẫn cho máy tính hoạt động theo ý muốn của mình Độ phức tạp (trừu tượng) của các hướng dẫn này quyết định thứ bậc của ngôn ngữ Độ phức tạp càng cao thì bậc càng thấp Ví dụ: C Sharp (C#) là ngôn ngữ bậc cao hơn C Nhận xét 3 Ngôn ngữ nào mà con người dễ hiểu nhất lại là ngôn ngữ máy tính “khó hiểu” nhất Ngôn ngữ bậc càng cao thì con người càng dễ hiểu nhưng máy tính lại càng “khó hiểu” Nhưng máy tính lại là nơi chúng ta cần nó hiểu đúng và nhanh nhất để có thể thực thi những gì chúng ta muốn Ngôn ngữ máy (Machine language) If (n>0) { n=-1; } OK ??? If (n>0) { n=-1; } Ngôn ngữ máy (Machine Laguage) 4 Ngôn ngữ máy cho phép người lập trình đưa ra các hướng dẫn đơn giản mà bộ vi xử lý (CPU) có thể thực hiện được ngay Các hướng dẫn này được gọi là chỉ thị / lệnh (instruction) hoặc mã máy (machine code) Mỗi bộ vi xử lý (CPU) có 1 ngôn ngữ riêng, gọi là bộ lệnh (instruction set) Trong cùng 1 dòng vi xử lý (processor family) bộ lệnh gần giống nhau Instruction set Instruction 5 Là dãy bit chứa yêu cầu mà bộ xử lý trong CPU (ALU) phải thực hiện Instruction gồm 2 thành phần: Mã lệnh (opcode): thao tác cần thực hiện Thông tin về toán hạng (operand): các đối tượng bị tác động bởi thao tác chứa trong mã .