Professional Documents
Culture Documents
H P NG
H P NG
-6247 = E799
300 = 012C
Mún chia đầu tiên xác định op là bao nhiu bit ở đây 012C được lưu trữ
trong 16 bit => giá trị bị chia phải lưu trong thanh ghi 32 bit CDW(word
to double word)
Để clear 4 bit cuối thì ta AND vs 4 bit cuối là bit 0 nhưng tả phải giữ lại 4
bit đầu vì để không yêu cầu đổi: F0 hoặc 11110000
MOV AX, 67FE => AX = 67FE
MOV BX, AX => BX = AX = 67FE
Ta chuyển 2 số về decimal
140h = 320
8h = 8
Nhân lại => kq = 2560 => nó sẽ được lưu(dạng binary) vào trong dx:ax
=> vẫn còn trong phạm vi của thanh ghi 16 bit nên nó sẽ không lấn sang
dx => cờ nhớ (CF) và cờ tràn (OF) ở trạng thái reset
Kết quả phép cộng: 010A => đổi qua decimal là 266 > 256(8bit)
=> Cờ nhớ được bật AL = 0A
Mún chia đầu tiên xác định op là bao nhiu bit ở đây 0080 được lưu trữ
trong 16 bit => giá trị bị chia phải lưu trong thanh ghi 32 bit CDW(word
to double word)
Thanh ghi AX chứa giá trị 16bit và phải lưu trữ dưới dạng little edian =>
kết quả là: 5A2D
MUL CL => AL nhân với CL kết quả lưu trong AX: 20x10 = 0200
Không đụng tới DX nên DX = 0000
Trong phép nhân không dấu khi phần nữa cao của kết quả khác 0 thì CF
và OF được set = 1
Trong phép nhân có dấu khi phần nữa cao có bit khác với bit cuối cùng
của giá trị nữa thấp thì CF và OF được set = 1
1. Step 1: MOV AX, 01BC (Initialize AX to 449)
Để chỉ thay đổi thứ tự bit yêu cầu thì ta set vị trí bit đó là 0 còn lại là 1
=> kq: 10010111
Kết quả sau khi nhân: 0FFF6000 bit dấu và bit cuối cùng khác nhau =>
OF và CF được set
Kết quả sau khi nhân:0004FFFB ta có thể thấy nữa cao của kết quả khác
0 => OF và CF được set
Trong phép nhân có dấu khi phần nữa cao có bit khác với bit cuối cùng
của giá trị nữa thấp thì CF và OF được set = 1
Kết quả phép nhân là: 0000 0000 0000 0000 1111 0101 0000 1010
Chọn ý 1,3,4
Kết quả là: 00000100
=> OF và CF = 0 (reset)
Chọn A
AX 16bit => 5A2D
Watch point 1: AH = 2D
Watch point 2: AL = 73
MOV AX, 1BC => AX = 444
CL = 2
SHL AX, CL
Dịch trái ta sẽ lấy giá trị hiện tại nhân 2^n lần dịch
=> Giá trị AX = 444x2^2 = 1776
Watch point 1: AX = 1776
ADD AX, 166
=> AX = 1942
Watch point 2: AX = 1942
SHR AX, CL
Dịch phải ta sẽ lấy giá trị hiện tại chia 2^n lần dịch
=> Giá trị AX = 1942 : 2^2 = 485
Watch point 3: AX = 485
SHR AX, CL
=> Giá trị AX = 485 : 2^2 = 121
CLD dùng để set DF = 0 => DI và SI sẽ tăng
STD dùng để set DF =1 => DI và SI sẽ giảm
Ta chọn ý 1 và 4
Lệnh REP để thay thế vòng lắp
Loại ý 2 vì trên đề đưa là tăng SI và DI
Loaị ý 3 vì đã có vòng lặp mà còn dùng lệnh REP
Đáp án là 41BE
AX = BE
DX = 41