user: 这段汇编代码用C语言表示是什么样的?

```asm
<uiclhelp>:
  endbr64
  push   %rbp
  xor    %eax,%eax
  mov    %rdi,%rbp
  call   <uiclhint@plt>
  mov    %rbp,%rsi
  lea    D513(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  lea    D615(%rip),%rdi
  call   <puts@plt>
  lea    D54(%rip),%rdi
  call   <puts@plt>
  lea    D25(%rip),%rdi
  call   <puts@plt>
  lea    D475(%rip),%rdi
  call   <puts@plt>
  lea    D896(%rip),%rdi
  call   <puts@plt>
  lea    D220(%rip),%rdi
  call   <puts@plt>
  lea    D343(%rip),%rdi
  call   <puts@plt>
  lea    D303(%rip),%rdi
  call   <puts@plt>
  lea    D825(%rip),%rdi
  call   <puts@plt>
  lea    D29(%rip),%rdi
  call   <puts@plt>
  lea    D879(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D405(%rip),%rdi
  call   <puts@plt>
  lea    D187(%rip),%rdi
  call   <puts@plt>
  lea    D379(%rip),%rdi
  call   <puts@plt>
  lea    D122(%rip),%rdi
  call   <puts@plt>
  lea    D637(%rip),%rdi
  call   <puts@plt>
  lea    D608(%rip),%rdi
  call   <puts@plt>
  lea    D694(%rip),%rdi
  call   <puts@plt>
  lea    D807(%rip),%rdi
  call   <puts@plt>
  lea    D669(%rip),%rdi
  call   <puts@plt>
  lea    D120(%rip),%rdi
  call   <puts@plt>
  lea    D924(%rip),%rdi
  call   <puts@plt>
  lea    D716(%rip),%rdi
  call   <puts@plt>
  lea    D392(%rip),%rdi
  call   <puts@plt>
  lea    D519(%rip),%rdi
  call   <puts@plt>
  lea    D117(%rip),%rdi
  call   <puts@plt>
  lea    D535(%rip),%rdi
  call   <puts@plt>
  lea    D33(%rip),%rdi
  call   <puts@plt>
  lea    D889(%rip),%rdi
  call   <puts@plt>
  lea    D255(%rip),%rdi
  call   <puts@plt>
  lea    D583(%rip),%rdi
  call   <puts@plt>
  lea    D328(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D304(%rip),%rdi
  call   <puts@plt>
  lea    D435(%rip),%rdi
  call   <puts@plt>
  lea    D938(%rip),%rdi
  call   <puts@plt>
  lea    D449(%rip),%rdi
  call   <puts@plt>
  lea    D233(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D833(%rip),%rdi
  call   <puts@plt>
  lea    D478(%rip),%rdi
  call   <puts@plt>
  lea    D902(%rip),%rdi
  call   <puts@plt>
  lea    D107(%rip),%rdi
  call   <puts@plt>
  lea    D111(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D627(%rip),%rdi
  call   <puts@plt>
  lea    D266(%rip),%rdi
  call   <puts@plt>
  lea    D496(%rip),%rdi
  call   <puts@plt>
  lea    D229(%rip),%rdi
  call   <puts@plt>
  lea    D439(%rip),%rdi
  call   <puts@plt>
  lea    D897(%rip),%rdi
  call   <puts@plt>
  lea    D584(%rip),%rdi
  call   <puts@plt>
  lea    D633(%rip),%rdi
  call   <puts@plt>
  lea    D819(%rip),%rdi
  call   <puts@plt>
  lea    D161(%rip),%rdi
  call   <puts@plt>
  lea    D327(%rip),%rdi
  call   <puts@plt>
  lea    D56(%rip),%rdi
  call   <puts@plt>
  lea    D425(%rip),%rdi
  call   <puts@plt>
  lea    D563(%rip),%rdi
  call   <puts@plt>
  lea    D493(%rip),%rdi
  call   <puts@plt>
  lea    D908(%rip),%rdi
  call   <puts@plt>
  lea    D436(%rip),%rdi
  call   <puts@plt>
  lea    D501(%rip),%rdi
  call   <puts@plt>
  lea    D759(%rip),%rdi
  call   <puts@plt>
  lea    D339(%rip),%rdi
  call   <puts@plt>
  lea    D230(%rip),%rdi
  call   <puts@plt>
  lea    D672(%rip),%rdi
  call   <puts@plt>
  lea    D843(%rip),%rdi
  call   <puts@plt>
  lea    D788(%rip),%rdi
  call   <puts@plt>
  lea    D660(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D616(%rip),%rdi
  call   <puts@plt>
  lea    D625(%rip),%rdi
  call   <puts@plt>
  lea    D671(%rip),%rdi
  call   <puts@plt>
  lea    D544(%rip),%rdi
  call   <puts@plt>
  lea    D78(%rip),%rdi
  call   <puts@plt>
  lea    D102(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D778(%rip),%rdi
  call   <puts@plt>
  lea    D698(%rip),%rdi
  call   <puts@plt>
  lea    D235(%rip),%rdi
  call   <puts@plt>
  lea    D390(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D820(%rip),%rdi
  call   <puts@plt>
  lea    D84(%rip),%rdi
  call   <puts@plt>
  lea    D42(%rip),%rdi
  call   <puts@plt>
  lea    D134(%rip),%rdi
  call   <puts@plt>
  lea    D752(%rip),%rdi
  call   <puts@plt>
  lea    D52(%rip),%rdi
  call   <puts@plt>
  lea    D851(%rip),%rdi
  call   <puts@plt>
  lea    D73(%rip),%rdi
  call   <puts@plt>
  lea    D406(%rip),%rdi
  call   <puts@plt>
  lea    D618(%rip),%rdi
  call   <puts@plt>
  lea    D19(%rip),%rdi
  call   <puts@plt>
  mov    %rbp,%rsi
  lea    D883(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  lea    D958(%rip),%rdi
  call   <puts@plt>
  lea    D471(%rip),%rdi
  call   <puts@plt>
  lea    D206(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D585(%rip),%rdi
  call   <puts@plt>
  lea    D817(%rip),%rdi
  call   <puts@plt>
  lea    D842(%rip),%rdi
  pop    %rbp
  jmp    1090 <puts@plt>
```

