Professional Documents
Culture Documents
Chongan
Chongan
Chongan
Question 1 Ý nào sau đây là đúng liên quan đến đoạn mã Assembly tính biểu thức c=10-
Incorrect (a[3]+a[2]+a[1]); trong đó các biến được khai báo như sau int c, a[4]; và giả sử mảng a đã
được gán giá trị.
Mark 0.00 out of
1.00
mov $3, %edx
Flag question
dec %edx
neg %eax
mov %eax, c
/
Select one:
Sai ở lệnh mov a(,1,4), %eax
Question 2 Cho đoạn mã assembly trên kiến trúc Intel thực hiện phép toán sau: int c, a[4]; c=10-
Incorrect (a[3]+a[2]+a[1]). Ý nào sau đây là đúng?
Flag question
sub a(,%edx,4),%eax
sub a(,%edx,4),%eax
sub a(,%edx,4),%eax
mov %eax, c
Select one:
Số 4 trong tham chiếu mảng a là thừa, cần bỏ đi
Flag question
L1:
cmp %rbx,%rax
jb found
sub %rbx,%rax
found:
Select one:
Thiếu lệnh jmp L1 sau lệnh sub
Question 4 Cho đoạn mã Intel Assembly cài đặt chương trình tính tổng một mảng số thực darr kiểu
Incorrect double, có n phần tử (n>1, kiểu unsigned int), kết quả chứa ở thanh ghi xmm0. Ý nào sau
đây là đúng?
Mark 0.00 out of
1.00
xmm0=0;
Flag question
Mã assembly:
/
mov $0, %ecx
while:
cmp %ecx, n
jae endwhile
do:
inc %ecx
jmp while
endwhile:
Select one:
Sai ở lệnh jae endwhile
Question 5 Ý nào sau đây là đúng về đoạn mã Assembly tính toán biểu thức a=b+c; trong đó các biến
Incorrect được khai báo như sau: int a; int c=-25; long b=283;
Flag question
add c, %eax
/
mov %eax, a
Select one:
Sai ở lệnh mov b, %rax
Question 6 Cho đoạn mã assembly thực hiện tính tổng giá trị một mảng số nguyên, giá trị tổng được
Incorrect lưu vào eax biết n là số nguyên không dấu kiểu unsigned int (n>1), a là một mảng số
nguyên kiểu int có dấu có n phần tử. Ý nào sau đây là đúng?
Mark 0.00 out of
1.00
eax=0;
Flag question
ecx=0;
Mã assembly,
while:
cmp n, %ecx
je endwhile
do:
/
add a(, %ecx, 4), %eax
inc %ecx
jmp while
endwhile:
Select one:
Sai ở lệnh add a(, %ecx, 4), %eax
Chương trình hoàn toàn chính xác với điều kiện n>1
Sai ở lệnh cmp n, %ecx
Question 7 Cho đoạn mã Intel Assembly cài đặt chương trình tính tổng n (n>2 và có kiểu unsigned int)
Incorrect số đầu tiên của dãy fibonacy, với 2 số đầu tiên của dãy là 0, 1. Kết quả chứa ở thanh ghi
r8d. Ý nào sau đây là sai?
Mark 0.00 out of
1.00
r8d=1; eax=0; ebx=1;
Flag question
edx=ebx;
ebx+= eax;
eax=edx;
r8d+=ebx;
}
/
Mã assembly:
mov n, %ecx
while:
jbe endwhile
do:
dec %ecx
/
jmp while
endwhile:
Select one:
Có thể bỏ nhãn do đi mà không ảnh hưởng đến chương trình
Question 8 Cho đoạn mã Assembly chuyển đoạn code C tương ứng sau, biết các số lưu trong các
Incorrect thanh ghi rax và rbx là số nguyên không dấu khác 0. Kết quả chứa ở thanh ghi rax Ý nào
sau đây là sai:
Mark 0.00 out of
1.00
while (rax != rbx) if (rax>rbx) rax-=rbx; else rbx-=rax;
Flag question
Mã assembly:
while:
je endwhile
do:
jb else
then:
/
sub %rbx, %rax
jmp endif
else:
endif:
jmp while
endwhile:
Select one:
Chương trình bị sai vì phần else không kiểm tra xem rbx có lớn hơn rax hay không.
Nên kết quả là rax sẽ luôn bằng 0.
Đây là giải thuật tìm USCLN của hai số nguyên dương khác 0
Question 9 Cho đoạn mã assembly trên kiến trúc Intel thực hiện lệnh sau. Biết các số lưu trong các
Correct thanh ghi là số nguyên có dấu. Ý nào sau đây là đúng?
Flag question
Mã assembly:
/
if1:
jne if2
then1:
jmp endif
if2:
jne if3
then2:
/
if3:
jne endif
then3:
endif:
Select one:
Chương trình hoàn toàn chính xác
Question 10 Cho đoạn mã assembly trên kiến trúc Intel thực hiện lệnh sau. Biết các số lưu trong các
Correct thanh ghi là số nguyên không dấu. Ý nào sau đây là đúng?
Flag question
Mã assembly:
/
jae else
then:
jmp endif
else:
endif:
Select one:
Lệnh jae else là sai
Question 11 Cho đoạn mã Intel Assembly sau, ý nào sau đây là đúng?
Incorrect
val: .short -13
Mark 0.00 out of
1.00
Flag question
...
Select one:
/
Đoạn mã hoàn toàn chính xác
Question 13 Cho đoạn mã Intel assembly thực hiện tính tổng n số tự nhiên đầu tiên, trong đó a là số
Correct nguyên không dấu kiểu unsigned int và a>0. Ý nào sau đây là đúng:
Flag question
eax=0;
do {
eax+=ecx; ecx--;
}while(ecx>0) ;
Mã assembly:
KT:
mov a, %ecx
do:
/
add %ecx, %eax
loop do
Select one:
Chương trình hoàn toàn chính xác
Question 14 Cho đoạn mã assembly trên kiến trúc Intel thực hiện lệnh sau. Biết các số lưu trong các
Incorrect thanh ghi là số nguyên không dấu. Ý nào sau đây là đúng?
Flag question
Mã assembly:
if:
jbe else
jbe else
then:
jmp endif
else:
endif:
Select one:
Thừa lệnh jmp endif
Question 15 Cho lệnh Intel Assembly sau, ý nào sau đây là đúng?
Incorrect
mul $8
Mark 0.00 out of
1.00
Flag question
Select one:
Đây là lệnh nhân số không dấu số bị nhân nằm ở thanh ghi ax, tích được lưu ở thanh
ghi dx:ax
Lệnh sai sẽ bị báo lỗi
Đây là lệnh nhân số không dấu số bị nhân nằm ở thanh ghi eax, tích được lưu ở thanh
ghi edx:eax
Đây là lệnh nhân số không dấu số bị nhân nằm ở thanh ghi al, tích được lưu ở thanh
ghi ax
/
Question 16 Cho đoạn mã Intel assembly thực hiện tính tổng các số dương ở đầu tiên ở đầu của một
Correct mảng số nguyên có dấu a, có n phần tử, n là số nguyên không dấu kiểu unsigned int và
n>1. Kết quả tổng chứa ở eax. Ý nào sau đây là đúng?
Mark 1.00 out of
1.00
eax=0;
Flag question
ecx=0;
Mã assembly,
while:
cmp n, %ecx
je endwhile
jb endwhile
do:
inc %ecx
/
jmp while
endwhile:
Select one:
Sai ở lệnh cmp $0, a(, %ecx, 4)
Question 17 Ý nào sau đây là sai liên quan đến khai báo .section .data
Incorrect
Select one:
Mark 0.00 out of
1.00 Đây là khai báo một section của chương trình dùng để chứa dữ liệu
Flag question Các biến được khai báo trong section này là dữ liệu toàn cục
Question 18 Cho đoạn mã Intel Assembly cài đặt chương trình tính số hạng thứ n (không kể số a0) của
Correct một cấp số cộng với số hạng đầu là a0 và công sai là b (a0, b và n là các số nguyên dương
kiểu unsigned int, n>0), kết quả chứa ở thanh ghi eax. Ý nào sau đây là đúng?
Mark 1.00 out of
1.00
eax=a0; ebx=b;
Flag question
Mã assembly:
mov b, %ebx
/
mov n, %ecx
while:
je endwhile
do:
dec %ecx
jmp while
endwhile:
Select one:
Chương trình hoàn toàn chính xác vì đã có ràng buộc n>0
Flag question Đây là lệnh trừ hai số kiểu double với nhau
/
Ví dụ một lệnh là subsd $5, %xmm0 trong đó %xmm0 đang chứa một số kiểu double
Flag question Lệnh này bắt buộc cả s và d phải là thanh ghi xmm
Ví dụ một lệnh là divss m, %xmm0 trong đó m và %xmm0 đang chứa một số kiểu float
Finish review
QUIZ NAVIGATION
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Show one page at a time
Finish review