NEW
Font size
WorksheetsCâu hỏi về hợp ngữ
Total questions: 20
Worksheet time: 10mins
Lệnh XCHG AX, BX có tác dụng gì?
Đổi chỗ giá trị giữa AX và BX
Lưu giá trị AX vào BX
Gán BX = 0
Xóa giá trị trong BX
Khi nào nên sử dụng lệnh NOP trong hợp ngữ?
Để lưu giá trị vào bộ nhớ
Để chèn khoảng trống tạm thời trong chương trình
Để thay đổi chế độ địa chỉ
Để gọi dịch vụ hệ điều hành
Lệnh AND AX, 0F0H thường được sử dụng để làm gì?
Đảo các bit trong AX
Nhân các giá trị trong AX với 0F0H
Che đi hoặc giữ lại một số bit cụ thể trong AX
Xóa toàn bộ giá trị trong AX
Cờ nào bị ảnh hưởng khi thực hiện lệnh ADD AX, BX?
TF và IF
OF và SF
ZF và CF
AF, CF, OF, PF, SF, ZF
Lệnh RET có chức năng gì?
Kết thúc chương trình con và trở về điểm gọi
Gán giá trị mặc định cho thanh ghi
Xóa dữ liệu trong ngăn xếp
Nhảy đến một địa chỉ cố định
Tại sao cần đặt END ở cuối chương trình hợp ngữ?
Để báo hiệu kết thúc ngăn xếp
Để lưu trạng thái của chương trình
Để báo hiệu trình biên dịch rằng chương trình đã kết thúc
Để khởi tạo ngắt hệ thống
Lệnh nào đúng để (giả thiết dấu chấm phẩy nếu có thì dùng để phân tách 2 lệnh trên cùng 1 dòng) tăng giá trị của thanh ghi AX lên 5.
ADD AX, 5
INC AX, 5
SUB AX, 5
MOV AX, 5
lệnh LOOP nào đúng để lặp lại 10 lần (giả thiết dấu chấm phẩy nếu có thì dùng để phân tách 2 lệnh trên cùng 1 dòng):
MOV 10, CX; LOOP START
MOV CX, 10; LOOP START
MOV [CX], 10; LOOP START
MOV CX = 10; LOOP START
Cách sao chép giá trị từ thanh ghi BX sang thanh ghi CX?
MOV BX, CX
ADD CX, BX
CMP BX, CX
MOV CX, BX
Đoạn Lệnh nào đúng để (giả thiết dấu chấm phẩy nếu có thì dùng để phân tách 2 lệnh trên cùng 1 dòng) dừng chương trình và trả về hệ điều hành.
MOV AX, 4C00H; INT 21H
CALL SUBROUTINE
MOV DX, 4C00H; INT 21H
RET
Đoạn Lệnh nào đúng để (giả thiết dấu chấm phẩy nếu có thì dùng để phân tách 2 lệnh trên cùng 1 dòng) dịch phải AX 2 bit:
SHL AX, 2
NEG AX, 2
SHR AX, 2
ADD AX, 2
Đoạn Lệnh nào đúng để (giả thiết dấu chấm phẩy nếu có thì dùng để phân tách 2 lệnh trên cùng 1 dòng) tính tổng hai số trong AX và BX, lưu vào CX.
CALL SUM
MOV CX, AX; ADD CX, BX
SUB AX, BX; MOV CX, AX
MUL AX, BX
Đoạn Lệnh nào đúng để (giả thiết dấu chấm phẩy nếu có thì dùng để phân tách 2 lệnh trên cùng 1 dòng) gọi dịch vụ in ký tự trên màn hình:
INT 21H, AH=2
MOV AX, 02H; CALL PRINT
MOV AH, 1; INT 21H
MOV AH, 2; INT 21H
Đoạn Lệnh nào đúng để (giả thiết dấu chấm phẩy nếu có thì dùng để phân tách 2 lệnh trên cùng 1 dòng) kiểm tra cờ ZF trước khi nhảy:
JZ LABEL
JMP LABEL
CMP AX, 0; JMP LABEL
CALL ZF
Đoạn Lệnh nào đúng để (giả thiết dấu chấm phẩy nếu có thì dùng để phân tách 2 lệnh trên cùng 1 dòng) lưu giá trị hiện tại của BX vào ngăn xếp:
POP BX
CALL BX
PUSH BX
INT 20H
Đoạn lệnh nào đúng để (giả thiết dấu chấm phẩy nếu có thì dùng để phân tách 2 lệnh trên cùng 1 dòng) di chuyển địa chỉ đoạn dữ liệu vào thanh ghi DS:
MOV DS, AX
MOV AX, DATA; MOV DS, AX
MOV CX, DATA
CALL DS_INIT
Đoạn lệnh sau có lỗi gì?MOV DS, 1000H
MOV AX, DS
DS không thể chứa hằng số
AX không được khởi tạo
Không có lỗi
DS phải được khởi tạo thông qua AX
Đoạn lệnh sau có vấn đề gì khi sử dụng ngăn xếp?PUSH BX
POP AX
BX bị ghi đè
Giá trị AX = AX + BX
Giá trị BX không phù hợp với AX
Không có vấn đề
Tại sao đoạn lệnh sau không thực hiện được đúng cách?ADD AX, BH
MOV CX, AX
Lệnh ADD không tương thích
Giá trị AX không hợp lệ
Lệnh ADD không ảnh hưởng đến CX
Lệnh MOV không tương thích
Điểm hạn chế của đoạn lệnh sau là gì?START:
MOV CX, 10
LOOP START
Không có lệnh thoát vòng lặp
CX được giảm tự động
Vòng lặp chạy vô hạn
START không phải nhãn hợp lệ