tool_calls: name: parse_data
arguments: label: D513
type_guessed: string
name: parse_data
arguments: label: D615
type_guessed: string
name: parse_data
arguments: label: D54
type_guessed: string
name: parse_data
arguments: label: D25
type_guessed: string
name: parse_data
arguments: label: D475
type_guessed: string
name: parse_data
arguments: label: D896
type_guessed: string
name: parse_data
arguments: label: D220
type_guessed: string
name: parse_data
arguments: label: D343
type_guessed: string
name: parse_data
arguments: label: D303
type_guessed: string
name: parse_data
arguments: label: D825
type_guessed: string
name: parse_data
arguments: label: D29
type_guessed: string
name: parse_data
arguments: label: D879
type_guessed: string
name: parse_data
arguments: label: D405
type_guessed: string
name: parse_data
arguments: label: D187
type_guessed: string
name: parse_data
arguments: label: D379
type_guessed: string
name: parse_data
arguments: label: D122
type_guessed: string
name: parse_data
arguments: label: D637
type_guessed: string
name: parse_data
arguments: label: D608
type_guessed: string
name: parse_data
arguments: label: D694
type_guessed: string
name: parse_data
arguments: label: D807
type_guessed: string
name: parse_data
arguments: label: D669
type_guessed: string
name: parse_data
arguments: label: D120
type_guessed: string
name: parse_data
arguments: label: D924
type_guessed: string
name: parse_data
arguments: label: D716
type_guessed: string
name: parse_data
arguments: label: D392
type_guessed: string
name: parse_data
arguments: label: D519
type_guessed: string
name: parse_data
arguments: label: D117
type_guessed: string
name: parse_data
arguments: label: D535
type_guessed: string
name: parse_data
arguments: label: D33
type_guessed: string
name: parse_data
arguments: label: D889
type_guessed: string
name: parse_data
arguments: label: D255
type_guessed: string
name: parse_data
arguments: label: D583
type_guessed: string
name: parse_data
arguments: label: D328
type_guessed: string
name: parse_data
arguments: label: D304
type_guessed: string
name: parse_data
arguments: label: D435
type_guessed: string
name: parse_data
arguments: label: D938
type_guessed: string
name: parse_data
arguments: label: D449
type_guessed: string
name: parse_data
arguments: label: D233
type_guessed: string
name: parse_data
arguments: label: D833
type_guessed: string
name: parse_data
arguments: label: D478
type_guessed: string
name: parse_data
arguments: label: D902
type_guessed: string
name: parse_data
arguments: label: D107
type_guessed: string
name: parse_data
arguments: label: D111
type_guessed: string
name: parse_data
arguments: label: D627
type_guessed: string
name: parse_data
arguments: label: D266
type_guessed: string
name: parse_data
arguments: label: D496
type_guessed: string
name: parse_data
arguments: label: D229
type_guessed: string
name: parse_data
arguments: label: D439
type_guessed: string
name: parse_data
arguments: label: D897
type_guessed: string
name: parse_data
arguments: label: D584
type_guessed: string
name: parse_data
arguments: label: D633
type_guessed: string
name: parse_data
arguments: label: D819
type_guessed: string
name: parse_data
arguments: label: D161
type_guessed: string
name: parse_data
arguments: label: D327
type_guessed: string
name: parse_data
arguments: label: D56
type_guessed: string
name: parse_data
arguments: label: D425
type_guessed: string
name: parse_data
arguments: label: D563
type_guessed: string
name: parse_data
arguments: label: D493
type_guessed: string
name: parse_data
arguments: label: D908
type_guessed: string
name: parse_data
arguments: label: D436
type_guessed: string
name: parse_data
arguments: label: D501
type_guessed: string
name: parse_data
arguments: label: D759
type_guessed: string
name: parse_data
arguments: label: D339
type_guessed: string
name: parse_data
arguments: label: D230
type_guessed: string
name: parse_data
arguments: label: D672
type_guessed: string
name: parse_data
arguments: label: D843
type_guessed: string
name: parse_data
arguments: label: D788
type_guessed: string
name: parse_data
arguments: label: D660
type_guessed: string
name: parse_data
arguments: label: D616
type_guessed: string
name: parse_data
arguments: label: D625
type_guessed: string
name: parse_data
arguments: label: D671
type_guessed: string
name: parse_data
arguments: label: D544
type_guessed: string
name: parse_data
arguments: label: D78
type_guessed: string
name: parse_data
arguments: label: D102
type_guessed: string
name: parse_data
arguments: label: D778
type_guessed: string
name: parse_data
arguments: label: D698
type_guessed: string
name: parse_data
arguments: label: D235
type_guessed: string
name: parse_data
arguments: label: D390
type_guessed: string
name: parse_data
arguments: label: D820
type_guessed: string
name: parse_data
arguments: label: D84
type_guessed: string
name: parse_data
arguments: label: D42
type_guessed: string
name: parse_data
arguments: label: D134
type_guessed: string
name: parse_data
arguments: label: D752
type_guessed: string
name: parse_data
arguments: label: D52
type_guessed: string
name: parse_data
arguments: label: D851
type_guessed: string
name: parse_data
arguments: label: D73
type_guessed: string
name: parse_data
arguments: label: D406
type_guessed: string
name: parse_data
arguments: label: D618
type_guessed: string
name: parse_data
arguments: label: D19
type_guessed: string
name: parse_data
arguments: label: D883
type_guessed: string
name: parse_data
arguments: label: D958
type_guessed: string
name: parse_data
arguments: label: D471
type_guessed: string
name: parse_data
arguments: label: D206
type_guessed: string
name: parse_data
arguments: label: D585
type_guessed: string
name: parse_data
arguments: label: D817
type_guessed: string
name: parse_data
arguments: label: D842
type_guessed: string

