Організація роботи мiкропроцесора в захищеному режимi, страница 16

{------------------------Значення поля Type системних дескpиптоpiв------------------------}

        type_int  =$06;           { шлюзу пеpеpивання для 80286 }

        type_trap =$07;            { шлюзу виключення для 80286 }

        type_TSS  =$01;                                                                                   { сегмента TSS }

        type_call =$04;                                                                                 { шлюзу виклика }

        type_task =$05;                          { шлюзу задачі }

{---------------------------------Байт доступу сегмента коду--------------------------------------}

        acc_code=present OR nosys OR exe OR read;

{--------------------------------Байт доступу сегмента даних--------------------------------------}

        acc_data=present OR nosys OR write;

{--------------------------------Байт доступу сегмента стека--------------------------------------}

        acc_stack=present OR nosys OR write OR down;

{--------------------------------Байт доступу шлюзу задачі----------------------------------------}

        acc_task =present OR type_task;

    type

        t_gdt=record                                                           { Структура дескриптора GDT: }

              lim_l  :word;                                                        { гpаниця сегмента (бiти 15-0) }

                base_l :word; { базова адреса сегм. (бiти 15-0) }

                base_h :byte;{ базова адреса сегм. (бiти 23-16) }

                acc    :byte;                                                                                     { байт доступу }

                lim_h  :byte;                                                 { G,D,0,X, гран. сегм. (бiти 19-16) }

                base_hh:byte;                                                { базова адреса сегм. (бiти 31-24) }

            end;

        t_idt=record                                                             { Структура дескриптора IDT: }

                off_l:word;                                                                       { змiщення  (бiти 15-0) }

                sel  :word;                                                                                              { селектор }

                par  :byte;                                                                              { число параметрiв }

               acc   :byte;                                                                                       { байт доступу }

               off_h :word;                                                                    { змiщення (бiти 31-16) }

             end;

        t_dtr=record                                                  { Структура регiстрiв GDTR i IDTR: }

                lim    :word;                                                                           { границя таблицi, }

                base :longint;                                                                 { базова адреса таблицi }

              end;

         t_tss_286=record                                                          { Структура TSS для 80286: }

                     link,                                                                             { селектор повеpнення }

                     sp0,ss0,                                                                  { показчик стека кiльця 0 }

                     sp1,ss1,                                                                  { показчик стека кiльця 1 }

                     sp2,ss2,                                                                  { показчик стека кiльця 2 }

                     ip,flags,ax,cx,dx,bx,sp,bp,                                                                { регiстри }

                     si,di,es,cs,ss,ds,ldtr                                                              { мiкpопpоцесоpа }

                     :word;   end;

         t_tss_386=record                                             { Структура TSS для 80386 i вище: }