"X86 assembly language: From the actual mode to the protection mode" test points and exercise answers

Source: Internet
Author: User

Detection Point 1.1: In Order: 255-56091

Detection Point 1.2: In order respectively: 1000 1010 1100 1111 11001 1000000 1100100 11111111 1111101000 1111111111111111 100000000000000000000< /c7>

Detection Point 1.3: In Order: 8-Ten 1741 1022 4092 65535

detection Point 1.4: In Order: 8 A C F 100000 ff 3e8 FFFF

detection point 1.5:1. by order: 11 1010 1100 1111 100000 111111 1011111110 1111111111111111 100111111100000001011101 1111100110011111 111111011111111

2. in order:1/1 11/3 0101/5 111/7 1001/9 1011/a 1101/d 1111/f 0/0 10/2 100 /4 110/6 1000/8 1100/c 1110/e

detection point 1.6:1. 4092/111111111100 2.27b6100/10011110110110000100000000

The 1th exercise: 1. 5 C =15d=1111b =12d=1100b =10d=1010b =8h=1000b =11d=1011b =14d=1110b =16d=10000b 2.10101 10001111 1000000000 1FF

detection point 2.1:1. (2) (+) (4) (+ 2). (7) (8) The highest bit 3. ( xx) (0F) (8) (00, 02, 04, 06, 08, 0 A, 0C, 0E) double word, 00, 04, 08, 0C

Detection Point 2.2: a3d8h

detection point 2.3:1. 8 (AX BX CX DX SI DI BP SP) (AH AL BH BL CH CL DH DL) 2. ( A) (C) (D F) 3. (A B C D F)

The 2nd exercise: 1. 64 of 2. 25BC0H~35BBFH

detection point 3.1:1. (slightly) 2. (B) ( A) (C)

The 3rd exercise: 1. 00H, 35H, 40H 2. 49H (i.e. 73 bytes)

detection point 4.1:1. (0) (0) (1) (0) (0) (1) 2. (A B C)

detection point 4.2:1. (slightly) 2. (slightly) 3. A, S, m three letters should be displayed in the upper corner of the screen

detection point 5.1:1. ( 0xb8000) (0xb800) (0xf9e) (0x27) (0x48) 2. (E F G H J L) A error is due to an attempt to transmit a 16-bit word to a 8-bit register; The reason for the B error is that the immediate number is transmitted to the segment register; C error is caused by 8-bit register Al to the segment register transmission; The reason for the D error is that the length of the memory operand is not indicated; The reason for the error is that two registers do not match; The reason for the K error is to transfer between two memory units.

Detection Point 5.2:the DB line should not appear 0xf000

Detection Point 6.3:0xf0 0xff 0x81 0xffff 0x8a08

Detection Point 6.4:

1:

When zf= (1), it indicates that the calculated result is zero;    The JZ directive means that when the zf= (1) is calculated, the result is 0 o'clock transfer;    The JE directive means that when the zf= (1) is calculated, the result is 0 o'clock transfer;    The JNZ directive means that when the zf= (0) is not transferred when the result of the calculation is not (0); The JNE directive means that when the zf= (0) is not transferred when the result of the calculation is not (0); 2:

CMP AX,BX

JA LBB

Je lbz

JB LBL

The 1th Chapter Exercises:

Detection Point 12.2: The current stack segment descriptor B bit is 1, the base address is 0x00700000, the threshold value is 0xFFFFE. Then, in 32-bit mode, the valid address range for this stack segment is 0x00700000~ (). When the content of ESP is 0xfffff002, can you still press a double word? Why? as stated in the book, when the B-bit of the stack descriptor is 1 o'clock, the segment bounds are in 4KB units, so the actual segment boundary value used is 0xffffe*0x1000+0xfff=0xffffefff, and then according to

The actual segment bounds +1≤ (the content of the ESP-the length of the operand) ≤0xffffffff

Can get the scope of ESP for 0xffffefff+1<=esp<=0xffffffff, i.e. 0XFFFFF000<=ESP<=0XFFFFFFFF, With the base address of the stack segment given in the title 0x007c0000 plus the minimum and maximum offset allowed by ESP, the lowest end of the stack is 0x007c0000+0xfffff000=0x007bf000 and the highest end address is 0x007c0000+ 0XFFFFFFFF=0X007BFFFF, the valid address range for the stack segment in the topic is 0X007BF000~0X007BFFFF. When the content of ESP is 0xfffff002, the corresponding physical address is 0x007c0000+0xfffff002=0x007bf002, when pressed into a double word, esp-4=0xfffff002-4=0xffffeffe, The corresponding physical address is 0x007c0000+0xffffeffe=0x007beffe, because the address is below the lowest-end address of the stack, so it cannot be pressed into a double-word.

"X86 assembly language: From the actual mode to the protection mode" test points and exercise answers

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.