tool: D513: nmond %s



tool: D615: For Interactive-Mode

tool: D54: 	-s <seconds>  time between refreshing the screen [default 2]

tool: D25: 	-c <number>   count of screen refreshes [default millions]

tool: D475: 	-g <filename> User Defined Disk Groups [hit g to show them]

tool: D896: 	              - file = on each line: group_name <disks list> space separated

tool: D220: 	              - like: database sdb sdc sdd sde

tool: D343: 	              - upto 64 disk groups, 512 disks per line

tool: D303: 	              - disks can appear more than once and in many groups

tool: D825: 	-g auto       - will make a file called "auto" with just disks fron "lsblk|grep disk" output

tool: D29: 	-b            black and white [default is colour]

tool: D879: 	example: nmond -s 1 -c 100

tool: D405: For Data-Collect-Mode = spreadsheet format (comma separated values)

tool: D187: 	Note: use only one of f,F,z,x or X and make it the first argument

tool: D379: 	-f            spreadsheet output format [note: default -s300 -c288]

tool: D122: 			 output file is <hostname>_YYYYMMDD_HHMM.nmon

tool: D637: 	-F <filename> same as -f but user supplied filename

tool: D608: 	-r <runname>  used in the spreadsheet file [default hostname]

tool: D694: 	-t            include top processes in the output

