Cho đoạn mã Assembler sau:
ORG 0000H
MOV A, #32
ADD A, #23H
END.
Kết quả của thanh ghi A là:
Đáp án đúng: C
Câu hỏi liên quan
1. `CLR C`: Xóa cờ nhớ (Carry flag) về 0. C = 0.
2. `MOV A, #0C0H`: Gán giá trị 0xC0 (192 trong hệ thập phân) vào thanh ghi A. A = 0xC0.
3. `MOV R1, #40H`: Gán địa chỉ 40H vào thanh ghi R1. R1 trỏ đến địa chỉ 40H.
4. `MOV 40H, #15H`: Gán giá trị 0x15 (21 trong hệ thập phân) vào ô nhớ có địa chỉ 40H. Bộ nhớ (40H) = 0x15.
5. `SUBB A, @R1`: Thực hiện phép trừ có nhớ (subtract with borrow) giữa thanh ghi A và giá trị được trỏ bởi R1 (tức là giá trị tại địa chỉ 40H). Vì C = 0, phép toán trở thành A = A - (40H) - C = 0xC0 - 0x15 - 0 = 0xC0 - 0x15 = 0xAB.
Vậy, kết quả cuối cùng của thanh ghi A là 0xAB.
Ban đầu, thanh ghi A được gán giá trị 0FCH (252 trong hệ thập phân).
Sau đó, giá trị 09H (9 trong hệ thập phân) được cộng vào A.
Phép cộng: 0FCH + 09H = 252 + 9 = 261.
Vì thanh ghi A chỉ có 8 bit, nó có thể chứa các giá trị từ 0 đến 255. Do đó, khi kết quả vượt quá 255, sẽ xảy ra tràn số. Giá trị thực tế trong thanh ghi A sẽ là phần dư của phép chia kết quả cho 256.
261 mod 256 = 5. Vậy giá trị trong thanh ghi A là 05H.
Vậy đáp án đúng là A. 05H
Đoạn mã Assembler thực hiện các bước sau:
MOV A, #0C3H
: Gán giá trị 0xC3 (11000011 trong hệ nhị phân) vào thanh ghi A.CPL A
: Đảo bit (lấy bù 1) của thanh ghi A. Tức là, mỗi bit 0 trở thành 1 và mỗi bit 1 trở thành 0.
Vậy, ta có:
A = 11000011 (0xC3)
CPL A => A = 00111100 (0x3C)
Vậy, kết quả cuối cùng của thanh ghi A là 3CH.
Đoạn mã Assembly thực hiện phép toán AND logic giữa hai giá trị.
Giá trị đầu tiên là 40H (0100 0000 trong hệ nhị phân).
Giá trị thứ hai là 36H (0011 0110 trong hệ nhị phân).
Phép toán AND logic sẽ thực hiện so sánh bit tương ứng của hai số. Nếu cả hai bit đều là 1, kết quả bit đó là 1. Ngược lại, kết quả là 0.
0100 0000 AND 0011 0110 = 0000 0000 = 00H = 0.
Tuy nhiên, không có đáp án nào là 00H. Xem xét lại đề bài, có vẻ như có một lỗi đánh máy. Nếu đề bài yêu cầu tính toán:
40H = 0100 0000
36H = 0011 0110
Thực hiện AND: 0100 0000 & 0011 0110 = 0000 0000 (0)
Nếu sửa đề thành ORL A, #36H thì:
40H = 0100 0000
36H = 0011 0110
Thực hiện OR: 0100 0000 | 0011 0110 = 0111 0110 = 76H. Không có đáp án nào đúng.
Nếu đề bài là A = 46H (0100 0110), và thực hiện AND A, 30H (0011 0000):
0100 0110 & 0011 0000 = 0000 0000 = 0. Không có đáp án đúng.
Nếu phép toán là ADD A, #36H (cộng):
40H + 36H = 76H. Không có đáp án đúng.
Nếu phép toán là SUBB A, #16H (trừ):
40H - 16H = 2AH = 42. Không có đáp án đúng.
Xét trường hợp ANL A,#36H nhưng giá trị đầu vào là A = 76H (0111 0110):
76H = 0111 0110
36H = 0011 0110
0111 0110 AND 0011 0110 = 0011 0110 = 36H.
Tuy nhiên, đề bài cho A = 40H.
Nếu chúng ta xem xét một cách khác, có lẽ có một sự nhầm lẫn trong việc biểu diễn số.
Nếu 40H và 36H được coi là số thập phân và chuyển sang nhị phân và thực hiện AND:
40 = 0010 1000
36 = 0010 0100
0010 1000 AND 0010 0100 = 0010 0000 = 32 (20H)
Trong trường hợp này, đáp án D (20H) có thể là đáp án đúng nếu có sự nhầm lẫn về hệ cơ số.
Tuy nhiên, nếu xem xét mã Assembler chuẩn, 40H và 36H nên được hiểu là hệ thập lục phân. Trong trường hợp này, phép toán AND cho kết quả 00H.
Do đó, theo cách hiểu thông thường về mã Assembly, không có đáp án nào đúng.
1. `MOV A, #40H`: Gán giá trị 40H (tức là 0100 0000 ở dạng nhị phân) vào thanh ghi A.
2. `SWAP A`: Đảo nửa byte cao và nửa byte thấp của thanh ghi A. Nửa byte cao là 0100 (4), nửa byte thấp là 0000 (0). Sau khi đảo, nửa byte cao sẽ là 0000 (0), nửa byte thấp sẽ là 0100 (4). Như vậy, giá trị của A sẽ là 0000 0100, tương ứng với 04H.
Vậy đáp án đúng là A. 04H.

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.