1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
;Testname=test; Arguments=-fbin -outf.bin; Files=stdout stderr utf.bin
;Testname=error; Arguments=-fbin -outf.bin -DERROR; Files=stdout stderr utf.bin
%define u(x) __utf16__(x)
%define w(x) __utf32__(x)
%define ul(x) __utf16le__(x)
%define wl(x) __utf32le__(x)
%define ub(x) __utf16be__(x)
%define wb(x) __utf32be__(x)
db `Test \u306a\U0001abcd\n`
dw u(`Test \u306a\U0001abcd\n`)
dd w(`Test \u306a\U0001abcd\n`)
db `\u306a`
db `\xe3\x81\xaa`
dw __utf16__ "Hello, World!"
nop
mov ax,u(`a`)
mov bx,u(`\u306a`)
mov cx,u(`\xe3\x81\xaa`)
mov eax,u(`ab`)
mov ebx,u(`\U0001abcd`)
mov ecx,w(`\U0001abcd`)
db `Test \u306a\U0001abcd\n`
dw ul(`Test \u306a\U0001abcd\n`)
dd wl(`Test \u306a\U0001abcd\n`)
db `\u306a`
db `\xe3\x81\xaa`
dw __utf16le__ "Hello, World!"
nop
mov ax,ul(`a`)
mov bx,ul(`\u306a`)
mov cx,ul(`\xe3\x81\xaa`)
mov eax,ul(`ab`)
mov ebx,ul(`\U0001abcd`)
mov ecx,wl(`\U0001abcd`)
db `Test \u306a\U0001abcd\n`
dw ub(`Test \u306a\U0001abcd\n`)
dd wb(`Test \u306a\U0001abcd\n`)
db `\u306a`
db `\xe3\x81\xaa`
dw __utf16be__ "Hello, World!"
nop
mov ax,ub(`a`)
mov bx,ub(`\u306a`)
mov cx,ub(`\xe3\x81\xaa`)
mov eax,ub(`ab`)
mov ebx,ub(`\U0001abcd`)
mov ecx,wb(`\U0001abcd`)
%ifdef ERROR
dw __utf16__ 33
dw __utf16__, 46
dw __utf16__("Hello, World!",16)
dw __utf16__("Hello, World!",16
dw u(`\xff`)
dw __utf16le__ 33
dw __utf16le__, 46
dw __utf16le__("Hello, World!",16)
dw __utf16le__("Hello, World!",16
dw ul(`\xff`)
dw __utf16be__ 33
dw __utf16be__, 46
dw __utf16be__("Hello, World!",16)
dw __utf16be__("Hello, World!",16
dw ub(`\xff`)
%endif
|