Changeset 21916 for trunk/src/kernel32/asmutil.asm
- Timestamp:
- Dec 18, 2011, 10:28:22 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:ignore
-
old new 1 bin 2 Makefile.inc 1 env.cmd 2 LocalConfig.kmk
-
-
Property svn:mergeinfo
set to
/branches/gcc-kmk merged eligible
- Property svn:ignore
-
trunk/src/kernel32/asmutil.asm
r21343 r21916 11 11 NAME except 12 12 13 DATA32 14 DATA32 15 CONST32_RO 16 CONST32_RO 17 BSS32 18 BSS32 19 DGROUP 20 assumecs:FLAT, ds:FLAT, ss:FLAT, es:FLAT13 DATA32 segment dword use32 public 'DATA' 14 DATA32 ends 15 CONST32_RO segment dword use32 public 'CONST' 16 CONST32_RO ends 17 BSS32 segment dword use32 public 'BSS' 18 BSS32 ends 19 DGROUP group BSS32, DATA32 20 assume cs:FLAT, ds:FLAT, ss:FLAT, es:FLAT 21 21 22 22 extrn Dos32TIB:abs … … 24 24 CODE32 SEGMENT DWORD PUBLIC USE32 'CODE' 25 25 26 PUBLIC getEAX27 PUBLIC getEBX 28 getEAX proc near 29 ret 30 getEAX endp 31 32 public getEDX 33 getEDX proc near 34 mov EAX, EDX 35 ret 36 endp 37 38 getEBXproc near26 PUBLIC _getEAX 27 _getEAX proc near 28 ret 29 _getEAX endp 30 31 PUBLIC _getEDX 32 _getEDX proc near 33 mov EAX, EDX 34 ret 35 _getEDX endp 36 37 PUBLIC _getEBX 38 _getEBX proc near 39 39 mov eax, ebx 40 40 ret 41 getEBXendp41 _getEBX endp 42 42 43 43 PUBLIC GetFS … … 52 52 mov fs, eax 53 53 ret 54 SetFS 55 56 PUBLIC getCS57 getCSproc near54 SetFS endp 55 56 PUBLIC _getCS 57 _getCS proc near 58 58 mov eax, cs 59 59 ret 60 getCSendp61 62 PUBLIC getDS63 getDSproc near60 _getCS endp 61 62 PUBLIC _getDS 63 _getDS proc near 64 64 mov eax, ds 65 65 ret 66 getDSendp66 _getDS endp 67 67 68 68 PUBLIC SetReturnFS … … 75 75 SetReturnFS endp 76 76 77 PUBLIC getSS78 getSSproc near77 PUBLIC _getSS 78 _getSS proc near 79 79 mov ax, ss 80 80 ret 81 getSSendp82 83 PUBLIC getES84 getESproc near81 _getSS endp 82 83 PUBLIC _getES 84 _getES proc near 85 85 mov eax, es 86 86 ret 87 getESendp88 89 PUBLIC getGS90 getGSproc near87 _getES endp 88 89 PUBLIC _getGS 90 _getGS proc near 91 91 mov eax, gs 92 92 ret 93 getGSendp94 95 PUBLIC getESP96 getESPproc near93 _getGS endp 94 95 PUBLIC _getESP 96 _getESP proc near 97 97 mov eax, esp 98 98 ret 99 getESPendp99 _getESP endp 100 100 101 101 PUBLIC RestoreOS2FS … … 129 129 _Mul32x32to64 endp 130 130 131 132 133 134 _Sub64 131 align 4h 132 133 public _Sub64 134 _Sub64 proc 135 135 136 136 ; 34 c = a - b; … … 143 143 mov edi, [ebp+10h] ;&c 144 144 mov esi, [ebp+08h] ;&a 145 moveax,[esi] ;a.low146 movedx,[esi+04h] ;a.high145 mov eax,[esi] ;a.low 146 mov edx,[esi+04h] ;a.high 147 147 mov esi, [ebp+0ch] ;&b 148 subeax,[esi] ;b.low149 sbbedx,[esi+04h] ;b.high148 sub eax,[esi] ;b.low 149 sbb edx,[esi+04h] ;b.high 150 150 151 151 mov [edi], eax ;c.low … … 156 156 pop esi 157 157 leave 158 ret 159 _Sub64 160 161 162 163 164 _Add64 158 ret 159 _Sub64 endp 160 161 align 4h 162 163 public _Add64 164 _Add64 proc 165 165 166 166 ; 25 c = a + b; … … 173 173 mov edi, [ebp+10h] ;&c 174 174 mov esi, [ebp+08h] ;&a 175 moveax,[esi] ;a.low176 movedx,[esi+04h] ;a.high175 mov eax,[esi] ;a.low 176 mov edx,[esi+04h] ;a.high 177 177 mov esi, [ebp+0ch] ;&b 178 addeax,[esi] ;b.low179 adcedx,[esi+04h] ;b.high178 add eax,[esi] ;b.low 179 adc edx,[esi+04h] ;b.high 180 180 181 181 mov [edi], eax ;c.low … … 186 186 pop esi 187 187 leave 188 ret 189 190 _Add64 191 192 193 194 195 188 ret 189 190 _Add64 endp 191 192 193 align 4h 194 195 public _set_bit 196 196 ;void CDECL set_bit(int bitnr, void *addr); 197 197 _set_bit proc near … … 207 207 _set_bit endp 208 208 209 210 211 209 align 4h 210 211 public _test_bit 212 212 ;int CDECL test_bit(int bitnr, void *addr); 213 213 _test_bit proc near … … 225 225 _test_bit endp 226 226 227 227 public _clear_bit 228 228 ;void CDECL clear_bit(int bitnr, void *addr); 229 229 _clear_bit proc near
Note:
See TracChangeset
for help on using the changeset viewer.