2016년 6월 19일 일요일

LOADALL

LOADALL

In LOADALL, CPU 80286 of Intel Corp., 80386 are one of the closed orders that they looked good with.

Table of contents

Summary

The LOADALL order loads all internal registers of the CPU by 1 order so that the name shows it. There cannot be it by the shown x86 instruction to load the デスクリプターキャッシュ part (cached part) in addition to the visible part (visible part) of the segment register. A useful use example of the LOADALL order is to access it as real mode in memory areas more than 1M byte. RAMDRIVE.SYS and HIMEM.SYS of MS-DOS, Windows/386 2.1, OS/2 use LOADALL.

80,286 LOADALL

The operation cord is 0Fh 05h. 80,286 LOADALL reads data from an address of 00800h–00866h regardless of the value of the segment register.

Address number of bytes register register register register
00800 6 not used
00806 2 MSW (machine status word)
00808 14 not used
00816 2 TR (task register)
00818 2 flags
0081A 2 IP (instruction pointer)
0081C 2 LDTR (local descriptor table register)
0081E 4x2 DS (data segment) SS (stack segment) CS (code segment) ES (extra segment)
00826 4x2 DI (destination index) SI (source index) BP (base pointer) SP (stack pointer)
0082E 4x2 BX DX CX AX
00836 4x6 ES descriptor cache CS descriptor cache SS descriptor cache DS descriptor cache
0084E 4x6 GDTR (global descriptor table register) LDT descriptor cache IDTR (interrupt descriptor table register) TSS descriptor cache

I cannot return to real mode from protect mode even if I use LOADALL order with 80286. In other words, I cannot clear the PE bit of MSW. However, LOADALL order does not have to enter the protect mode to access storage devices more than 1MB if there is it.

80,386 LOADALL

The operation cord is 0Fh 07h. 80,386 LOADALL reads data from address ES:EDI. ES is not デスクリプターキャッシュ part, and a visible part of ES is used.

Address number of bytes register register register register
ES:EDI+00 4 CR0 (control register 0)
ES:EDI+04 4 EFLAGS
ES:EDI+08 4 EIP (instruction pointer)
ES:EDI+0C 4x4 EDI (destination index) ESI (source index) EBP (base pointer) ESP (stack pointer)
ES:EDI+1C 4x4 EBX EDX ECX EAX
ES:EDI+2C 2x4 DR6 DR7
ES:EDI+34 4 TR (task register)
ES:EDI+38 4 LDTR (local descriptor table register)
ES:EDI+3C 4x2 GS (extra segment) not used FS (extra segment) not used
ES:EDI+44 4x2 DS (data segment) not used SS (stack segment) not used
ES:EDI+4C 4x2 CS (code segment) not used ES (extra segment) not used
ES:EDI+54 4x12 TSS descriptor cache IDT descriptor cache GDT descriptor cache LDT descriptor cache
ES:EDI+84 4x12 GS descriptor cache FS descriptor cache DS descriptor cache SS descriptor cache
ES:EDI+B4 2x12 CS descriptor cache ES descriptor cache

Allied item

This article is taken from the Japanese Wikipedia LOADALL

This article is distributed by cc-by-sa or GFDL license in accordance with the provisions of Wikipedia.

Wikipedia and Tranpedia does not guarantee the accuracy of this document. See our disclaimer for more information.

In addition, Tranpedia is simply not responsible for any show is only by translating the writings of foreign licenses that are compatible with CC-BY-SA license information.

0 개의 댓글:

댓글 쓰기