Cho đoạn mã Assembler sau:CLR CMOV A, #0FFHMOV B, #05HSUBB A, BKết quả của thanh ghi A là:
Trả lời:
Đáp án đúng: C
Đầu tiên, `CLR C` xóa cờ nhớ (Carry flag), do đó C = 0.
Tiếp theo, `MOV A, #0FFH` gán giá trị FFH (255) cho thanh ghi A.
Sau đó, `MOV B, #05H` gán giá trị 05H (5) cho thanh ghi B.
Cuối cùng, `SUBB A, B` thực hiện phép trừ A = A - B - C. Vì C = 0, nên A = FFH - 05H - 0 = FFH - 5 = FAH (255 - 5 = 250). 250 trong hệ thập lục phân là FAH.
Vậy, kết quả cuối cùng của thanh ghi A là FAH.
Câu hỏi liên quan
Lời giải:
Đáp án đúng: B
Đ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.
- MOV R0, #55H: Gán giá trị 0x55 (01010101 trong hệ nhị phân) vào thanh ghi R0.
- ANL A, R0: Thực hiện phép AND logic giữa thanh ghi A và thanh ghi R0, kết quả được lưu vào thanh ghi A.
Phép AND logic giữa 0xC3 (11000011) và 0x55 (01010101) như sau:
11000011
& 01010101
----------
01000001
Kết quả là 0x41 (01000001 trong hệ nhị phân). Tuy nhiên, câu hỏi yêu cầu giá trị của thanh ghi R0 sau khi thực hiện đoạn mã. Lệnh ANL A, R0 chỉ thay đổi giá trị của thanh ghi A, còn giá trị của thanh ghi R0 không đổi. Vậy, giá trị của R0 vẫn là 55H.
Lời giải:
Đáp án đúng: C
Việc lập trình cho ROM (Read-Only Memory) bên trong chip 8051 yêu cầu một điện áp lập trình đặc biệt, thường được ký hiệu là Vpp. Giá trị của Vpp không phải là 5V hay 0V (điện áp hoạt động thông thường), mà cũng không phải là 21V. Thông thường, điện áp Vpp cần thiết để lập trình ROM bên trong chip 8051 là 12.5V. Điện áp này cao hơn điện áp hoạt động để cho phép các transistor bên trong ROM có thể thay đổi trạng thái logic một cách vĩnh viễn, ghi dữ liệu vào ROM.
Lời giải:
Đáp án đúng: C
Đoạn mã Assembler thực hiện các bước sau:
1. `MOV A, #18H`: Gán giá trị 18H (tương đương 24 trong hệ thập phân) vào thanh ghi A.
2. `MOV 30H, #10H`: Gán giá trị 10H (tương đương 16 trong hệ thập phân) vào ô nhớ 30H.
3. `JB ACC.7, SKIP`: Kiểm tra bit thứ 7 (bit cao nhất) của thanh ghi A. Nếu bit này bằng 1, chương trình nhảy đến nhãn `SKIP`. Trong trường hợp này, 18H = 00011000B, bit thứ 7 (tính từ phải sang trái, bắt đầu từ 0) là 0. Do đó, điều kiện không thỏa mãn và chương trình không nhảy.
4. `ADD A, 30H`: Cộng giá trị của ô nhớ 30H (10H) vào thanh ghi A. A = A + 30H = 18H + 10H = 28H.
5. `MOV 30H, A`: Gán giá trị của thanh ghi A (28H) vào ô nhớ 30H.
6. `SJMP EXIT`: Nhảy vô điều kiện đến nhãn `EXIT`.
7. `SKIP: SUBB A, 30H`: Nhãn `SKIP` này bị bỏ qua vì lệnh `JB` không nhảy đến đây.
8. `EXIT: END`: Kết thúc chương trình.
Vậy, sau khi thực hiện đoạn mã, ô nhớ 30H sẽ chứa giá trị 28H.
1. `MOV A, #18H`: Gán giá trị 18H (tương đương 24 trong hệ thập phân) vào thanh ghi A.
2. `MOV 30H, #10H`: Gán giá trị 10H (tương đương 16 trong hệ thập phân) vào ô nhớ 30H.
3. `JB ACC.7, SKIP`: Kiểm tra bit thứ 7 (bit cao nhất) của thanh ghi A. Nếu bit này bằng 1, chương trình nhảy đến nhãn `SKIP`. Trong trường hợp này, 18H = 00011000B, bit thứ 7 (tính từ phải sang trái, bắt đầu từ 0) là 0. Do đó, điều kiện không thỏa mãn và chương trình không nhảy.
4. `ADD A, 30H`: Cộng giá trị của ô nhớ 30H (10H) vào thanh ghi A. A = A + 30H = 18H + 10H = 28H.
5. `MOV 30H, A`: Gán giá trị của thanh ghi A (28H) vào ô nhớ 30H.
6. `SJMP EXIT`: Nhảy vô điều kiện đến nhãn `EXIT`.
7. `SKIP: SUBB A, 30H`: Nhãn `SKIP` này bị bỏ qua vì lệnh `JB` không nhảy đến đây.
8. `EXIT: END`: Kết thúc chương trình.
Vậy, sau khi thực hiện đoạn mã, ô nhớ 30H sẽ chứa giá trị 28H.
Lời giải:
Đáp án đúng: C
Đoạn mã Assembler thực hiện các phép toán cộng trên thanh ghi A.
1. MOV A, #0FFH: Gán giá trị 0FFH (255 trong hệ thập phân) vào thanh ghi A.
2. ADD A, #1: Cộng giá trị 1 vào thanh ghi A. A = 0FFH + 1 = 100H. Vì A là thanh ghi 8-bit nên chỉ giữ lại 00H, cờ nhớ (Carry flag) sẽ được bật (CF = 1).
3. JNZ SKIP: Nhảy đến nhãn SKIP nếu cờ Z (Zero flag) khác 0. Vì A = 00H, nên cờ Z được bật (ZF = 1). Do đó, điều kiện nhảy không thỏa mãn và chương trình tiếp tục thực hiện lệnh kế tiếp.
4. ADDC A, #02H: Cộng giá trị 02H và cờ nhớ (CF) vào A. Vì CF = 1, nên A = 00H + 02H + 1 = 03H.
5. SJMP EXIT: Nhảy vô điều kiện đến nhãn EXIT.
6. SKIP: ADDC A, #01H: Nhãn này bị bỏ qua vì đã nhảy đến EXIT.
7. EXIT: END: Kết thúc chương trình. Giá trị cuối cùng của A là 03H.
Vậy đáp án đúng là B. 03H
1. MOV A, #0FFH: Gán giá trị 0FFH (255 trong hệ thập phân) vào thanh ghi A.
2. ADD A, #1: Cộng giá trị 1 vào thanh ghi A. A = 0FFH + 1 = 100H. Vì A là thanh ghi 8-bit nên chỉ giữ lại 00H, cờ nhớ (Carry flag) sẽ được bật (CF = 1).
3. JNZ SKIP: Nhảy đến nhãn SKIP nếu cờ Z (Zero flag) khác 0. Vì A = 00H, nên cờ Z được bật (ZF = 1). Do đó, điều kiện nhảy không thỏa mãn và chương trình tiếp tục thực hiện lệnh kế tiếp.
4. ADDC A, #02H: Cộng giá trị 02H và cờ nhớ (CF) vào A. Vì CF = 1, nên A = 00H + 02H + 1 = 03H.
5. SJMP EXIT: Nhảy vô điều kiện đến nhãn EXIT.
6. SKIP: ADDC A, #01H: Nhãn này bị bỏ qua vì đã nhảy đến EXIT.
7. EXIT: END: Kết thúc chương trình. Giá trị cuối cùng của A là 03H.
Vậy đáp án đúng là B. 03H
Lời giải:
Đáp án đúng: A
Để lập trình định thì với khoảng thời gian nhỏ hơn 10ms khi sử dụng tần số dao động 12MHz, phương án tối ưu nhất là sử dụng Timer 16 bit kết hợp với các vòng lặp. Lý do:
- Timer 8 bit: Không đủ độ phân giải để tạo ra các khoảng thời gian nhỏ và chính xác như yêu cầu.
- Timer 16 bit: Có độ phân giải tốt hơn, nhưng vẫn có thể chưa đủ chính xác để tạo ra các khoảng thời gian rất nhỏ (dưới 10ms) một cách linh hoạt.
- Timer 16 bit kết hợp với các vòng lặp: Bằng cách sử dụng Timer 16 bit để tạo ra một khoảng thời gian cơ sở, sau đó kết hợp với các vòng lặp (delay loops) được tinh chỉnh cẩn thận, ta có thể tạo ra các khoảng thời gian nhỏ hơn và chính xác hơn nhiều. Các vòng lặp cho phép "fine-tune" thời gian định thì đến mức micro giây.
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Bộ Đồ Án Tốt Nghiệp Ngành Trí Tuệ Nhân Tạo Và Học Máy
89 tài liệu310 lượt tải

Bộ 120+ Đồ Án Tốt Nghiệp Ngành Hệ Thống Thông Tin
125 tài liệu441 lượt tải

Bộ Đồ Án Tốt Nghiệp Ngành Mạng Máy Tính Và Truyền Thông
104 tài liệu687 lượt tải

Bộ Luận Văn Tốt Nghiệp Ngành Kiểm Toán
103 tài liệu589 lượt tải

Bộ 370+ Luận Văn Tốt Nghiệp Ngành Kế Toán Doanh Nghiệp
377 tài liệu1030 lượt tải

Bộ Luận Văn Tốt Nghiệp Ngành Quản Trị Thương Hiệu
99 tài liệu1062 lượt tải
ĐĂ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.
77.000 đ/ tháng