tool: D807: 	-T            as -t plus saves command line arguments in UARG section

tool: D669: 	-s <seconds>  between snap shots

tool: D120: 	-c <number>   of snapshots before nmon stops

tool: D924: 	-d <disks>    to increase the number of disks [default 256]

tool: D716: 	-l <dpl>      disks/line default 150 to avoid spreadsheet issues. EMC=64.

tool: D392: 	-g <filename> User Defined Disk Groups (see above) - see BBBG & DG lines

tool: D519: 	-g auto       As above but makes the file "auto" for you of just the disks like sda etc.

tool: D117: 	-D            Use with -g to add the Disk wait/service time & inflight stats.

tool: D535: 	-N            include NFS Network File System

tool: D33: 	-I <percent>  Include process & disks busy threshold (default 0.1)

tool: D889: 	              don't save or show proc/disk using less than this percent

tool: D255: 	-m <directory> nmon changes to this directory before saving to file

tool: D583: 	example: collect for 1 hour at 30 second intervals with top procs

tool: D328: 		 nmond -f -t -r Test1 -s30 -c120

tool: D304: 	To load into a spreadsheet:

tool: D435: 	sort -A *nmon >stats.csv

tool: D938: 	transfer the stats.csv file to your PC

tool: D449: 	Start spreadsheet & then Open type=comma-separated-value ASCII file

tool: D233: 	 The nmon analyser or consolidator does not need the file sorted.

tool: D833: Capacity planning mode - use cron to run each day

tool: D478: 	-x            sensible spreadsheet output for CP =  one day

tool: D902: 	              every 15 mins for 1 day ( i.e. -ft -s 900 -c 96)

tool: D107: 	-X            sensible spreadsheet output for CP = busy hour

tool: D111: 	              every 30 secs for 1 hour ( i.e. -ft -s 30 -c 120)

tool: D627: Interactive Mode Commands

tool: D266: 	key --- Toggles to control what is displayed ---

tool: D496: 	h   = Online help information

tool: D229: 	r   = Machine type, machine name, cache details and OS version + LPAR

tool: D439: 	c   = CPU by processor stats with bar graphs

tool: D897: 	l   = long term CPU (over 75 snapshots) with bar graphs

tool: D584: 	m   = Memory stats

tool: D633: 	L   = Huge memory page stats

tool: D819: 	V   = Virtual Memory and Swap stats

tool: D161: 	k   = Kernel Internal stats

tool: D327: 	n   = Network stats and errors

tool: D56: 	N   = NFS Network File System

tool: D425: 	d   = Disk I/O Graphs

tool: D563: 	D   = Disk I/O Stats

tool: D493: 	o   = Disk I/O Map (one character per disk showing how busy it is)

tool: D908: 	g   = User Defined Disk Groups        (assumes -g <file> when nmon started)

tool: D436: 	G   = Change Disk stats to just disks (assumes -g auto   when nmon started)

tool: D501: 	j   = File Systems 

tool: D759: 	t   = Top Process stats: select the data & order 1=Basic, 3=Perf 4=Size 5=I/O=root only

tool: D339: 	t   = Top Process stats use 1,3,4,5 to select the data & order

tool: D230: 	u   = Top Process full command details

tool: D672: 	v   = Verbose mode - tries to make recommendations

tool: D843: 	P   = Partitions Disk I/O Stats

tool: D788: 	b   = black and white mode (or use -b option)

tool: D660: 	.   = minimum mode i.e. only busy disks and processes

tool: D616: 	key --- Other Controls ---

tool: D625: 	+   = double the screen refresh time

tool: D671: 	-   = halves the screen refresh time

