Bài giảng Hệ thống máy tính và ngôn ngữ C - Chương 4: Mô hình von Neumann và kiến trúc tập lệnh LC-3

4.1 Các thành phần cơ bản

4.2 Một ví dụ về mô hình von Neumann: LC-3

4.3 Quá trình xử lý lệnh

4.4 Thay đổi quá trình xử lý lệnh

4.5 Khái niệm ISA LC-3

4.6 Nhóm lệnh thi hành

4.7 Nhóm lệnh di chuyển dữ liệu

4.8 Nhóm lệnh điều khiển

4.9 Ba cấu trúc lệnh trong LC-3

4.10 Một ví dụ

Bài giảng Hệ thống máy tính và ngôn ngữ C - Chương 4: Mô hình von Neumann và kiến trúc tập lệnh LC-3 trang 1

Trang 1

Bài giảng Hệ thống máy tính và ngôn ngữ C - Chương 4: Mô hình von Neumann và kiến trúc tập lệnh LC-3 trang 2

Trang 2

Bài giảng Hệ thống máy tính và ngôn ngữ C - Chương 4: Mô hình von Neumann và kiến trúc tập lệnh LC-3 trang 3

Trang 3

Bài giảng Hệ thống máy tính và ngôn ngữ C - Chương 4: Mô hình von Neumann và kiến trúc tập lệnh LC-3 trang 4

Trang 4

Bài giảng Hệ thống máy tính và ngôn ngữ C - Chương 4: Mô hình von Neumann và kiến trúc tập lệnh LC-3 trang 5

Trang 5

Bài giảng Hệ thống máy tính và ngôn ngữ C - Chương 4: Mô hình von Neumann và kiến trúc tập lệnh LC-3 trang 6

Trang 6

Bài giảng Hệ thống máy tính và ngôn ngữ C - Chương 4: Mô hình von Neumann và kiến trúc tập lệnh LC-3 trang 7

Trang 7

Bài giảng Hệ thống máy tính và ngôn ngữ C - Chương 4: Mô hình von Neumann và kiến trúc tập lệnh LC-3 trang 8

Trang 8

Bài giảng Hệ thống máy tính và ngôn ngữ C - Chương 4: Mô hình von Neumann và kiến trúc tập lệnh LC-3 trang 9

Trang 9

Bài giảng Hệ thống máy tính và ngôn ngữ C - Chương 4: Mô hình von Neumann và kiến trúc tập lệnh LC-3 trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 90 trang xuanhieu 4660
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Hệ thống máy tính và ngôn ngữ C - Chương 4: Mô hình von Neumann và kiến trúc tập lệnh LC-3", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Hệ thống máy tính và ngôn ngữ C - Chương 4: Mô hình von Neumann và kiến trúc tập lệnh LC-3

