::SHE+ILA:: Kernel ASM Source [3] -- The Virtual Store

52
0
  • Squishy Plushie's avatar Artist
    Squishy Pl...
  • DDG Model
    Grok
  • Access
    Public
  • Created
    1w ago
  • Try

Prompt

A beautiful purple-haired ragdoll wearing a long purple velvet ankle-length dress with flouncy sleeves and purple suede high heels. Around her are many purple and green circles.

More about ::SHE+ILA:: Kernel ASM Source [3] -- The Virtual Store

// This article is under construction! :)

// Define some macros
PageTableEntry <:: (= lba:32; pgfrmseg:16; priorLRU:32; nextLRU:32; adregchain:32; flagbits:8; filler:8 =);
SystemGlobalSegment <:: (= framecount:16; swapEBX:32; LRUhead:32 =); // GS segment
pagetable: 32768 # PageTableEntry (0, 0, 0, 0, 0, 0, 0); // (was 4096) Initialised to 0's at boot
// The page table will be loaded from the GHOST of each active User when their first thread begins to run
// Each page table entry uses 20 bytes (was 16) and resides in extended memory
// The actual page frames also occupy extended memory, using 32K bytes each
// Hence a 1GB RAM will support about 32,000 page frames
// The adregchain is a circular list of all address registers which point to this page
// They will be NULLified when the page is swapped out to prevent dangling refs
// Reg usage: EBX points to current page table entry, ESI to previous, EDI to next
{_ // Begin ASM block
NEWPF: _PROC
_MOV EBX.nextLRU,GS:[LRUhead];
_MOV GS:[LRUhead],EBX;
_MOV EBX.priorLRU,0;
_MOV EBX.lba,lbaparam;
_CALL READDISK;
_RET;
DELETEPF: _PROC
_CALL CKPT;
_MOV ESI,EBX.priorLRU;
_MOV EDI,EBX.nextLRU;
_MOV ESI.nextLRU,EDI;
_CMP EDI,0;
_JNZ L1;
_MOV GS:[swapEBX], ESI;
L1: _MOV EDI.priorLRU,ESI;
_RET;
_}; // End ASM block
// *** To be continued :) ***

Comments


Loading Dream Comments...

Discover more dreams from this artist