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