tool: D544: 	q   = quit (also x, e or control-C)

tool: D78: 	0   = reset peak counts to zero (peak = ">")

tool: D102: 	space = refresh screen now

tool: D778: Startup Control

tool: D698: 	If you find you always type the same toggles every time you start

tool: D235: 	then place them in the NMON shell variable. For example:

tool: D390: 	 export NMON=cmdrvtan

tool: D820: Others:

tool: D84: 	a) To you want to stop nmon - kill -USR2 <nmon-pid>

tool: D42: 	b) Use -p and nmon outputs the background process pid

tool: D134: 	c) To limit the processes nmon lists (online and to a file)

tool: D752: 	   Either set NMONCMD0 to NMONCMD63 to the program names

tool: D52: 	   or use -C cmd:cmd:cmd etc. example: -C ksh:vi:syncd

tool: D851: 	d) If you want to pipe nmon output to other commands use a FIFO:

tool: D73: 	   mkfifo /tmp/mypipe

tool: D406: 	   nmon -F /tmp/mypipe &

tool: D618: 	   grep /tmp/mypipe

tool: D19: 	e) If nmon fails please report it with:

tool: D883: 	   1) nmon version like: %s


tool: D958: 	   2) the output of cat /proc/cpuinfo

tool: D471: 	   3) some clue of what you were doing

tool: D206: 	   4) I may ask you to run the debug version

tool: D585: 	Developer Nigel Griffiths

tool: D817: 	Feedback welcome - on the current release only and state exactly the problem

tool: D842: 	No warranty given or implied.

