mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-17 13:13:36 +00:00
683 lines
12 KiB
NASM
683 lines
12 KiB
NASM
; This file is generated from a similarly-named Perl script in the BoringSSL
|
|
; source tree. Do not edit by hand.
|
|
|
|
default rel
|
|
%define XMMWORD
|
|
%define YMMWORD
|
|
%define ZMMWORD
|
|
|
|
%ifdef BORINGSSL_PREFIX
|
|
%include "boringssl_prefix_symbols_nasm.inc"
|
|
%endif
|
|
section .text code align=64
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
global abi_test_trampoline
|
|
ALIGN 16
|
|
abi_test_trampoline:
|
|
$L$abi_test_trampoline_seh_begin:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sub rsp,344
|
|
|
|
$L$abi_test_trampoline_seh_prolog_alloc:
|
|
mov QWORD[112+rsp],rbx
|
|
|
|
$L$abi_test_trampoline_seh_prolog_rbx:
|
|
mov QWORD[120+rsp],rbp
|
|
|
|
$L$abi_test_trampoline_seh_prolog_rbp:
|
|
mov QWORD[128+rsp],rdi
|
|
|
|
$L$abi_test_trampoline_seh_prolog_rdi:
|
|
mov QWORD[136+rsp],rsi
|
|
|
|
$L$abi_test_trampoline_seh_prolog_rsi:
|
|
mov QWORD[144+rsp],r12
|
|
|
|
$L$abi_test_trampoline_seh_prolog_r12:
|
|
mov QWORD[152+rsp],r13
|
|
|
|
$L$abi_test_trampoline_seh_prolog_r13:
|
|
mov QWORD[160+rsp],r14
|
|
|
|
$L$abi_test_trampoline_seh_prolog_r14:
|
|
mov QWORD[168+rsp],r15
|
|
|
|
$L$abi_test_trampoline_seh_prolog_r15:
|
|
movdqa XMMWORD[176+rsp],xmm6
|
|
|
|
$L$abi_test_trampoline_seh_prolog_xmm6:
|
|
movdqa XMMWORD[192+rsp],xmm7
|
|
|
|
$L$abi_test_trampoline_seh_prolog_xmm7:
|
|
movdqa XMMWORD[208+rsp],xmm8
|
|
|
|
$L$abi_test_trampoline_seh_prolog_xmm8:
|
|
movdqa XMMWORD[224+rsp],xmm9
|
|
|
|
$L$abi_test_trampoline_seh_prolog_xmm9:
|
|
movdqa XMMWORD[240+rsp],xmm10
|
|
|
|
$L$abi_test_trampoline_seh_prolog_xmm10:
|
|
movdqa XMMWORD[256+rsp],xmm11
|
|
|
|
$L$abi_test_trampoline_seh_prolog_xmm11:
|
|
movdqa XMMWORD[272+rsp],xmm12
|
|
|
|
$L$abi_test_trampoline_seh_prolog_xmm12:
|
|
movdqa XMMWORD[288+rsp],xmm13
|
|
|
|
$L$abi_test_trampoline_seh_prolog_xmm13:
|
|
movdqa XMMWORD[304+rsp],xmm14
|
|
|
|
$L$abi_test_trampoline_seh_prolog_xmm14:
|
|
movdqa XMMWORD[320+rsp],xmm15
|
|
|
|
$L$abi_test_trampoline_seh_prolog_xmm15:
|
|
$L$abi_test_trampoline_seh_prolog_end:
|
|
mov rbx,QWORD[rdx]
|
|
mov rbp,QWORD[8+rdx]
|
|
mov rdi,QWORD[16+rdx]
|
|
mov rsi,QWORD[24+rdx]
|
|
mov r12,QWORD[32+rdx]
|
|
mov r13,QWORD[40+rdx]
|
|
mov r14,QWORD[48+rdx]
|
|
mov r15,QWORD[56+rdx]
|
|
movdqa xmm6,XMMWORD[64+rdx]
|
|
movdqa xmm7,XMMWORD[80+rdx]
|
|
movdqa xmm8,XMMWORD[96+rdx]
|
|
movdqa xmm9,XMMWORD[112+rdx]
|
|
movdqa xmm10,XMMWORD[128+rdx]
|
|
movdqa xmm11,XMMWORD[144+rdx]
|
|
movdqa xmm12,XMMWORD[160+rdx]
|
|
movdqa xmm13,XMMWORD[176+rdx]
|
|
movdqa xmm14,XMMWORD[192+rdx]
|
|
movdqa xmm15,XMMWORD[208+rdx]
|
|
|
|
mov QWORD[88+rsp],rcx
|
|
mov QWORD[96+rsp],rdx
|
|
|
|
|
|
|
|
|
|
mov r10,r8
|
|
mov r11,r9
|
|
dec r11
|
|
js NEAR $L$args_done
|
|
mov rcx,QWORD[r10]
|
|
add r10,8
|
|
dec r11
|
|
js NEAR $L$args_done
|
|
mov rdx,QWORD[r10]
|
|
add r10,8
|
|
dec r11
|
|
js NEAR $L$args_done
|
|
mov r8,QWORD[r10]
|
|
add r10,8
|
|
dec r11
|
|
js NEAR $L$args_done
|
|
mov r9,QWORD[r10]
|
|
add r10,8
|
|
lea rax,[32+rsp]
|
|
$L$args_loop:
|
|
dec r11
|
|
js NEAR $L$args_done
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mov QWORD[104+rsp],r11
|
|
mov r11,QWORD[r10]
|
|
mov QWORD[rax],r11
|
|
mov r11,QWORD[104+rsp]
|
|
|
|
add r10,8
|
|
add rax,8
|
|
jmp NEAR $L$args_loop
|
|
|
|
$L$args_done:
|
|
mov rax,QWORD[88+rsp]
|
|
mov r10,QWORD[384+rsp]
|
|
test r10,r10
|
|
jz NEAR $L$no_unwind
|
|
|
|
|
|
pushfq
|
|
or QWORD[rsp],0x100
|
|
popfq
|
|
|
|
|
|
|
|
nop
|
|
global abi_test_unwind_start
|
|
abi_test_unwind_start:
|
|
|
|
call rax
|
|
global abi_test_unwind_return
|
|
abi_test_unwind_return:
|
|
|
|
|
|
|
|
|
|
pushfq
|
|
and QWORD[rsp],-0x101
|
|
popfq
|
|
global abi_test_unwind_stop
|
|
abi_test_unwind_stop:
|
|
|
|
jmp NEAR $L$call_done
|
|
|
|
$L$no_unwind:
|
|
call rax
|
|
|
|
$L$call_done:
|
|
|
|
mov rdx,QWORD[96+rsp]
|
|
mov QWORD[rdx],rbx
|
|
mov QWORD[8+rdx],rbp
|
|
mov QWORD[16+rdx],rdi
|
|
mov QWORD[24+rdx],rsi
|
|
mov QWORD[32+rdx],r12
|
|
mov QWORD[40+rdx],r13
|
|
mov QWORD[48+rdx],r14
|
|
mov QWORD[56+rdx],r15
|
|
movdqa XMMWORD[64+rdx],xmm6
|
|
movdqa XMMWORD[80+rdx],xmm7
|
|
movdqa XMMWORD[96+rdx],xmm8
|
|
movdqa XMMWORD[112+rdx],xmm9
|
|
movdqa XMMWORD[128+rdx],xmm10
|
|
movdqa XMMWORD[144+rdx],xmm11
|
|
movdqa XMMWORD[160+rdx],xmm12
|
|
movdqa XMMWORD[176+rdx],xmm13
|
|
movdqa XMMWORD[192+rdx],xmm14
|
|
movdqa XMMWORD[208+rdx],xmm15
|
|
mov rbx,QWORD[112+rsp]
|
|
|
|
mov rbp,QWORD[120+rsp]
|
|
|
|
mov rdi,QWORD[128+rsp]
|
|
|
|
mov rsi,QWORD[136+rsp]
|
|
|
|
mov r12,QWORD[144+rsp]
|
|
|
|
mov r13,QWORD[152+rsp]
|
|
|
|
mov r14,QWORD[160+rsp]
|
|
|
|
mov r15,QWORD[168+rsp]
|
|
|
|
movdqa xmm6,XMMWORD[176+rsp]
|
|
|
|
movdqa xmm7,XMMWORD[192+rsp]
|
|
|
|
movdqa xmm8,XMMWORD[208+rsp]
|
|
|
|
movdqa xmm9,XMMWORD[224+rsp]
|
|
|
|
movdqa xmm10,XMMWORD[240+rsp]
|
|
|
|
movdqa xmm11,XMMWORD[256+rsp]
|
|
|
|
movdqa xmm12,XMMWORD[272+rsp]
|
|
|
|
movdqa xmm13,XMMWORD[288+rsp]
|
|
|
|
movdqa xmm14,XMMWORD[304+rsp]
|
|
|
|
movdqa xmm15,XMMWORD[320+rsp]
|
|
|
|
add rsp,344
|
|
|
|
|
|
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
$L$abi_test_trampoline_seh_end:
|
|
|
|
|
|
global abi_test_clobber_rax
|
|
ALIGN 16
|
|
abi_test_clobber_rax:
|
|
xor rax,rax
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_rbx
|
|
ALIGN 16
|
|
abi_test_clobber_rbx:
|
|
xor rbx,rbx
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_rcx
|
|
ALIGN 16
|
|
abi_test_clobber_rcx:
|
|
xor rcx,rcx
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_rdx
|
|
ALIGN 16
|
|
abi_test_clobber_rdx:
|
|
xor rdx,rdx
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_rdi
|
|
ALIGN 16
|
|
abi_test_clobber_rdi:
|
|
xor rdi,rdi
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_rsi
|
|
ALIGN 16
|
|
abi_test_clobber_rsi:
|
|
xor rsi,rsi
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_rbp
|
|
ALIGN 16
|
|
abi_test_clobber_rbp:
|
|
xor rbp,rbp
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_r8
|
|
ALIGN 16
|
|
abi_test_clobber_r8:
|
|
xor r8,r8
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_r9
|
|
ALIGN 16
|
|
abi_test_clobber_r9:
|
|
xor r9,r9
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_r10
|
|
ALIGN 16
|
|
abi_test_clobber_r10:
|
|
xor r10,r10
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_r11
|
|
ALIGN 16
|
|
abi_test_clobber_r11:
|
|
xor r11,r11
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_r12
|
|
ALIGN 16
|
|
abi_test_clobber_r12:
|
|
xor r12,r12
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_r13
|
|
ALIGN 16
|
|
abi_test_clobber_r13:
|
|
xor r13,r13
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_r14
|
|
ALIGN 16
|
|
abi_test_clobber_r14:
|
|
xor r14,r14
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_r15
|
|
ALIGN 16
|
|
abi_test_clobber_r15:
|
|
xor r15,r15
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_xmm0
|
|
ALIGN 16
|
|
abi_test_clobber_xmm0:
|
|
pxor xmm0,xmm0
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_xmm1
|
|
ALIGN 16
|
|
abi_test_clobber_xmm1:
|
|
pxor xmm1,xmm1
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_xmm2
|
|
ALIGN 16
|
|
abi_test_clobber_xmm2:
|
|
pxor xmm2,xmm2
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_xmm3
|
|
ALIGN 16
|
|
abi_test_clobber_xmm3:
|
|
pxor xmm3,xmm3
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_xmm4
|
|
ALIGN 16
|
|
abi_test_clobber_xmm4:
|
|
pxor xmm4,xmm4
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_xmm5
|
|
ALIGN 16
|
|
abi_test_clobber_xmm5:
|
|
pxor xmm5,xmm5
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_xmm6
|
|
ALIGN 16
|
|
abi_test_clobber_xmm6:
|
|
pxor xmm6,xmm6
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_xmm7
|
|
ALIGN 16
|
|
abi_test_clobber_xmm7:
|
|
pxor xmm7,xmm7
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_xmm8
|
|
ALIGN 16
|
|
abi_test_clobber_xmm8:
|
|
pxor xmm8,xmm8
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_xmm9
|
|
ALIGN 16
|
|
abi_test_clobber_xmm9:
|
|
pxor xmm9,xmm9
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_xmm10
|
|
ALIGN 16
|
|
abi_test_clobber_xmm10:
|
|
pxor xmm10,xmm10
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_xmm11
|
|
ALIGN 16
|
|
abi_test_clobber_xmm11:
|
|
pxor xmm11,xmm11
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_xmm12
|
|
ALIGN 16
|
|
abi_test_clobber_xmm12:
|
|
pxor xmm12,xmm12
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_xmm13
|
|
ALIGN 16
|
|
abi_test_clobber_xmm13:
|
|
pxor xmm13,xmm13
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_xmm14
|
|
ALIGN 16
|
|
abi_test_clobber_xmm14:
|
|
pxor xmm14,xmm14
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
global abi_test_clobber_xmm15
|
|
ALIGN 16
|
|
abi_test_clobber_xmm15:
|
|
pxor xmm15,xmm15
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
|
|
|
|
|
|
global abi_test_bad_unwind_wrong_register
|
|
ALIGN 16
|
|
abi_test_bad_unwind_wrong_register:
|
|
|
|
$L$abi_test_bad_unwind_wrong_register_seh_begin:
|
|
push r12
|
|
|
|
$L$abi_test_bad_unwind_wrong_register_seh_push_r13:
|
|
|
|
|
|
|
|
nop
|
|
pop r12
|
|
|
|
DB 0F3h,0C3h ;repret
|
|
$L$abi_test_bad_unwind_wrong_register_seh_end:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
global abi_test_bad_unwind_temporary
|
|
ALIGN 16
|
|
abi_test_bad_unwind_temporary:
|
|
|
|
$L$abi_test_bad_unwind_temporary_seh_begin:
|
|
push r12
|
|
|
|
$L$abi_test_bad_unwind_temporary_seh_push_r12:
|
|
|
|
mov rax,r12
|
|
inc rax
|
|
mov QWORD[rsp],rax
|
|
|
|
|
|
|
|
mov QWORD[rsp],r12
|
|
|
|
|
|
pop r12
|
|
|
|
DB 0F3h,0C3h ;repret
|
|
$L$abi_test_bad_unwind_temporary_seh_end:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
global abi_test_get_and_clear_direction_flag
|
|
abi_test_get_and_clear_direction_flag:
|
|
pushfq
|
|
pop rax
|
|
and rax,0x400
|
|
shr rax,10
|
|
cld
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
|
|
|
|
|
|
global abi_test_set_direction_flag
|
|
abi_test_set_direction_flag:
|
|
std
|
|
DB 0F3h,0C3h ;repret
|
|
|
|
|
|
|
|
|
|
|
|
|
|
global abi_test_bad_unwind_epilog
|
|
ALIGN 16
|
|
abi_test_bad_unwind_epilog:
|
|
$L$abi_test_bad_unwind_epilog_seh_begin:
|
|
push r12
|
|
$L$abi_test_bad_unwind_epilog_seh_push_r12:
|
|
|
|
nop
|
|
|
|
|
|
pop r12
|
|
nop
|
|
DB 0F3h,0C3h ;repret
|
|
$L$abi_test_bad_unwind_epilog_seh_end:
|
|
|
|
section .pdata rdata align=4
|
|
ALIGN 4
|
|
|
|
DD $L$abi_test_trampoline_seh_begin wrt ..imagebase
|
|
DD $L$abi_test_trampoline_seh_end wrt ..imagebase
|
|
DD $L$abi_test_trampoline_seh_info wrt ..imagebase
|
|
|
|
DD $L$abi_test_bad_unwind_wrong_register_seh_begin wrt ..imagebase
|
|
DD $L$abi_test_bad_unwind_wrong_register_seh_end wrt ..imagebase
|
|
DD $L$abi_test_bad_unwind_wrong_register_seh_info wrt ..imagebase
|
|
|
|
DD $L$abi_test_bad_unwind_temporary_seh_begin wrt ..imagebase
|
|
DD $L$abi_test_bad_unwind_temporary_seh_end wrt ..imagebase
|
|
DD $L$abi_test_bad_unwind_temporary_seh_info wrt ..imagebase
|
|
|
|
DD $L$abi_test_bad_unwind_epilog_seh_begin wrt ..imagebase
|
|
DD $L$abi_test_bad_unwind_epilog_seh_end wrt ..imagebase
|
|
DD $L$abi_test_bad_unwind_epilog_seh_info wrt ..imagebase
|
|
|
|
section .xdata rdata align=8
|
|
ALIGN 8
|
|
$L$abi_test_trampoline_seh_info:
|
|
|
|
DB 1
|
|
DB $L$abi_test_trampoline_seh_prolog_end-$L$abi_test_trampoline_seh_begin
|
|
DB 38
|
|
DB 0
|
|
DB $L$abi_test_trampoline_seh_prolog_xmm15-$L$abi_test_trampoline_seh_begin
|
|
DB 248
|
|
DW 20
|
|
DB $L$abi_test_trampoline_seh_prolog_xmm14-$L$abi_test_trampoline_seh_begin
|
|
DB 232
|
|
DW 19
|
|
DB $L$abi_test_trampoline_seh_prolog_xmm13-$L$abi_test_trampoline_seh_begin
|
|
DB 216
|
|
DW 18
|
|
DB $L$abi_test_trampoline_seh_prolog_xmm12-$L$abi_test_trampoline_seh_begin
|
|
DB 200
|
|
DW 17
|
|
DB $L$abi_test_trampoline_seh_prolog_xmm11-$L$abi_test_trampoline_seh_begin
|
|
DB 184
|
|
DW 16
|
|
DB $L$abi_test_trampoline_seh_prolog_xmm10-$L$abi_test_trampoline_seh_begin
|
|
DB 168
|
|
DW 15
|
|
DB $L$abi_test_trampoline_seh_prolog_xmm9-$L$abi_test_trampoline_seh_begin
|
|
DB 152
|
|
DW 14
|
|
DB $L$abi_test_trampoline_seh_prolog_xmm8-$L$abi_test_trampoline_seh_begin
|
|
DB 136
|
|
DW 13
|
|
DB $L$abi_test_trampoline_seh_prolog_xmm7-$L$abi_test_trampoline_seh_begin
|
|
DB 120
|
|
DW 12
|
|
DB $L$abi_test_trampoline_seh_prolog_xmm6-$L$abi_test_trampoline_seh_begin
|
|
DB 104
|
|
DW 11
|
|
DB $L$abi_test_trampoline_seh_prolog_r15-$L$abi_test_trampoline_seh_begin
|
|
DB 244
|
|
DW 21
|
|
DB $L$abi_test_trampoline_seh_prolog_r14-$L$abi_test_trampoline_seh_begin
|
|
DB 228
|
|
DW 20
|
|
DB $L$abi_test_trampoline_seh_prolog_r13-$L$abi_test_trampoline_seh_begin
|
|
DB 212
|
|
DW 19
|
|
DB $L$abi_test_trampoline_seh_prolog_r12-$L$abi_test_trampoline_seh_begin
|
|
DB 196
|
|
DW 18
|
|
DB $L$abi_test_trampoline_seh_prolog_rsi-$L$abi_test_trampoline_seh_begin
|
|
DB 100
|
|
DW 17
|
|
DB $L$abi_test_trampoline_seh_prolog_rdi-$L$abi_test_trampoline_seh_begin
|
|
DB 116
|
|
DW 16
|
|
DB $L$abi_test_trampoline_seh_prolog_rbp-$L$abi_test_trampoline_seh_begin
|
|
DB 84
|
|
DW 15
|
|
DB $L$abi_test_trampoline_seh_prolog_rbx-$L$abi_test_trampoline_seh_begin
|
|
DB 52
|
|
DW 14
|
|
DB $L$abi_test_trampoline_seh_prolog_alloc-$L$abi_test_trampoline_seh_begin
|
|
DB 1
|
|
DW 43
|
|
|
|
|
|
ALIGN 8
|
|
$L$abi_test_bad_unwind_wrong_register_seh_info:
|
|
DB 1
|
|
DB $L$abi_test_bad_unwind_wrong_register_seh_push_r13-$L$abi_test_bad_unwind_wrong_register_seh_begin
|
|
DB 1
|
|
DB 0
|
|
|
|
DB $L$abi_test_bad_unwind_wrong_register_seh_push_r13-$L$abi_test_bad_unwind_wrong_register_seh_begin
|
|
DB 208
|
|
|
|
ALIGN 8
|
|
$L$abi_test_bad_unwind_temporary_seh_info:
|
|
DB 1
|
|
DB $L$abi_test_bad_unwind_temporary_seh_push_r12-$L$abi_test_bad_unwind_temporary_seh_begin
|
|
DB 1
|
|
DB 0
|
|
|
|
DB $L$abi_test_bad_unwind_temporary_seh_push_r12-$L$abi_test_bad_unwind_temporary_seh_begin
|
|
DB 192
|
|
|
|
ALIGN 8
|
|
$L$abi_test_bad_unwind_epilog_seh_info:
|
|
DB 1
|
|
DB $L$abi_test_bad_unwind_epilog_seh_push_r12-$L$abi_test_bad_unwind_epilog_seh_begin
|
|
DB 1
|
|
DB 0
|
|
|
|
DB $L$abi_test_bad_unwind_epilog_seh_push_r12-$L$abi_test_bad_unwind_epilog_seh_begin
|
|
DB 192
|