Bài giảng Hệ thống máy tính và ngôn ngữ C - Chương 4: Mô hình von Neumann và kiến trúc tập lệnh LC-3
c dấu chấm cố định hay số thực dấu
chấm động.
Trong kiến trúc tập lệnh LC-3, kiểu dữ liệu duy nhất
được sử dụng là dạng số nguyên bù 2.
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.5 Khái niệm ISA LC-3
4.5.6 Các kiểu định vị địa chỉ 
Một kiểu định vị địa chỉ là một cơ chế để xác định toán
hạng ở đâu. Tổng quát, một toán hạng có thể được tìm
ở một trong ba chỗ: trong bộ nhớ, trong một thanh ghi,
hoặc là một phần của lệnh. Nếu nó là một phần của
lệnh, ta gọi nó là toán hạng tức thời.
LC-3 sử dụng năm kiểu định vị địa chỉ: tức thời, thanh
ghi, và ba kiểu định vị địa chỉ bộ nhớ là PC-relative,
gián tiếp và Base+offset.
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.5 Khái niệm ISA LC-3
4.5.7 Các mã điều kiện
Hầu như tất cả các ISA đều cho phép quá trình thực
hiện lệnh được thay đổi tùy thuộc vào kết quả được tạo
ra trước đó.
LC-3 có ba thanh ghi một bit được đặt (set to 1) hay
xóa (xóa về 0) mỗi khi một trong tám thanh ghi đa
dụng được ghi trị. Ba thanh ghi một bit này được gọi là
các thanh ghi trạng thái N, Z, và P
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.6 Nhóm lệnh thi hành
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.6 Nhóm lệnh thi hành
Ví dụ 4.4: Nếu R5 đang chứa 0101000011110000,
thì sau khi thực hiện xong lệnh sau:
thanh ghi R3 sẽ lưu 1010111100001111.
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.6 Nhóm lệnh thi hành
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.6 Nhóm lệnh thi hành
Ví dụ 4.5: Nếu R4 chứa trị 6 và R5 chứa trị -18, sau khi lệnh
dưới được thực thi
thì thanh ghi R1 chứa trị -12.
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.6 Nhóm lệnh thi hành
Nếu bit [5] là 1, toán hạng nguồn thứ hai được chứa
ngay bên trong lệnh, và có được bằng phép mỡ rộng
dấu 5 bit [4:0] thành 16 bit trước khi thực hiện phép
ADD hoặc AND. Hình 4.5 trình bày các phần quan
trọng của đường truyền dữ liệu để thực hiện lệnh ADD
R1, R4, #-2.
Cũng cần lưu ý là vùng trị tức thời này chỉ có 5 bit ở
dạng bù 2, nên nó chỉ có thể chứa trị trong khoảng -
16..15 mà thôi.
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.6 Nhóm lệnh thi hành
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.6 Nhóm lệnh thi hành
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.6 Nhóm lệnh thi hành
Ví dụ 4.8: ba lệnh dưới đây thực hiện việc tính hiệu hai trị
đang nằm trong hai thanh ghi R0 và R1.
Hai lệnh đầu (NOT R1, R1 và ADD R2, R1, 1) sẽ tính bù 2 của
trị đang có trong thanh ghi R1.
Lệnh ADD R2, R0, R2 tính hiệu giữa hai trị ban đầu trong R0
và R1 theo yêu cầu.
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.7 Nhóm lệnh di chuyển dữ liệu
Nhóm lệnh chuyển dữ liệu thực hiện việc sao chép thông tin qua
lại giữa các thanh ghi đa dụng và bộ nhớ, giữa các thanh ghi và
các thiết bị xuất nhập.
Quá trình chép thông tin từ bộ nhớ vào thanh ghi được gọi là nạp
(load), và quá trình chép thông tin từ thanh ghi vào bộ nhớ gọi
là lưu (store) . Trong cả hai trường hợp, thông tin trong toán
hạng nguồn không đổi, còn thông tin cũ trong toán hạng đích đã
bị ghi đè bởi thông tin mới sau quá trình chép.
LC-3 có bảy lệnh thực hiện việc sao chép dữ liệu: LD, LDR,
LDI, LEA, ST, STR, và STI.
Định dạng chung cho các lệnh này là
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.7 Nhóm lệnh di chuyển dữ liệu
Các lệnh chuyển dữ liệu cần hai toán hạng, một nguồn và một
đích. Toán hạng nguồn là nơi dữ liệu cần được chép, còn toán
hạng đích là là nơi cần chép thông tin vào.
Trong định dạng trên, các bit [15:12] xác định mã thao tác
opcode, các bit [11:9] quy định một trong hai toán hạng, là
thanh ghi có mã theo quy ước. Các bit [8:0] chứa các bit tạo địa
chỉ (Address generation bits), mã hóa thông tin để tính ra địa chỉ
16 bit của toán hạng thứ hai.
LC-3 có bốn kiểu định vị địa chỉ: định vị tương đối từ PC (PC-
Relative mode), định vị gián tiếp (Indirect mode), định vị base +
offset (base+offset mode), và định vị tức thời (immediate
mode).
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.7 Nhóm lệnh di chuyển dữ liệu
4.7.1 PC-relative mode 
Lệnh LD (opcode = 0010) và ST (opcode = 0011) dùng
kiểu định vị tương đối PC. Các bit [8:0] của lệnh xác
định một độ dời (offset) tính từ thanh ghi PC. Địa chỉ
bộ nhớ được tính từ tổng của 16 bit địa chỉ sau phép
mở rộng dấu từ các bit [8:0] và thanh ghi PC đã được
tăng 1 sau pha FETCH. Với lệnh LD, ô nhớ tương ứng
với địa chỉ bộ nhớ đã tính được đọc, và ghi vào thanh
ghi được xác định bởi các bit [11:9] của lệnh.
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.7 Nhóm lệnh di chuyển dữ liệu
4.7.1 PC-relative mode 
Ví dụ 4.9: Nếu lệnh
nằm ở ô nhớ có địa chỉ x4018, thì nội dung ô nhớ có địa chỉ x4019
+ SEXT (x1AF) = x4019 + xFFAF = x3FC8 (bỏ bit 1 do vượt
quá chiều dài 16 bit) sẽ được đọc và nạp vào thanh ghi R2.
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.7 Nhóm lệnh di 
chuyển dữ liệu
4.7.1 PC-relative 
mode 
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.7 Nhóm lệnh di chuyển dữ liệu
4.7.2 Indirect mode
Lệnh LDI (opcode = 1010) và lệnh STI (opcode = 1011) sử
dụng kiểu định vị địa chỉ gián tiếp. Với kiểu định vị này, địa chỉ
đầu tiên được tạo ra cũng tương tự như với lệnh LD và ST.
Tuy nhiên, thay vì đây địa chỉ của toán hạng chứa dữ liệu cần
được nạp hay lưu, thì toán hạng này lại chứa địa chỉ của toán hạng
là dữ liệu cần được nạp hay lưu. Vì phải qua trung gian như vậy
nên ta mới có kiểu định vị địa chỉ gián tiếp. Với kiểu định vị này, ta
thấy toán hạng chứa dữ liệu cần làm việc có thể ở bất cứ đâu trong
bộ nhớ 64K, chứ không bị giới hạn trong tầm 9 bit [8:0] như trong
trường hợp lệnh LD và ST. Thanh ghi đích cho LDI và thanh ghi
nguồn trong STI cũng được xác định bằng các bit [11:9] trong lệnh.
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.7 Nhóm lệnh di chuyển dữ liệu
4.7.2 Indirect mode
Ví dụ 4.10: Nếu lệnh
ở địa chỉ x4A1B, và chứa đựng của x49E8 là x2110, việc thực thi
lệnh này sẽ lấy dữ liệu từ ô nhớ có địa chỉ x2110 nạp vào thanh
ghi R3.
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.7 Nhóm lệnh di 
chuyển dữ liệu
4.7.2 Indirect mode
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.7 Nhóm lệnh di chuyển dữ liệu
4.7.3 Base+offset mode
Lệnh LDR (opcode = 0110) và STR (opcode = 0111) dùng kiểu
định vị Base+offset. Kiểu định vị này xác định địa chỉ toán
hạng trong bộ nhớ 64K bằng cách lấy 6 bit offset được mở rộng
dấu IR[5:0] cộng với thanh ghi nền trong vùng IR[8:6].
Ví dụ 4.11: Nếu R2 đang chứa trị 16 bit x2345, lệnh
nạp R1 nội dung của ô nhớ x2362 (x2345 + x1D). 
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.7 Nhóm lệnh di 
chuyển dữ liệu
4.7.3 Base+offset 
mode
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.7 Nhóm lệnh di chuyển dữ liệu
4.7.4 Immediate mode
Ví dụ 4.12: Nếu ô nhớ x4018 chứa lệnh LEA R5, #-3, và thanh ghi
PC chứa x4018, ta có lệnh
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.7 Nhóm lệnh di chuyển dữ liệu
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.7 Nhóm lệnh di chuyển dữ liệu
4.7.5 Ví dụ: Giả sử các lệnh được chứa trong các ô nhớ từ địa 
chỉ x30F6 tới x30FC như hình 4.10 sau.
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.8 Nhóm lệnh điều khiển
Các lệnh điều khiển thay đổi trình tự các lệnh thực thi trong
chương trình. LC-3 có năm mã lệnh thực hiện việc này: lệnh rẽ
nhánh (Branch) có điều kiện, lệnh nhảy (Jump) không điều
kiện, gọi chương trình con, TRAP, và lệnh trả vể từ ngắt
(Interrupt). Trong mục này chủ yếu chúng ta nói về lệnh rẽ
nhánh có điều kiện, lệnh nhảy không điều kiện, và TRAP.
4.8.1 Lệnh rẽ nhánh có điều kiện 
Định dạng của lệnh rẻ nhánh có điều kiện (opcode = 0000) như
sau:
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.8 Nhóm lệnh điều khiển
4.8.1 Lệnh rẽ nhánh có điều kiện 
Trong LC-3, tất cả các lệnh mà có ghi trị vào các thanh ghi đa
dụng sẽ đặt trị cho ba mã điều kiện (NZP) là ADD, AND, NOT,
LD, LDI, LDR, và LEA.
Các mã điều kiện được lệnh rẽ nhánh có điều kiện sử dụng để
xác định xem có thay đổi trình tự lệnh hay không; nghĩa là, xem
sự thực thi lệnh có theo trình tự thường thấy như là kết quả của
việc tăng thanh ghi PC trong phase FETCH của mỗi lệnh hay
không.
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.8 Nhóm lệnh điều khiển
4.8.1 Lệnh rẽ nhánh có điều kiện 
Trong khi thực hiện phase EXECUTE, bộ xử lý khảo
sát các mã điều kiện mà các bit tương ứng của nó trong
lệnh là 1.
Nếu có một mã điều kiện mà được kiểm tra và thấy
bằng 1, thanh ghi PC được nạp bằng địa chỉ có được
trong phase EVALUATE ADDRESS.
Ngược lại, khi không có một mã điều kiện mà được
kiểm tra và thấy bằng 1, PC giữ trị không đổi.
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.8 Nhóm lệnh điều khiển
4.8.1 Lệnh rẽ nhánh có điều kiện 
Ví dụ 4.13: Nếu giá trị cuối cùng được nạp vào một
thanh ghi đa dụng nào đó là 0, thì lệnh hiện thời (ở ô
nhớ x4027) dưới đây sẽ nạp thanh ghi PC bằng trị
x4101 (x4028 + x0D9), tức lệnh kế cần thực thi sẽ ở ô
nhớ x4101, chứ không phải ở ô nhớ x4028.
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.8 Nhóm lệnh điều khiển
4.8.1 Lệnh rẽ nhánh có điều kiện 
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.8 Nhóm lệnh điều khiển
4.8.1 Lệnh rẽ nhánh có điều kiện
Nếu tất cả ba bit [11:9] đều là 1????
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.8 Nhóm lệnh điều khiển
4.8.1 Lệnh rẽ nhánh có điều kiện
Ví dụ 4.14: Nếu lệnh sau đây
ở ô nhớ x507B được thực thi, thi thanh ghi PC được nạp trị
x5201. Độc giả hãy suy nghĩ xem nếu tất cả ba bit [11:9] trong
lệnh BR đều bằng không, điều gì sẽ xảy ra?
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.8 Nhóm lệnh điều khiển
4.8.2 Ví dụ 
Giả sử chúng ta đã có 12 ô nhớ từ x3100 tới x310B chứa 12 số
nguyên mà chúng ta cần tính tổng.
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.8 Nhóm lệnh điều khiển
4.8.2 Ví dụ 
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.8 Nhóm lệnh điều khiển
4.8.3 Hai phương pháp điều khiển lặp
Chúng ta dùng thuật ngữ lặp (loop) để mô tả chuỗi
lệnh cần được thực thi lặp đi lặp lại theo một cơ chế
điều khiển nào đó.
Mỗi khi thân vòng lặp được thực hiện ta gọi là sự lặp
lại (iteration) của vòng lặp.
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.8 Nhóm lệnh điều khiển
4.8.3 Hai phương pháp điều khiển lặp
Trong ví dụ ở mục trên, phương pháp biến đếm được
sử dụng. Nếu chúng ta biết chính xác số lần lặp là n
lần, thì đơn giản chúng ta chỉ cần gán cho biến đếm trị
n, và sau mỗi lần lặp, chúng ta cần giảm biến đếm này
và kiểm tra nó xem có là 0 hay chưa. Nếu chưa là 0,
chúng ta đặt trị cho thanh ghi PC bằng địa chỉ của lệnh
đầu thân vòng lặp, và tiếp tục sự lặp lại.
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.8 Nhóm lệnh điều khiển
4.8.3 Hai phương pháp điều khiển lặp
Phương pháp thứ hai là dùng trị canh (sentinel). Cách
này đặc biệt hiệu quả khi chúng ta không biết trước có
bao nhiêu sự lặp lại cần phải được thực hiện. Thông
thường quá trình lặp sẽ là dãy các sự kiện cần xử lý,
chúng ta cần thêm vào dãy sự kiện này một sự kiện là
kiểm tra một giá trị mà chúng ta biết trước hay theo
quy ước là không bao giờ xuất hiện trong các sự kiện
gốc. Nếu việc kiểm tra này xảy ra, tức việc lặp kết
thúc. Giá trị đó được gọi là trị canh.
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.8 Nhóm lệnh điều khiển
4.8.4 Ví dụ 
Giả sử chúng ta cần cộng các trị nguyên dương từ ô nhớ x3100
tới x310B. Khi đó chúng ta có thể dùng bất kỳ trị âm nào để
làm trị canh. Giả sử trị canh được chứa ở ô nhớ x310C là -1.
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.8 Nhóm lệnh điều khiển
4.8.4 Ví dụ 
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.8 Nhóm lệnh điều khiển
4.8.5 Lệnh JMP 
Lệnh JMP nạp thanh ghi PC bằng trị của thanh ghi xác định bời
các bit [8:6] của lệnh. Nếu lệnh JMP nằm ở địa chỉ x4000, R2
chứa trị x6600, và PC chứa x4000, thì lệnh JMP ở x4000 sẽ
được thực thi, làm cho lệnh kế tiếp là lệnh ở x6600. Vì các
thanh ghi đều dài 16 bit, có thể mã hóa địa chỉ cho cả bộ nhớ
64K của ISA LC-3, nên lệnh JMP không có giới hạn cho lệnh
kế cần được thực thi.
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.8 Nhóm lệnh điều khiển
4.8.6 Lệnh TRAP
Lệnh TRAP (opcode = 1111) cho phép lấy dữ liệu vào và xuất
dữ liệu ra khỏi máy tính và có định dạng như sau.
Lệnh này thay đổi trị của thanh ghi PC, làm nó chỉ tới một vị trí
trong bộ nhớ mà là một phần của hệ điều hành để hệ điều hành
thực hiện một tác vụ nào đó nhân danh chương trình đang được
thực thi. Theo kiểu nói của ngôn ngữ hệ điều hành, chúng ta nói
lệnh TRAP gọi một dịch vụ của hệ điều hành (service call). Các
bit [7:0] của lệnh TRAP tạo nên một trapvector 8 bit, xác định
dịch vụ cần gọi mà chương trình muốn hệđiề hành thực hiện.
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.8 Nhóm lệnh điều khiển
4.8.6 Lệnh TRAP
Một số dịch vụ chúng ta cần biết để sử dụng ngay là :
• Nhập một ký tự từ bàn phím: trapvector = x23
• Xuất một ký tự ra màn hình: trapvector = x21
• Kết thúc chương trình: trapvector = x25.
Khi hệ điều hành hoàn tất dịch vụ, bộ đếm chương trình PC sẽ
được đặt trở lại địa chỉ của lệnh ngay sau lệnh TRAP trong
chương trình đang được thực thi, và chương trình tiếp tục chạy.
Đây cũng là khả năng thực hiện giao tiếp của LC-3 giữa hệ điều
hành và chương trình đang được thực thi.
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.9 Ba cấu trúc lệnh trong LC-3
4.9.1 Ba cấu trúc cơ bản trong lập trình có cấu trúc 
Trong lập trình có ba cấu trúc lệnh cơ bản để thực hiện
các tác vụ cần thiết, đó là các cấu trúc tuần tự
(sequential), điều kiện (conditional), và lặp (iterative).
Hình 4.16 trình bày ba cấu trúc cơ bản triển khai tác vụ
cần thực thi (task).
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.9 Ba cấu trúc lệnh trong LC-3
4.9.1 Ba cấu trúc cơ bản trong lập trình có cấu trúc 
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.9 Ba cấu trúc lệnh trong LC-3
4.9.2 Ba cấu trúc trong LC-3
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.10 Một ví dụ 
Đếm số lần xuất hiện của một ký tự xác định trước
(được nhập từ bàn phím) trong một mảng ký tự (file)
cho trước. Sau đó hiển thị số lần xuất hiện này ra màn
hình(chấp nhận số lần xuất hiện tối đa của một ký tự là
9)
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.10 Một ví dụ 
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.10 Một ví dụ
CHƢƠNG 4 
MÔ HÌNH VON NEUMANN 
VÀ KIẾN TRÚC TẬP LỆNH LC-3
4.10 Một ví dụ

File đính kèm:

  • pdfbai_giang_he_thong_may_tinh_va_ngon_ngu_c_chuong_4_mo_hinh_v.pdf