Trả lời:
Đáp án đúng: B
Hàm 2 của ngắt INT 21h được sử dụng để hiển thị một ký tự lên màn hình. Khi gọi hàm này, ký tự cần hiển thị phải được đặt trong thanh ghi DL. Các hàm khác có chức năng khác:
- Hàm 1: Đọc một ký tự từ bàn phím có hiển thị lên màn hình.
- Hàm 4Ch: Kết thúc chương trình.
- Hàm 9: Hiển thị một chuỗi ký tự kết thúc bằng '$' lên màn hình.
Câu hỏi liên quan
Lời giải:
Đáp án đúng: C
Các lệnh PUSH đẩy giá trị của các thanh ghi AX, BX, CX vào stack. Lệnh POP lấy giá trị từ đỉnh stack và gán cho thanh ghi tương ứng. Vì stack hoạt động theo cơ chế LIFO (Last In, First Out), nên giá trị được POP ra sẽ theo thứ tự ngược lại với thứ tự PUSH vào.
Cụ thể:
1. PUSH AX (AX = 1000)
2. PUSH BX (BX = 2000)
3. PUSH CX (CX = 3000)
Sau khi PUSH, stack sẽ chứa (từ đỉnh xuống đáy): 3000, 2000, 1000.
Tiếp theo:
1. POP AX (AX = 3000)
2. POP BX (BX = 2000)
3. POP CX (CX = 1000)
Vậy sau khi thực hiện các lệnh trên, ta có AX = 3000, BX = 2000, CX = 1000.
Cụ thể:
1. PUSH AX (AX = 1000)
2. PUSH BX (BX = 2000)
3. PUSH CX (CX = 3000)
Sau khi PUSH, stack sẽ chứa (từ đỉnh xuống đáy): 3000, 2000, 1000.
Tiếp theo:
1. POP AX (AX = 3000)
2. POP BX (BX = 2000)
3. POP CX (CX = 1000)
Vậy sau khi thực hiện các lệnh trên, ta có AX = 3000, BX = 2000, CX = 1000.
Lời giải:
Đáp án đúng: D
Lệnh `CMP AH, BL` thực hiện so sánh giá trị của thanh ghi AH và BL bằng cách lấy AH trừ BL. Kết quả của phép trừ này không được lưu trữ, nhưng các cờ trạng thái (status flags) sẽ được cập nhật dựa trên kết quả đó.
Trong trường hợp này, AH = 35H và BL = 6EH (chú ý là ta lấy byte cao của AX và byte thấp của BX). Do đó, AH - BL = 35H - 6EH = một số âm.
Các cờ trạng thái quan trọng liên quan đến câu hỏi này là:
* SF (Sign Flag): Cờ dấu, được set nếu kết quả âm, clear nếu kết quả dương.
* ZF (Zero Flag): Cờ không, được set nếu kết quả bằng 0, clear nếu kết quả khác 0.
* CF (Carry Flag): Cờ nhớ, được set nếu có borrow (mượn) trong phép trừ.
* OF (Overflow Flag): Cờ tràn, được set nếu có tràn số học.
Bây giờ, ta xét các lệnh nhảy có điều kiện:
* JG N (Jump if Greater): Nhảy đến nhãn N nếu AH > BL (có nghĩa là ZF=0 và SF=OF).
* JL N (Jump if Less): Nhảy đến nhãn N nếu AH < BL (có nghĩa là SF != OF).
* JE N (Jump if Equal): Nhảy đến nhãn N nếu AH = BL (có nghĩa là ZF=1).
* JA N (Jump if Above): Nhảy đến nhãn N nếu AH > BL (không dấu, có nghĩa là CF=0 và ZF=0).
Vì AH - BL là một số âm (35H - 6EH < 0), suy ra AH < BL. Do đó, lệnh `JL N` sẽ thỏa mãn điều kiện để nhảy đến nhãn N (SF != OF, trong trường hợp này OF=0 nên SF=1).
Trong trường hợp này, AH = 35H và BL = 6EH (chú ý là ta lấy byte cao của AX và byte thấp của BX). Do đó, AH - BL = 35H - 6EH = một số âm.
Các cờ trạng thái quan trọng liên quan đến câu hỏi này là:
* SF (Sign Flag): Cờ dấu, được set nếu kết quả âm, clear nếu kết quả dương.
* ZF (Zero Flag): Cờ không, được set nếu kết quả bằng 0, clear nếu kết quả khác 0.
* CF (Carry Flag): Cờ nhớ, được set nếu có borrow (mượn) trong phép trừ.
* OF (Overflow Flag): Cờ tràn, được set nếu có tràn số học.
Bây giờ, ta xét các lệnh nhảy có điều kiện:
* JG N (Jump if Greater): Nhảy đến nhãn N nếu AH > BL (có nghĩa là ZF=0 và SF=OF).
* JL N (Jump if Less): Nhảy đến nhãn N nếu AH < BL (có nghĩa là SF != OF).
* JE N (Jump if Equal): Nhảy đến nhãn N nếu AH = BL (có nghĩa là ZF=1).
* JA N (Jump if Above): Nhảy đến nhãn N nếu AH > BL (không dấu, có nghĩa là CF=0 và ZF=0).
Vì AH - BL là một số âm (35H - 6EH < 0), suy ra AH < BL. Do đó, lệnh `JL N` sẽ thỏa mãn điều kiện để nhảy đến nhãn N (SF != OF, trong trường hợp này OF=0 nên SF=1).
Lời giải:
Đáp án đúng: A
Đoạn chương trình thực hiện so sánh hai giá trị trong AX và BX. Nếu AX nhỏ hơn hoặc bằng BX (JG KT - Jump if Greater), chương trình sẽ nhảy tới nhãn KT. Nếu không (tức AX > BX), lệnh XCHG AX, BX sẽ được thực hiện, đổi chỗ giá trị của AX và BX. Sau đó, nhãn KT được thực hiện, lúc này AX sẽ chứa giá trị nhỏ hơn trong hai giá trị ban đầu (vì nếu AX > BX, chúng đã được đổi chỗ). Do đó, sau đoạn chương trình, AX chứa giá trị nhỏ nhất trong 2 giá trị trong AX và BX.
Lời giải:
Đáp án đúng: D
Câu hỏi này kiểm tra kiến thức về phần mềm mã nguồn mở.
* Phương án A: Sai. Phần mềm mã nguồn mở vẫn có thể mang lại lợi nhuận thông qua các dịch vụ hỗ trợ, tùy biến, hoặc cấp phép sử dụng thương mại đi kèm. Ví dụ, Red Hat là một công ty thành công nhờ vào việc cung cấp các dịch vụ liên quan đến hệ điều hành Linux (một phần mềm mã nguồn mở). Phân phối lại phần mềm mã nguồn mở là hoàn toàn hợp lệ.
* Phương án B: Sai. Một trong những đặc điểm chính của phần mềm mã nguồn mở là cho phép người dùng tự do phân phối lại (redistribution).
* Phương án C: Sai. Phần mềm mã nguồn mở vẫn có bản quyền. Tuy nhiên, bản quyền này cho phép người dùng sử dụng, sửa đổi và phân phối lại phần mềm theo các điều khoản của giấy phép mã nguồn mở.
* Phương án D: Đúng. Phần mềm mã nguồn mở thường được cung cấp "như hiện trạng" (as is) và không có bảo hành (no warranty). Điều này có nghĩa là người dùng tự chịu trách nhiệm về việc sử dụng phần mềm và không có quyền yêu cầu bồi thường nếu phần mềm gây ra lỗi hoặc thiệt hại.
* Phương án A: Sai. Phần mềm mã nguồn mở vẫn có thể mang lại lợi nhuận thông qua các dịch vụ hỗ trợ, tùy biến, hoặc cấp phép sử dụng thương mại đi kèm. Ví dụ, Red Hat là một công ty thành công nhờ vào việc cung cấp các dịch vụ liên quan đến hệ điều hành Linux (một phần mềm mã nguồn mở). Phân phối lại phần mềm mã nguồn mở là hoàn toàn hợp lệ.
* Phương án B: Sai. Một trong những đặc điểm chính của phần mềm mã nguồn mở là cho phép người dùng tự do phân phối lại (redistribution).
* Phương án C: Sai. Phần mềm mã nguồn mở vẫn có bản quyền. Tuy nhiên, bản quyền này cho phép người dùng sử dụng, sửa đổi và phân phối lại phần mềm theo các điều khoản của giấy phép mã nguồn mở.
* Phương án D: Đúng. Phần mềm mã nguồn mở thường được cung cấp "như hiện trạng" (as is) và không có bảo hành (no warranty). Điều này có nghĩa là người dùng tự chịu trách nhiệm về việc sử dụng phần mềm và không có quyền yêu cầu bồi thường nếu phần mềm gây ra lỗi hoặc thiệt hại.
Lời giải:
Đáp án đúng: C
Câu hỏi yêu cầu tìm phát biểu không đúng về giấy phép mã nguồn mở.
* A. Các loại giấy phép đều có cơ chế bảo vệ quyền của tác giả ban đầu: Đúng. Tất cả các giấy phép mã nguồn mở đều nhằm bảo vệ quyền của tác giả ban đầu, đảm bảo họ được ghi nhận và kiểm soát cách mã nguồn của họ được sử dụng.
* B. Các loại giấy phép đều yêu cầu không được thay đổi nội dung giấy phép: Đúng. Nội dung giấy phép là bất biến và không được phép thay đổi. Việc thay đổi nội dung giấy phép sẽ làm mất hiệu lực của giấy phép đó.
* C. Có giấy phép yêu cầu phải sử dụng cùng loại giấy phép với sản phẩm phái sinh: Đúng. Đây là đặc điểm của các giấy phép copyleft, ví dụ như GPL. Các giấy phép này yêu cầu bất kỳ sản phẩm phái sinh nào cũng phải được phát hành dưới cùng một giấy phép.
* D. Không giấy phép nào cấm người dùng sửa đổi chương trình: Sai. Tất cả giấy phép mã nguồn mở cho phép người dùng sửa đổi chương trình. Tuy nhiên, một số giấy phép (ví dụ như các giấy phép copyleft) có thể yêu cầu những thay đổi đó cũng phải được chia sẻ dưới cùng giấy phép.
Vậy, đáp án sai là D
* A. Các loại giấy phép đều có cơ chế bảo vệ quyền của tác giả ban đầu: Đúng. Tất cả các giấy phép mã nguồn mở đều nhằm bảo vệ quyền của tác giả ban đầu, đảm bảo họ được ghi nhận và kiểm soát cách mã nguồn của họ được sử dụng.
* B. Các loại giấy phép đều yêu cầu không được thay đổi nội dung giấy phép: Đúng. Nội dung giấy phép là bất biến và không được phép thay đổi. Việc thay đổi nội dung giấy phép sẽ làm mất hiệu lực của giấy phép đó.
* C. Có giấy phép yêu cầu phải sử dụng cùng loại giấy phép với sản phẩm phái sinh: Đúng. Đây là đặc điểm của các giấy phép copyleft, ví dụ như GPL. Các giấy phép này yêu cầu bất kỳ sản phẩm phái sinh nào cũng phải được phát hành dưới cùng một giấy phép.
* D. Không giấy phép nào cấm người dùng sửa đổi chương trình: Sai. Tất cả giấy phép mã nguồn mở cho phép người dùng sửa đổi chương trình. Tuy nhiên, một số giấy phép (ví dụ như các giấy phép copyleft) có thể yêu cầu những thay đổi đó cũng phải được chia sẻ dưới cùng giấy phép.
Vậy, đáp án sai là D
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

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp
136 tài liệu563 lượt tải

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp
125 tài liệu585 lượt tải

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng
325 tài liệu608 lượt tải

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất
331 tài liệu1010 lượt tải

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
246 tài liệu802 lượt tải

CEO.22: Bộ Tài Liệu Quy Trình Kiểm Toán, Kiểm Soát Nội Bộ Doanh Nghiệp
138 tài liệu417 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