Lệnh ADD R1, A (trong đó R1 là thanh ghi và A là địa chỉ ô nhớ có nội dung M[A]) tiến hành phép tính:
Đáp án đúng: C
Câu hỏi liên quan
Các đáp án khác không chính xác vì:
* A. R1 <- R1 + A: Sai, vì A ở đây không rõ ràng là gì (có thể là địa chỉ, hằng số, hoặc một thanh ghi khác). Phép cộng thường không trực tiếp cộng thanh ghi với một địa chỉ như vậy.
* C. R1 <- R1 + M[A]: Sai, M[A] biểu thị nội dung tại địa chỉ A trong bộ nhớ. Lệnh ADD R1 thường không trực tiếp cộng thanh ghi với nội dung bộ nhớ.
* D. Racc <- R1 + M[A]: Sai, tương tự như trên, lệnh ADD R1 thường không trực tiếp cộng thanh ghi với nội dung bộ nhớ.
* Phương án A: Ô nhớ địa chỉ 400 lưu địa chỉ ô nhớ chứa nội dung toán hạng. Điều này ám chỉ đến con trỏ hoặc tham chiếu. Tuy nhiên, không phải lúc nào 400 cũng là địa chỉ chứa con trỏ. Do đó, phương án này chưa đủ chính xác.
* Phương án B: Là hằng số 400. Nếu không có chỉ thị đặc biệt nào khác, 400 có thể được hiểu là một hằng số.
* Phương án C: Ô nhớ địa chỉ 400 chứa nội dung toán hạng. Trong một số trường hợp, 400 có thể là địa chỉ bộ nhớ trực tiếp chứa dữ liệu mà ta cần. Điều này thường thấy trong lập trình Assembly hoặc khi thao tác trực tiếp với bộ nhớ.
Trong các lựa chọn trên, phương án B là hợp lý nhất nếu không có ngữ cảnh cụ thể nào khác. Tuy nhiên, phương án C cũng có thể đúng nếu 400 được sử dụng như một địa chỉ bộ nhớ. Vì câu hỏi không cung cấp đủ thông tin, ta cần xem xét kỹ hơn.
Nếu câu hỏi đang đề cập đến lập trình Assembly hoặc thao tác trực tiếp với bộ nhớ, thì phương án C chính xác hơn. Nếu câu hỏi đề cập đến các ngôn ngữ lập trình bậc cao hơn và không có chỉ thị đặc biệt nào, thì phương án B có thể đúng.
Trong trường hợp tổng quát, đáp án chính xác nhất là B. là hằng số 400. Vì đây là cách hiểu phổ biến nhất khi không có ngữ cảnh cụ thể.
- B: R1 <- M[500] có nghĩa là di chuyển nội dung của ô nhớ có địa chỉ 500 vào R1, nhưng đây không phải là ý nghĩa của lệnh MOVE #500, R1.
- C: M[500] <- R1 có nghĩa là di chuyển nội dung của R1 vào ô nhớ có địa chỉ 500, cũng không phải là ý nghĩa của lệnh đã cho.
- D: Câu lệnh sai là không đúng, vì lệnh MOVE #500, R1 là một lệnh hợp lệ trong nhiều kiến trúc tập lệnh.
Trong kiến trúc của CPU Intel 8088, có hai khối chính: Bus Interface Unit (BIU) và Execution Unit (EU).
- Bus Interface Unit (BIU): Chịu trách nhiệm giao tiếp với bộ nhớ và các thiết bị ngoại vi. Nó bao gồm các thanh ghi đoạn (segment registers) như CS, DS, SS, ES và con trỏ lệnh (Instruction Pointer - IP). BIU thực hiện việc tìm nạp lệnh, đọc/ghi dữ liệu từ/đến bộ nhớ.
- Execution Unit (EU): Thực hiện các lệnh đã được BIU tìm nạp. Nó bao gồm ALU (Arithmetic Logic Unit), các thanh ghi đa năng (general-purpose registers) như AX, BX, CX, DX, và các thanh ghi khác phục vụ tính toán và xử lý dữ liệu.
Vì các thanh ghi đoạn và con trỏ lệnh (IP) thuộc về BIU, đáp án đúng là A.
Trong CPU Intel 8088, ALU (Arithmetic Logic Unit - Đơn vị số học và logic) là thành phần cốt lõi thực hiện các phép toán số học (cộng, trừ, nhân, chia...) và các phép toán logic (AND, OR, NOT...). ALU là một phần không thể thiếu của Execution Unit (EU), nơi các lệnh được giải mã và thực thi. Bus Interface Unit (BIU) chịu trách nhiệm giao tiếp với bộ nhớ và các thiết bị ngoại vi, không chứa ALU.

Bộ Đồ Án Tốt Nghiệp Ngành Trí Tuệ Nhân Tạo Và Học Máy

Bộ 120+ Đồ Án Tốt Nghiệp Ngành Hệ Thống Thông Tin

Bộ Đồ Án Tốt Nghiệp Ngành Mạng Máy Tính Và Truyền Thông

Bộ Luận Văn Tốt Nghiệp Ngành Kiểm Toán

Bộ 370+ Luận Văn Tốt Nghiệp Ngành Kế Toán Doanh Nghiệp

Bộ Luận Văn Tốt Nghiệp Ngành Quản Trị Thương Hiệu
ĐĂNG KÝ GÓI THI VIP
- Truy cập hơn 100K đề thi thử và chính thức các năm
- 2M câu hỏi theo các mức độ: Nhận biết – Thông hiểu – Vận dụng
- Học nhanh với 10K Flashcard Tiếng Anh theo bộ sách và chủ đề
- Đầy đủ: Mầm non – Phổ thông (K12) – Đại học – Người đi làm
- Tải toàn bộ tài liệu trên TaiLieu.VN
- Loại bỏ quảng cáo để tăng khả năng tập trung ôn luyện
- Tặng 15 ngày khi đăng ký gói 3 tháng, 30 ngày với gói 6 tháng và 60 ngày với gói 12 tháng.