VAL1 là biến nhớ kiểu DW, hãy cho biết dòng lệnh nào trong các câu lệnh sau không đúng:
Trả lời:
Đáp án đúng: A
Câu hỏi này kiểm tra kiến thức về kiểu dữ liệu và cách sử dụng lệnh MOV trong hợp ngữ (assembly). Biến `VAL1` được khai báo là kiểu `DW` (Define Word), tức là nó chiếm 2 bytes (16 bits) trong bộ nhớ. Lệnh `MOV` dùng để di chuyển dữ liệu giữa các thanh ghi và/hoặc bộ nhớ.
* **A. MOV VAL1, 20:** Lệnh này cố gắng gán giá trị 20 (một hằng số 8-bit) cho biến `VAL1` (16-bit). Tuy nhiên, theo cú pháp thông thường của hợp ngữ (ví dụ: MASM), việc này không trực tiếp được hỗ trợ nếu không có ép kiểu hoặc trình biên dịch tự động xử lý. Một số trình biên dịch có thể ngầm định chuyển đổi 20 thành giá trị 16-bit, nhưng nếu không, nó có thể gây ra lỗi.
* **B. MOV AX, VAL1:** Lệnh này di chuyển nội dung của biến `VAL1` (16-bit) vào thanh ghi `AX` (16-bit). Đây là một thao tác hợp lệ.
* **C. MOV VAL1, AX:** Lệnh này di chuyển nội dung của thanh ghi `AX` (16-bit) vào biến `VAL1` (16-bit). Đây là một thao tác hợp lệ.
* **D. MOV VAL1, AX:** Lệnh này di chuyển nội dung của thanh ghi `AX` (16-bit) vào biến `VAL1` (16-bit). Đây là một thao tác hợp lệ. (Trùng với đáp án C).
Như vậy, đáp án A là câu lệnh có khả năng không đúng cao nhất vì cần sự hỗ trợ hoặc ép kiểu từ trình biên dịch để thực hiện gán một giá trị 8-bit trực tiếp cho một biến 16-bit.
Câu hỏi liên quan

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