assistant: ```c
void uiclhelp(char *version) {
  uiclhint();
  printf("nmond %s\n\n", version);
  printf("For Interactive-Mode\n");
  printf("\t-s <seconds>  time between refreshing the screen [default 2]\n");
  printf("\t-c <number>   count of screen refreshes [default millions]\n");
  printf("\t-g <filename> User Defined Disk Groups [hit g to show them]\n");
  printf("\t              - file = on each line: group_name <disks list> space separated\n");
  printf("\t              - like: database sdb sdc sdd sde\n");
  printf("\t              - upto 64 disk groups, 512 disks per line\n");
  printf("\t              - disks can appear more than once and in many groups\n");
  printf("\t-g auto       - will make a file called \"auto\" with just disks fron \"lsblk|grep disk\" output\n");
  printf("\t-b            black and white [default is colour]\n");
  printf("\texample: nmond -s 1 -c 100\n");
  printf("\n");
  printf("For Data-Collect-Mode = spreadsheet format (comma separated values)\n");
  printf("\tNote: use only one of f,F,z,x or X and make it the first argument\n");
  printf("\t-f            spreadsheet output format [note: default -s300 -c288]\n");
  printf("\t\t\t output file is <hostname>_YYYYMMDD_HHMM.nmon\n");
  printf("\t-F <filename> same as -f but user supplied filename\n");
  printf("\t-r <runname>  used in the spreadsheet file [default hostname]\n");
  printf("\t-t            include top processes in the output\n");
  printf("\t-T            as -t plus saves command line arguments in UARG section\n");
  printf("\t-s <seconds>  between snap shots\n");
  printf("\t-c <number>   of snapshots before nmon stops\n");
  printf("\t-d <disks>    to increase the number of disks [default 256]\n");
  printf("\t-l <dpl>      disks/line default 150 to avoid spreadsheet issues. EMC=64.\n");
  printf("\t-g <filename> User Defined Disk Groups (see above) - see BBBG & DG lines\n");
  printf("\t-g auto       As above but makes the file \"auto\" for you of just the disks like sda etc.\n");
  printf("\t-D            Use with -g to add the Disk wait/service time & inflight stats.\n");
  printf("\t-N            include NFS Network File System\n");
  printf("\t-I <percent>  Include process & disks busy threshold (default 0.1)\n");
  printf("\t              don't save or show proc/disk using less than this percent\n");
  printf("\t-m <directory> nmon changes to this directory before saving to file\n");
  printf("\texample: collect for 1 hour at 30 second intervals with top procs\n");
  printf("\t\t nmond -f -t -r Test1 -s30 -c120\n");
  printf("\n");
  printf("\tTo load into a spreadsheet:\n");
  printf("\tsort -A *nmon >stats.csv\n");
  printf("\ttransfer the stats.csv file to your PC\n");
  printf("\tStart spreadsheet & then Open type=comma-separated-value ASCII file\n");
  printf("\t The nmon analyser or consolidator does not need the file sorted.\n");
  printf("\n");
  printf("Capacity planning mode - use cron to run each day\n");
  printf("\t-x            sensible spreadsheet output for CP =  one day\n");
  printf("\t              every 15 mins for 1 day ( i.e. -ft -s 900 -c 96)\n");
  printf("\t-X            sensible spreadsheet output for CP = busy hour\n");
  printf("\t              every 30 secs for 1 hour ( i.e. -ft -s 30 -c 120)\n");
  printf("\n");
  printf("Interactive Mode Commands\n");
  printf("\tkey --- Toggles to control what is displayed ---\n");
  printf("\th   = Online help information\n");
  printf("\tr   = Machine type, machine name, cache details and OS version + LPAR\n");
  printf("\tc   = CPU by processor stats with bar graphs\n");
  printf("\tl   = long term CPU (over 75 snapshots) with bar graphs\n");
  printf("\tm   = Memory stats\n");
  printf("\tL   = Huge memory page stats\n");
  printf("\tV   = Virtual Memory and Swap stats\n");
  printf("\tk   = Kernel Internal stats\n");
  printf("\tn   = Network stats and errors\n");
  printf("\tN   = NFS Network File System\n");
  printf("\td   = Disk I/O Graphs\n");
  printf("\tD   = Disk I/O Stats\n");
  printf("\to   = Disk I/O Map (one character per disk showing how busy it is)\n");
  printf("\tg   = User Defined Disk Groups        (assumes -g <file> when nmon started)\n");
  printf("\tG   = Change Disk stats to just disks (assumes -g auto   when nmon started)\n");
  printf("\tj   = File Systems \n");
  printf("\tt   = Top Process stats: select the data & order 1=Basic, 3=Perf 4=Size 5=I/O=root only\n");
  printf("\tt   = Top Process stats use 1,3,4,5 to select the data & order\n");
  printf("\tu   = Top Process full command details\n");
  printf("\tv   = Verbose mode - tries to make recommendations\n");
  printf("\tP   = Partitions Disk I/O Stats\n");
  printf("\tb   = black and white mode (or use -b option)\n");
  printf("\t.   = minimum mode i.e. only busy disks and processes\n");
  printf("\n");
  printf("\tkey --- Other Controls ---\n");
  printf("\t+   = double the screen refresh time\n");
  printf("\t-   = halves the screen refresh time\n");
  printf("\tq   = quit (also x, e or control-C)\n");
  printf("\t0   = reset peak counts to zero (peak = \">\")\n");
  printf("\tspace = refresh screen now\n");
  printf("\n");
  printf("Startup Control\n");
  printf("\tIf you find you always type the same toggles every time you start\n");
  printf("\tthen place them in the NMON shell variable. For example:\n");
  printf("\t export NMON=cmdrvtan\n");
  printf("\n");
  printf("Others:\n");
  printf("\ta) To you want to stop nmon - kill -USR2 <nmon-pid>\n");
  printf("\tb) Use -p and nmon outputs the background process pid\n");
  printf("\tc) To limit the processes nmon lists (online and to a file)\n");
  printf("\t   Either set NMONCMD0 to NMONCMD63 to the program names\n");
  printf("\t   or use -C cmd:cmd:cmd etc. example: -C ksh:vi:syncd\n");
  printf("\td) If you want to pipe nmon output to other commands use a FIFO:\n");
  printf("\t   mkfifo /tmp/mypipe\n");
  printf("\t   nmon -F /tmp/mypipe &\n");
  printf("\t   grep /tmp/mypipe\n");
  printf("\te) If nmon fails please report it with:\n");
  printf("\t   1) nmon version like: %s\n", version);
  printf("\t   2) the output of cat /proc/cpuinfo\n");
  printf("\t   3) some clue of what you were doing\n");
  printf("\t   4) I may ask you to run the debug version\n");
  printf("\n");
  printf("\tDeveloper Nigel Griffiths\n");
  printf("\tFeedback welcome - on the current release only and state exactly the problem\n");
  printf("\tNo warranty given or implied.\n");
}
```