Subversion Repositories Kolibri OS

Rev

Rev 824 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 824 Rev 1008
1
diff16 'tp-recode.asm',0,$
1
diff16 'tp-recode.asm',0,$
2
 
2
 
3
recode:
3
recode:
4
 
4
 
5
  .866.1251:
5
  .866.1251:
6
	mov	edi,table.866.1251
6
	mov	edi,table.866.1251
7
	jmp	.main
7
	jmp	.main
8
  .1251.866:
8
  .1251.866:
9
	mov	edi,table.1251.866
9
	mov	edi,table.1251.866
10
	jmp	.main
10
	jmp	.main
11
  .866.koi:
11
  .866.koi:
12
	mov	edi,table.866.koi
12
	mov	edi,table.866.koi
13
	jmp	.main
13
	jmp	.main
14
  .koi.866:
14
  .koi.866:
15
	mov	edi,table.koi.866
15
	mov	edi,table.koi.866
16
	jmp	.main
16
	jmp	.main
17
  .1251.koi:
17
  .1251.koi:
18
	mov	edi,table.1251.koi
18
	mov	edi,table.1251.koi
19
	jmp	.main
19
	jmp	.main
20
  .koi.1251:
20
  .koi.1251:
21
	mov	edi,table.koi.1251
21
	mov	edi,table.koi.1251
22
 
22
 
23
  .main:
23
  .main:
24
	mov	ecx,[cur_editor.Lines.Count]
24
	mov	ecx,[cur_editor.Lines.Count]
25
	mov	esi,[cur_editor.Lines]
25
	mov	esi,[cur_editor.Lines]
26
	jecxz	.exit
26
	jecxz	.exit
27
	xor	eax,eax
27
	xor	eax,eax
28
  .lp0: dec	ecx
28
  .lp0: dec	ecx
29
	js	.exit
29
	js	.exit
30
	movzx	edx,word[esi]
30
	mov	edx,[esi+EDITOR_LINE_DATA.Size]
31
	add	esi,4
31
	add	esi,sizeof.EDITOR_LINE_DATA
32
    @@: dec	edx
32
    @@: dec	edx
33
	js	.lp0
33
	js	.lp0
34
	lodsb
34
	lodsb
35
	add	al,-$80
35
	add	al,-$80
36
	js	@b
36
	js	@b
37
	mov	al,[edi+eax]
37
	mov	al,[edi+eax]
38
	mov	[esi-1],al
38
	mov	[esi-1],al
39
	jmp	@b
39
	jmp	@b
40
  .exit:
40
  .exit:
41
	ret
41
	ret