Xét đoạn chương trình sau: MOV BL,3Bh MOV AX,132A h DIV BL Thương được đặt vào thanh ghi nào?
Đáp án đúng: A
Trong đoạn chương trình hợp ngữ này, lệnh DIV BL thực hiện phép chia không dấu số 16-bit trong thanh ghi AX cho số 8-bit trong thanh ghi BL. Kết quả của phép chia (thương số) được lưu trữ trong thanh ghi AL, và số dư được lưu trữ trong thanh ghi AH.
Như vậy, đáp án đúng là A: Thanh ghi AL.
Câu hỏi liên quan
Phân tích các đáp án:
- A. CX được dùng để đếm số ký tự được đọc vào: Đây là đáp án đúng, vì CX tăng lên mỗi khi một ký tự được đọc vào (trừ khi ký tự đó có mã ASCII là 0).
- B. CX dùng để khởi tạo bộ đếm: CX được khởi tạo bằng 0, nhưng nó không chỉ dùng để khởi tạo mà còn dùng để đếm.
- C. CX chứa số ký tự được hiển thị: Chương trình này chỉ đọc ký tự, không hiển thị.
- D. CX = 0: CX chỉ bằng 0 lúc khởi tạo, sau đó giá trị của nó thay đổi tùy thuộc vào số ký tự đọc được.
- `MOV CX, 0`: Khởi tạo bộ đếm CX bằng 0.
- `DOC:`: Nhãn đánh dấu vị trí bắt đầu của vòng lặp.
- `INT 21h`: Gọi ngắt 21h để đọc một ký tự từ bàn phím vào AL.
- `CMP AL, 0`: So sánh giá trị trong AL với 0. Nếu AL = 0, tức là đã nhập ký tự có mã ASCII là 0 (thường là do nhấn tổ hợp phím nào đó, hoặc kết thúc luồng nhập).
- `JE thoat`: Nếu AL = 0, nhảy đến nhãn `thoat`.
- `INC CX`: Nếu AL khác 0, tăng giá trị của CX lên 1. Điều này có nghĩa là mỗi khi một ký tự khác 0 được nhập, bộ đếm CX sẽ tăng lên.
- `JMP DOC`: Quay lại nhãn `DOC` để tiếp tục đọc ký tự.
- `Thoat:`: Nhãn đánh dấu vị trí kết thúc vòng lặp.
Như vậy, bộ đếm CX sẽ tăng lên mỗi khi một ký tự khác 0 được nhập từ bàn phím. Khi ký tự nhập vào có mã ASCII là 0, chương trình sẽ thoát khỏi vòng lặp. Do đó, CX sẽ chứa số lượng ký tự khác 0 đã được đọc vào trước khi gặp ký tự có mã ASCII là 0.
Vậy đáp án chính xác là: CX có giá trị bằng số ký tự được đọc vào (trước khi gặp ký tự có mã ASCII = 0).
Một chu kỳ máy (machine cycle) trong kiến trúc máy tính thường bao gồm bốn bước cơ bản sau:
- Tìm nạp lệnh (Instruction Fetch): Lệnh được lấy từ bộ nhớ.
- Giải mã lệnh (Instruction Decode): Lệnh được giải mã để xác định thao tác cần thực hiện.
- Thực hiện lệnh (Execute): Thao tác được thực hiện bởi CPU.
- Ghi kết quả (Write Back): Kết quả của thao tác được ghi trở lại bộ nhớ hoặc thanh ghi.
Vì vậy, đáp án đúng là C. Bốn bước.
Các lựa chọn khác:
- MOV (Move): Lệnh này dùng để di chuyển dữ liệu giữa các thanh ghi hoặc giữa thanh ghi và bộ nhớ.
- ADD (Add): Lệnh này dùng để cộng hai toán hạng và lưu kết quả vào một thanh ghi.
- JUMP (Jump): Lệnh này dùng để chuyển luồng thực thi đến một vị trí khác trong chương trình, thường dựa trên các điều kiện cụ thể sau khi so sánh bằng lệnh CMP.
Lệnh HALT (hoặc HLT) trong Assembly 8086 được sử dụng để dừng thực thi chương trình. Khi CPU gặp lệnh này, nó sẽ ngừng hoạt động cho đến khi có một ngắt (interrupt) hoặc reset xảy ra. Các lựa chọn khác không có chức năng tương tự:
STOP: Không phải là một lệnh hợp lệ trong Assembly 8086.NOP: Là viết tắt của "No Operation", lệnh này không làm gì cả, chỉ tốn một chu kỳ xung nhịp để thực thi và tiếp tục thực hiện lệnh kế tiếp.END: Là một chỉ thị cho trình biên dịch (assembler) biết điểm kết thúc của chương trình nguồn, chứ không phải là một lệnh để dừng chương trình khi nó đang chạy.

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.