Đừng nghĩ bạn được bao nhiêu điểm. Đừng nghĩ bạn học ở trường nào. Đừng nghĩ bạn tốt nghiệp loại gì. Hãy nghĩ: MÌNH CÓ GÌ TRONG ĐẦU! Chúc Khách viếng thăm 1 ngày mới tốt lành !
& Có những giây phút vui vẻ, thư giãn ở diễn đàn !.
MOV [1000],ES //Ở đây Segment của DS sẽ được chương trình ngầm định tự hiểu ([1000] có nghĩa là DS:[1000])
Câu 2:
LDS AX,[0200] //Lệnh này AX sẽ được gán cho giá trị ở địa chỉ [1001] và [1000], còn DS sẽ được gán cho giá trị ở địa chỉ [1003] và [1002]
Câu 3:
AX = 0200h = 512 BL = 16h = 22 DIV BL Vì toán hạng nguồn (BL) là 8bit, nên AX/BL = 23 dư 6 => AH = 06 = 06h, AL = 23 = 17h => AX = (AHAL) = 0617h
Câu 4:
số thứ nhất: 0007h = 0000 0000 0000 0111 Vì số bên trái đầu tiên là 0, nên đây là số dương => đó là số 7 số thứ hai: FFECh = 1111 1111 1110 1101 Vì số bên trái đầu tiên là 1, nên đây là số âm. Áp dụng luật bù 2: 1111 1111 1110 1100 0000 0000 0001 0011 (đảo ngược các bit) + 1 ================== 0000 0000 0001 0100 = 20 Vậy hai số là 7 và -20 (vì số thứ hai là số âm)
Câu 5:
MOV AL,DS:[SI] //Lấy giá trị tại Segment DS, offset SI vào AL MOV ES:[DI],AL //Lấy giá trị của AL vào địa chỉ có Segment là ES, offset DI //Tóm lại, hai lệnh này lấy giá trị DS:[SI] bỏ vào ES:[DI] INC SI //SI = SI + 1 INC DI //DI = DI + 1
Các lệnh trên có thể thay thế bằng lệnh: LES DI,..... (Câu này mình không biết làm, nhưng đoán là xài lệnh LES vì nó có liên wan nhiều đến DI, ES các thứ ^^)
Câu 6:
CharTable DB '0123456789ABCDEF' //Khai báo biến tên là CharTable, có kích thước 1 Byte MOV AL,10 //AL = 10 (decimal) MOV BX,OFFSET CharTable //Lấy offset của biến CharTable vào BX XLAT (Do chưa hiểu rõ XLAT nên nhường câu này lại cho các bạn nào nẵm rõ lệnh này)
Câu 7:
Val DB 5 //Khai báo biến Val có kích thước là 1 byte, giá trị là 5 (Hex) MOV AH,0 //AH = 0 MOV AL,-48 //AL = D0 IDIV Val //Chia số có dấu, cách thực hiện giống DIV Ở đây AX = 00D0 Toán hạng nguồn là 8bit, nên: AX/Val = 41 = 29h dư 3 => AH = 03h, AL=29h => AX = 0329h
Câu 8
AL = 34h BL = 35h AH = 0 ADD AL,BL //AL = AL + BL = 34h + 35h = 69h AAA AL = 69h Vì hàng đơn vị của AL (là 9) không lớn hơn 9 nên không làm gì cả. Kết luận: AL=69h, AH = 0
Câu 9
MOV AX,9 //AX = 0009 => AH =00, AL=09 MOV BX,3 //BX = 0003 => BH= 00, BL=03 ADD AL,BL //AL = AL + BL = 09 + 03 = 0C AAA Hàng đơn vị của AL là C > 9 nên: AL = 0000 1100 + 0110 ============ 0001 0010 And 0000 1111 ============ 0000 0010 AL = 02h AH = AH + 1 = 01h KL: Vậy AX = 0102h
Câu 10:
Val DW 100h //Khai báo biến Val có kích thước 2 byte, giá trị 100h MOV AX,8003h //AX = 8003h DIV Val Vì toán hạng nguồn (Val) là 16bit, nhưng khi DIV Val không xác định kích thước của Val. Sửa lại như sau: DIV WORD PTR Val
Câu 11:
a) IP = IP + 3 = 0203 b) XCHG AX,BX //Đổi 2 giá trị cho nhau => AX=0456 , BX=0123 MOV [0100],AX //Lấy giá trị AX gán cho giá trị tại ô nhớ [100] AX = 0456, BX = 0123 c) Khi MOV AX vào [0100] thì 1500:0101 = 04 1500:0100 = 56
Câu 12:
Mem DW 1024 //Khai báo biến Mem, kích thước 2 byte, giá trị 1024 MOV AX,Mem //AX = 1024 SHR AX,1 //Dịch phải AX 1 bit //1024h = 0001 0000 0010 0100 //Dịch phải 1 bit: 0000 1000 0001 0010 //Vậy AX = 0812h XCHG AL,AH //AH = 12, AL = 08 CBW //Vì AL = 08 < 80 => AH = 00 KL: AX = 0008h
Câu 13:
MOV AX,5526h //AX = 5526 ADD AL,AH //AL = AL + AH = 26 + 55 = 7B DAA // Vì AL <9Fh và B > 9 nên: AL = AL + 6 = 81h
Câu 14:
MOV DX,0205h //DX = 0205h MOV AL,DH // AL = 02 MOV CL,10 //CL = 0A MUL CL //AX = AL * CL = 02 * 0A = 0014 ADD AL,DL //AL = AL + DL = 14 + 05 = 19 KL: AL = 19h
MOV AX,Val //AX = Val SHL AX,1 //Dịch phải 1 bit của AX (giá trị hiện giờ = Val dịch phải 1 bit) MOV BX,AX //BX = AX = Val dịch phải 1 bit SHL AX,2 //Dịch phải 2 bit của AX (giá trị hiện giờ = Val dịch phải 3 bit) ADD AX,BX //AX = AX + BX = Val dịch phải 3 bit + Val dich phải 1 bit
đề thi cấu trúc máy tính vào hợp ngữ
Honda Thành Viên Chính Thức
Huy chương cấp bậc:
Tổng số bài gửi : 15
Points : 25
Thanks : 4
Join date : 24/05/2011
duoc do may
đề thi cấu trúc máy tính vào hợp ngữ
pvtn S.Mod
Huy chương cấp bậc:
Tổng số bài gửi : 83
Points : 158
Thanks : 36
Join date : 27/05/2011
Age : 32
Đến từ : Nơi mặt trời buông...
Cảm ơn bạn Ngọc nhiều nhá!!
đề thi cấu trúc máy tính vào hợp ngữ
four_leaf_clover Thành Viên Chính Thức
Huy chương cấp bậc:
Tổng số bài gửi : 12
Points : 37
Thanks : 13
Join date : 02/06/2011
hình như câu 3 bị sai thì phải giải lại câu đó là
AX = 0123h BL = 10h=16 DIV BL Vì toán hạng nguồn (BL) là 8bit, nên AX/BL = 12 dư 3 => AH = 03 = 03h, AL = 12 = 12h => AX = (AHAL) = 0312h
đề thi cấu trúc máy tính vào hợp ngữ
mrhs Khách Lãng Du
Huy chương cấp bậc:
Tổng số bài gửi : 3
Points : 5
Thanks : 0
Join date : 14/12/2011
thanks
đề thi cấu trúc máy tính vào hợp ngữ
Sponsored content
Huy chương cấp bậc:
đề thi cấu trúc máy tính vào hợp ngữ
Trang 1 trong tổng số 1 trang
* Viết tiếng Việt có dấu, là tôn trọng người đọc. * Chia sẻ bài sưu tầm có ghi rõ nguồn, là tôn trọng người viết. * Thực hiện những điều trên, là tôn trọng chính mình.
* Nếu chèn smilies có vấn đề thì bấm A/a trên phải khung viết bài. * NẾU THẤY BÀI VIẾT HAY ,CÓ ÍCH THÌ HÃY NHẤN ĐỂ KHÍCH LỆ NGƯỜI VIẾT.