Changeset 6526 for branches/mini/src
- Timestamp:
- Aug 14, 2001, 5:07:54 PM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/mini/src/win32k/test/mini.asm
r6525 r6526 55 55 ; 56 56 impmod EQU restab 57 data EQU ImReallySmall57 ;data EQU ImReallySmall 58 58 59 59 … … 69 69 dw 2 ; unsigned short e32_cpu; /* The CPU type */ 70 70 dw 1 ; unsigned short e32_os; /* The OS type */ 71 ;objtab: 71 72 ; We can place the object table here I hope.. 73 ; mpages is addjusted to hold the object flags. 74 ; reserved is 1 which is no problem it seems. 75 ; 76 ; Object table with one entry. 77 ; Defines a 78 ; 79 ;dbg0 db 'objtab' ;struct o32_obj /* Flat .EXE object table entry */ 80 ;{ 81 ;objtab dd 11000h ; unsigned long o32_size; /* Object virtual size */ 82 ; dd 10000h ; unsigned long o32_base; /* Object base virtual address */ 83 ; ; unsigned long o32_flags; /* Attribute flags */ 84 ; dd (1h OR 2h OR 2000h OR 10h) ;=2013h 85 ; dd 1 ; unsigned long o32_pagemap; /* Object page map index */ 86 ; dd 1 ; unsigned long o32_mapsize; /* Number of entries in object page map */ 87 ; dd 0 ; unsigned long o32_reserved; /* Reserved */ 88 ;}; 89 objtab: 72 90 dd 20000h ; unsigned long e32_ver; /* Module version */ 73 91 ; unsigned long e32_mflags; /* Module flags */ 74 92 dd 200h OR 00h 75 dd 1; unsigned long e32_mpages; /* Module # pages */93 dd 2013h ; unsigned long e32_mpages; /* Module # pages */ 76 94 dd 1 ; unsigned long e32_startobj; /* Object # for instruction pointer */ 77 dd 1 2h; unsigned long e32_eip; /* Extended instruction pointer */95 dd 1 ; unsigned long e32_eip; /* Extended instruction pointer */ 78 96 dd 1 ; unsigned long e32_stackobj; /* Object # for stack pointer */ 79 97 dd 1000h ; unsigned long e32_esp; /* Extended stack pointer */ … … 110 128 dd 0 ; unsigned long e32_impproc; /* Offset of Import Procedure Name Table */ off = 78 111 129 ;dd offset impproc 112 objtab: 113 dd 10000 ; unsigned long e32_pagesum; /* Offset of Per-Page Checksum Table */ available 130 dd 0 ; unsigned long e32_pagesum; /* Offset of Per-Page Checksum Table */ available 114 131 ; unsigned long e32_datapage; /* Offset of Enumerated Data Pages */ 115 132 dd offset data … … 130 147 ;mv dd 1000h-32; unsigned long e32_stacksize; /* Size of stack */ 131 148 132 133 ; 134 ; Object table with one entry. 135 ; Defines a 136 ; 137 ;dbg0 db 'objtab' ;struct o32_obj /* Flat .EXE object table entry */ 138 ;{ 139 ;objtab dd 11000h ; unsigned long o32_size; /* Object virtual size */ 140 ; dd 10000h ; unsigned long o32_base; /* Object base virtual address */ 141 ; unsigned long o32_flags; /* Attribute flags */ 142 dd (1h OR 2h OR 2000h OR 10h) ;=2013h 143 dd 1 ; unsigned long o32_pagemap; /* Object page map index */ 144 dd 1 ; unsigned long o32_mapsize; /* Number of entries in object page map */ 145 dd 0 ; unsigned long o32_reserved; /* Reserved */ 146 147 ;}; 148 149 ;red dd 0 ; unsigned long e32_debuglen; /* The length of the debugging info. in bytes */ available? 150 ;red dd 0 ; unsigned long e32_instpreload;/* Number of instance pages in preload section of .EXE file */ available? 151 ;red dd 0 ; unsigned long e32_instdemand; /* Number of instance pages in demand load section of .EXE file */ available? 152 ;red dd 0 ; unsigned long e32_heapsize; /* Size of heap - for 16-bit apps */ available? 149 ;dd 0,0,0,0 153 150 154 151 ; … … 165 162 ;dbg1 db 'pagetab' 166 163 pagetab dd 0 ; offset 0 167 dw offset minilxret - offset data + 1; data size,164 dw offset dataend - offset data ; data size, 168 165 dw 0 ; flags. valid 169 166 … … 173 170 ; /* Pad structure to 196 bytes */ 174 171 ; }; 175 db 0 172 176 173 177 174 ; … … 227 224 228 225 assume CS:ALL 229 ImReallySmall db "I'm really small!",013 230 226 data: 227 int 3 231 228 minilx: 232 push 10000h 229 ; int 3 230 push offset ImReallySmall - offset data + 10000h 233 231 push 18 234 232 push eax ; 0 or 1 is just the same. … … 237 235 fixup dd 0h 238 236 add esp, 12 239 minilxret:240 237 ret 241 238 ImReallySmall db "I'm really small!",013 239 240 db '123' 242 241 ;lxdump db 'lxdumplxdumplxdumplxdump' 243 242 ; db 'lxdumplxdumplxdumplxdump' 244 243 ; db 'lxdumplxdumplxdumplxdump' 244 dataend: 245 245 246 246 ALL ENDS
Note:
See TracChangeset
for help on using the changeset viewer.