Giới thiệu chung " Mỗi bộ xử lý có một tập lệnh xác định = Tap lệnh thờng từ hàng chục đến hàng trăm lệnh "“ Mỗi lệnh là một chuôi số nhị phân mà BXL hiểu đợc để thực hiện một thao tá
Trang 2Ndi dung bai giỏng
" Chong 1: Gidi thiéu chung
" Chong 2: Biéu dién DL & sé hoc may tinh
Trang 3Nội dung chơng 4
" Giới thiệu chung
" Các kiểu toán hạng
" Các kiểu thao tác
" Cac mode dia chi
Trang 4Giới thiệu chung
" Mỗi bộ xử lý có một tập lệnh xác định
= Tap lệnh thờng từ hàng chục đến hàng trăm
lệnh
"“ Mỗi lệnh là một chuôi số nhị phân mà BXL
hiểu đợc để thực hiện một thao tác xác định
" Các lệnh đợc mô tả băng ký hiệu gợi nhớ —
đó là các lệnh hợp ngữ
Trang 5Giỏn đồ trạng thói của chu kỳ lệnh
Trang 6Giỏn đồ trạng thói của chu kỳ lệnh
địa chỉ
oán hạng
Kết thúc lênh, nhận lệnh lếp theo
Có kiểm tra ngắt
Trang 7Cếu trúc lệnh mũ máy
ML Ì lệnh Các toán hạng
= MU lénh (opcode): cho biét thao tac can thuc hién
= Cac toan hang (Operands): cho biét:
° Nơi chứa dữ liệu cần tác động vào: t/h nguồn, t/h đích
°- Cho biết địa chỉ của lệnh tiếp theo
Trang 9Cac kiéu todn hang
Trang 10Số long toadn hang
° Loại này không phổ dụng
° Cần rất nhiều từ lệnh dài để chứa loại này
" Vi du: SUB r1, r2, r3 (Motorola)
10
Trang 11Số long toadn hang
Trang 12Số long toadn hang
” 1 toán hạng:
° Toán hạng thờng là một thanh ghi
° Toán hạng thứ hai đợc ngầm hiểu
°- Phổ dụng trong các máy xa xa
= Vi du: PUSH AX
12
Trang 13Số long toadn hang
Trang 15Cac kiéu thao tac
“ Các lệnh chuyển dữ liệu
" Các lệnh số học
” Các lệnh logic
* Cac lénh vao/ra
" Cac lénh diéu khién hé thong
™" Cac lénh chuyén diéu khiển
15
Trang 16* LOAD: copy dữ liệu từ bộ nhớ đến BXL
EXCHANGE:_ trao đổi nội dung của nguồn và đích
16
Trang 17SUBTRACT: — tinh hiéu hai toan hang
MULTIPLY: — tinh tich hai toan hang
DIVIDE: tich thong hai toan hang
ABSOLUTE: lấy giá trị tuyệt đối của toán hạng
INCREMENT: tang toán hạng lên {
DECREMENT: giảm toán hạng đi {
17
Trang 18* AND: — thuc hién AND bit hai toan hang
OR: — thuc hién OR bit hai toan hang
XOR: _ thuc hién XOR bit hai toán hạng
NOT: đảo bit của toán hạng (lấy bù 1)
TEST: thực hiện AND hai toán hạng để lập cờ
SHIFT: thuc hiện dịch bit toán hạng
ROTATE: thuc hiện quay bit toan hang
COMPARE: _ so sanh hai toán hạng
18
Trang 19Cóc lệnh vỏo ro
" Đặc điểm:
° Trao đổi dữ liệu với thiết bị ngoại vi
” Các lệnh:
°.JNPUT: copy dữ liệu từ một cổng xác định đến đích
°- OUTPUT: copy dữ liệu từ nguồn đến cổng xác định
°- START l/O: chuyển các lệnh đến BXL vào/ra để khởi
tạo thao tác vao/ra
* TEST l/O: chuyển thông tin trạng thái từ hệ thống vàoira
đến đích xác định
19
Trang 20Cóc lệnh điều khiển hệ thống
” HAL [: dừng thực hiện chong trinh
“ WAIT: dừng thực hiện chơng trình; liên tục
kiểm tra điều kiện đợc chỉ định; chơng trình đ
ợc thực hiện khi điều kiện đợc thỏa mLn
“ NO OPEEATION: không có thao tác nào đợc
thực hiện, nhng chơng trình vẫn tiếp tục chạy
20
Trang 21Cac lệnh chuyển điều khiển
" Đặc điểm:
°- Điều khiến rẽ nhánh trong chơng trình
° PC đợc nạp giá trị địa chỉ mới
” Các lệnh:
° JUMP: nháy không điều kiện đến lệnh mới
* JUMP CONDITIONAL: nhảy có điều kiện
Trang 22Minh họo lệnh gọi CTC
CALL Procl
CALL Proc2
CALL Proc2
RETURN
Procedure Proc!
Trang 23Thé hién 6 Stack ®
Trang 24
Cac mode dia chi
“ Toán hạng có thể là:
° Một giá trị cụ thể
° Nội dung của thanh ghi
° Nội dung của ngăn nhớ
°- Nội dung của cổng vào ra
= Mode dia chi la cach thức địa chỉ hóa trong
lệnh để xác định toán hạng
24
Trang 25Cac mode dia chi
“ Mode địa chỉ tức thì
= Mode dia chi truc tiếp
= Mode dia chi gian tiép
= Mode dia chi thanh ghi
= Mode dia chi gian tiép qua thanh ghi
" Mode dia chi dich chuyén
= Mode dia chi stack
25
Trang 26Mode dia chi tic thi
= Toan hang la mot phan cua lénh
" Toán hạng năm ngay trong trờng địa chỉ
" Chỉ có thể là toán hạng nguồn
“ Truy nhập toán hạng rất nhanh
" Dài giá trị của toán hạng bị hạn chế
“Vídu: ADDAX, 10
26
Trang 27Sơ đồ mode địa chỉ tức thi
Trang 28Mode dia chi truc tiép
= Toan hang là ngăn nhớ có địa chỉ đợc chỉ ra
trong lệnh
“ BXL tham chiếu bộ nhớ một lần để truy nhập
dứ liệu
“ Không gian địa chỉ là hữu hạn
“Vídu: ADD AL,[100]
28
Trang 29Sơ đồ mode địa chỉ trực tiếp
Trang 30Mode dia chi gidn tiép
= Toán hạng là nội dung của ngăn nhớ có địa
chỉ năm trong một ngăn nhớ khác, ngăn nhớ khác đó đợc thể hiện trong lệnh
“ Vùng nhớ có thể đợc tham chiếu là lớn
“ Có thể gián tiếp nhiều lần
“ BXL phải thực hiện tham chiếu bộ nhớ nhiều
lần để tìm toán hạng — chậm
“ Ví dụ: ADD AH, [a]
30
Trang 31Sơ đồ mode địa chỉ gión tiếp
Trang 32Mode dia chi thanh ghi
“ Toán hang là nội dung của một thanh ghi
“ Số lợng thanh ghi có hạn
“ Trờng địa chỉ nhỏ (chỉ cần ít bit)
° Độ dài lệnh ngắn hơn
° Nhân lệnh nhanh hơn
“ Không tham chiếu bộ nhớ
" Truy nhap toan hang nhanh
“ Tăng số lợng thanh ghi —› tăng tốc độ
=" Vi du: ADD AL, AH
32
Trang 33Sơ đồ mode địa chỉ thonh ghi
Trang 34Mode dia chi gión tiếp qua thanh ghi
" Toan hang là ngăn nhớ có dia chi nam trong
mot thanh ghi
= Thanh ghi nay doc goi la thanh ghi con tro
“ Vùng nhớ có thể đợc tham chiếu là lớn: 2n,
trong đó n là độ dài (bit) của thanh ghi
“ Ví dụ: SUB AL, [BX]
34
Trang 35Sơ đồ mode gidn tiép qua thanh ghi
Trang 36Mode dia chi dich chuyén
= Kat hợp hai mode:
° Mode gian ti€p qua thanh ghi
° Mode trực tiếp
“ Trờng địa chứa hai thành phần:
° lên một thanh ghi
° Một hằng số
" Địa chỉ toán hạng = ND thanh ghi = hằng số
* Vi du: ADD AL, [SI + 50]
36
Trang 37Sơ đồ mode địa chỉ dịch chuyển
Dia chi của tíhạng
Trang 38Mode dia chi stack
" Toan hạng đợc ngâm hiểu là ngăn nhớ đỉnh