Subversion Repositories Kolibri OS

Rev

Rev 2287 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2287 Rev 2664
Line 1... Line 1...
1
; flat assembler core
1
; flat assembler core
2
; Copyright (c) 1999-2011, Tomasz Grysztar.
2
; Copyright (c) 1999-2012, Tomasz Grysztar.
3
; All rights reserved.
3
; All rights reserved.
Line 4... Line 4...
4
 
4
 
5
convert_expression:
5
convert_expression:
6
	push	ebp
6
	push	ebp
Line 13... Line 13...
13
	call	get_operator
13
	call	get_operator
14
	pop	edi
14
	pop	edi
15
	or	al,al
15
	or	al,al
16
	jz	expression_element
16
	jz	expression_element
17
	push	eax
17
	cmp	al,82h
-
 
18
	je	expression_loop
-
 
19
	push	eax
18
	jmp	expression_loop
20
	jmp	expression_loop
19
      expression_element:
21
      expression_element:
20
	mov	al,[esi]
22
	mov	al,[esi]
21
	cmp	al,1Ah
23
	cmp	al,1Ah
22
	je	expression_number
24
	je	expression_number
Line 389... Line 391...
389
      oct_digit_ok:
391
      oct_digit_ok:
390
	xor	edx,edx
392
	xor	edx,edx
391
	mov	cl,bl
393
	mov	cl,bl
392
	dec	esi
394
	dec	esi
393
	cmp	bl,64
395
	cmp	bl,63
394
	jae	oct_out_of_range
396
	ja	oct_out_of_range
-
 
397
	jne	oct_range_ok
-
 
398
	cmp	al,1
-
 
399
	ja	oct_out_of_range
395
	add	bl,3
400
      oct_range_ok:
-
 
401
	add	bl,3
396
	cmp	cl,30
402
	cmp	cl,30
397
	je	oct_digit_wrap
403
	je	oct_digit_wrap
398
	ja	oct_digit_high
404
	ja	oct_digit_high
399
	shl	eax,cl
405
	shl	eax,cl
400
	or	dword [edi],eax
406
	or	dword [edi],eax