Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 651 → Rev 652

/kernel/trunk/docs/sysfuncr.txt
2203,7 → 2203,8
* bh = 1 - ®â®¡à ¦ âì ¢ è¥áâ­ ¤æ â¥à¨ç­®© á¨á⥬¥
* bh = 2 - ®â®¡à ¦ âì ¢ ¤¢®¨ç­®© á¨á⥬¥
* ¡¨âë 16-21 = ᪮«ìª® æ¨äà ®â®¡à ¦ âì
* ¡¨âë 22-31 § à¥§¥à¢¨à®¢ ­ë ¨ ¤®«¦­ë ¡ëâì ãáâ ­®¢«¥­ë ¢ 0
* ¡¨âë 22-30 § à¥§¥à¢¨à®¢ ­ë ¨ ¤®«¦­ë ¡ëâì ãáâ ­®¢«¥­ë ¢ 0
* ¡¨â 31 - ãáâ ­®¢«¥­ ¢ 1, ¥á«¨ âॡã¥âáï ¢ë¢®¤ ç¨á«  ¡¥§ ¯ãáâëå ­ã«¥© ¢ áâ àè¨å à §à鸞å
* ecx = ç¨á«® (¯à¨ bl=0) ¨«¨ 㪠§ â¥«ì (¯à¨ bl=1)
* edx = [ª®®à¤¨­ â  ¯® ®á¨ x]*65536 + [ª®®à¤¨­ â  ¯® ®á¨ y]
* esi = 0xX0RRGGBB:
/kernel/trunk/docs/sysfuncs.txt
2174,7 → 2174,8
* bh = 1 - display in hexadecimal system
* bh = 2 - display in binary system
* bits 16-21 = how many digits to display
* bits 22-31 reserved and must be set to 0
* bits 22-30 reserved and must be set to 0
* bit 31 - set in 1, if the output of number without empty zero in high bits is required
* ecx = number (if bl=0) or pointer (if bl=1)
* edx = [coordinate on axis x]*65536 + [coordinate on axis y]
* esi = 0xX0RRGGBB:
/kernel/trunk/kernel.asm
1325,13 → 1325,17
; edx = color
xor edi, edi
display_number_force:
 
push eax
and eax,0x7fffffff
cmp eax,0xffff ; length > 0 ?
pop eax
jge cont_displ
ret
cont_displ:
 
push eax
and eax,0x7fffffff
cmp eax,61*0x10000 ; length <= 60 ?
pop eax
jb cont_displ2
ret
cont_displ2:
1347,8 → 1351,10
cmp ah,0 ; DECIMAL
jne no_display_desnum
shr eax,16
and eax,0x803f
; and eax,0x3f
push eax
and eax,0x3f
push eax
mov edi,esp
add edi,4+64-1
mov ecx,eax
1362,6 → 1368,7
dec edi
loop d_desnum
pop eax
call normalize_number
call draw_num_text
add esp,64
popad
1371,8 → 1378,10
cmp ah,0x01 ; HEXADECIMAL
jne no_display_hexnum
shr eax,16
and eax,0x803f
; and eax,0x3f
push eax
and eax,0x3f
push eax
mov edi,esp
add edi,4+64-1
mov ecx,eax
1387,6 → 1396,7
dec edi
loop d_hexnum
pop eax
call normalize_number
call draw_num_text
add esp,64
popad
1396,8 → 1406,10
cmp ah,0x02 ; BINARY
jne no_display_binnum
shr eax,16
and eax,0x803f
; and eax,0x3f
push eax
and eax,0x3f
push eax
mov edi,esp
add edi,4+64-1
mov ecx,eax
1411,6 → 1423,7
dec edi
loop d_binnum
pop eax
call normalize_number
call draw_num_text
add esp,64
popad
1421,7 → 1434,24
popad
ret
 
normalize_number:
test ah,0x80
jz .continue
mov ecx,48
and eax,0x3f
@@:
inc edi
cmp [edi],cl
jne .continue
dec eax
cmp eax,1
jne @r
.continue:
and eax,0x3f
ret
 
 
 
draw_num_text:
 
; dtext