user: 请从给定的汇编指令推导出C源代码：

```asm
<uiclhelp>:
  endbr64
  push   %rbx
  mov    %rdi,%rbx
  mov    $0x0,%eax
  call   <uiclhint@plt>
  mov    %rbx,%rsi
  lea    D481(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D123(%rip),%rdi
  call   <puts@plt>
  lea    D128(%rip),%rdi
  call   <puts@plt>
  lea    D645(%rip),%rdi
  call   <puts@plt>
  lea    D367(%rip),%rdi
  call   <puts@plt>
  lea    D181(%rip),%rdi
  call   <puts@plt>
  lea    D183(%rip),%rdi
  call   <puts@plt>
  lea    D778(%rip),%rdi
  call   <puts@plt>
  lea    D735(%rip),%rdi
  call   <puts@plt>
  lea    D491(%rip),%rdi
  call   <puts@plt>
  lea    D386(%rip),%rdi
  call   <puts@plt>
  lea    D744(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D957(%rip),%rdi
  call   <puts@plt>
  lea    D307(%rip),%rdi
  call   <puts@plt>
  lea    D266(%rip),%rdi
  call   <puts@plt>
  lea    D285(%rip),%rdi
  call   <puts@plt>
  lea    D465(%rip),%rdi
  call   <puts@plt>
  lea    D453(%rip),%rdi
  call   <puts@plt>
  lea    D336(%rip),%rdi
  call   <puts@plt>
  lea    D145(%rip),%rdi
  call   <puts@plt>
  lea    D563(%rip),%rdi
  call   <puts@plt>
  lea    D815(%rip),%rdi
  call   <puts@plt>
  lea    D31(%rip),%rdi
  call   <puts@plt>
  lea    D765(%rip),%rdi
  call   <puts@plt>
  lea    D909(%rip),%rdi
  call   <puts@plt>
  lea    D640(%rip),%rdi
  call   <puts@plt>
  lea    D512(%rip),%rdi
  call   <puts@plt>
  lea    D826(%rip),%rdi
  call   <puts@plt>
  lea    D915(%rip),%rdi
  call   <puts@plt>
  lea    D135(%rip),%rdi
  call   <puts@plt>
  lea    D686(%rip),%rdi
  call   <puts@plt>
  lea    D872(%rip),%rdi
  call   <puts@plt>
  lea    D649(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D421(%rip),%rdi
  call   <puts@plt>
  lea    D641(%rip),%rdi
  call   <puts@plt>
  lea    D355(%rip),%rdi
  call   <puts@plt>
  lea    D100(%rip),%rdi
  call   <puts@plt>
  lea    D15(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D415(%rip),%rdi
  call   <puts@plt>
  lea    D586(%rip),%rdi
  call   <puts@plt>
  lea    D814(%rip),%rdi
  call   <puts@plt>
  lea    D574(%rip),%rdi
  call   <puts@plt>
  lea    D215(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D604(%rip),%rdi
  call   <puts@plt>
  lea    D547(%rip),%rdi
  call   <puts@plt>
  lea    D151(%rip),%rdi
  call   <puts@plt>
  lea    D535(%rip),%rdi
  call   <puts@plt>
  lea    D534(%rip),%rdi
  call   <puts@plt>
  lea    D97(%rip),%rdi
  call   <puts@plt>
  lea    D417(%rip),%rdi
  call   <puts@plt>
  lea    D58(%rip),%rdi
  call   <puts@plt>
  lea    D845(%rip),%rdi
  call   <puts@plt>
  lea    D600(%rip),%rdi
  call   <puts@plt>
  lea    D119(%rip),%rdi
  call   <puts@plt>
  lea    D958(%rip),%rdi
  call   <puts@plt>
  lea    D39(%rip),%rdi
  call   <puts@plt>
  lea    D633(%rip),%rdi
  call   <puts@plt>
  lea    D250(%rip),%rdi
  call   <puts@plt>
  lea    D433(%rip),%rdi
  call   <puts@plt>
  lea    D874(%rip),%rdi
  call   <puts@plt>
  lea    D318(%rip),%rdi
  call   <puts@plt>
  lea    D692(%rip),%rdi
  call   <puts@plt>
  lea    D323(%rip),%rdi
  call   <puts@plt>
  lea    D41(%rip),%rdi
  call   <puts@plt>
  lea    D924(%rip),%rdi
  call   <puts@plt>
  lea    D871(%rip),%rdi
  call   <puts@plt>
  lea    D702(%rip),%rdi
  call   <puts@plt>
  lea    D69(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D303(%rip),%rdi
  call   <puts@plt>
  lea    D334(%rip),%rdi
  call   <puts@plt>
  lea    D711(%rip),%rdi
  call   <puts@plt>
  lea    D401(%rip),%rdi
  call   <puts@plt>
  lea    D949(%rip),%rdi
  call   <puts@plt>
  lea    D289(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D903(%rip),%rdi
  call   <puts@plt>
  lea    D456(%rip),%rdi
  call   <puts@plt>
  lea    D352(%rip),%rdi
  call   <puts@plt>
  lea    D873(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D126(%rip),%rdi
  call   <puts@plt>
  lea    D146(%rip),%rdi
  call   <puts@plt>
  lea    D570(%rip),%rdi
  call   <puts@plt>
  lea    D599(%rip),%rdi
  call   <puts@plt>
  lea    D727(%rip),%rdi
  call   <puts@plt>
  lea    D325(%rip),%rdi
  call   <puts@plt>
  lea    D168(%rip),%rdi
  call   <puts@plt>
  lea    D454(%rip),%rdi
  call   <puts@plt>
  lea    D294(%rip),%rdi
  call   <puts@plt>
  lea    D898(%rip),%rdi
  call   <puts@plt>
  lea    D914(%rip),%rdi
  call   <puts@plt>
  mov    %rbx,%rsi
  lea    D314(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D831(%rip),%rdi
  call   <puts@plt>
  lea    D143(%rip),%rdi
  call   <puts@plt>
  lea    D435(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D191(%rip),%rdi
  call   <puts@plt>
  lea    D432(%rip),%rdi
  call   <puts@plt>
  lea    D504(%rip),%rdi
  call   <puts@plt>
  pop    %rbx
  ret
```

tool_calls: name: disassemble_data
arguments: tag: D481
datatype: string
name: disassemble_data
arguments: tag: D123
datatype: string
name: disassemble_data
arguments: tag: D128
datatype: string
name: disassemble_data
arguments: tag: D645
datatype: string
name: disassemble_data
arguments: tag: D367
datatype: string
name: disassemble_data
arguments: tag: D181
datatype: string
name: disassemble_data
arguments: tag: D183
datatype: string
name: disassemble_data
arguments: tag: D778
datatype: string
name: disassemble_data
arguments: tag: D735
datatype: string
name: disassemble_data
arguments: tag: D491
datatype: string
name: disassemble_data
arguments: tag: D386
datatype: string
name: disassemble_data
arguments: tag: D744
datatype: string
name: disassemble_data
arguments: tag: D957
datatype: string
name: disassemble_data
arguments: tag: D307
datatype: string
name: disassemble_data
arguments: tag: D266
datatype: string
name: disassemble_data
arguments: tag: D285
datatype: string
name: disassemble_data
arguments: tag: D465
datatype: string
name: disassemble_data
arguments: tag: D453
datatype: string
name: disassemble_data
arguments: tag: D336
datatype: string
name: disassemble_data
arguments: tag: D145
datatype: string
name: disassemble_data
arguments: tag: D563
datatype: string
name: disassemble_data
arguments: tag: D815
datatype: string
name: disassemble_data
arguments: tag: D31
datatype: string
name: disassemble_data
arguments: tag: D765
datatype: string
name: disassemble_data
arguments: tag: D909
datatype: string
name: disassemble_data
arguments: tag: D640
datatype: string
name: disassemble_data
arguments: tag: D512
datatype: string
name: disassemble_data
arguments: tag: D826
datatype: string
name: disassemble_data
arguments: tag: D915
datatype: string
name: disassemble_data
arguments: tag: D135
datatype: string
name: disassemble_data
arguments: tag: D686
datatype: string
name: disassemble_data
arguments: tag: D872
datatype: string
name: disassemble_data
arguments: tag: D649
datatype: string
name: disassemble_data
arguments: tag: D421
datatype: string
name: disassemble_data
arguments: tag: D641
datatype: string
name: disassemble_data
arguments: tag: D355
datatype: string
name: disassemble_data
arguments: tag: D100
datatype: string
name: disassemble_data
arguments: tag: D15
datatype: string
name: disassemble_data
arguments: tag: D415
datatype: string
name: disassemble_data
arguments: tag: D586
datatype: string
name: disassemble_data
arguments: tag: D814
datatype: string
name: disassemble_data
arguments: tag: D574
datatype: string
name: disassemble_data
arguments: tag: D215
datatype: string
name: disassemble_data
arguments: tag: D604
datatype: string
name: disassemble_data
arguments: tag: D547
datatype: string
name: disassemble_data
arguments: tag: D151
datatype: string
name: disassemble_data
arguments: tag: D535
datatype: string
name: disassemble_data
arguments: tag: D534
datatype: string
name: disassemble_data
arguments: tag: D97
datatype: string
name: disassemble_data
arguments: tag: D417
datatype: string
name: disassemble_data
arguments: tag: D58
datatype: string
name: disassemble_data
arguments: tag: D845
datatype: string
name: disassemble_data
arguments: tag: D600
datatype: string
name: disassemble_data
arguments: tag: D119
datatype: string
name: disassemble_data
arguments: tag: D958
datatype: string
name: disassemble_data
arguments: tag: D39
datatype: string
name: disassemble_data
arguments: tag: D633
datatype: string
name: disassemble_data
arguments: tag: D250
datatype: string
name: disassemble_data
arguments: tag: D433
datatype: string
name: disassemble_data
arguments: tag: D874
datatype: string
name: disassemble_data
arguments: tag: D318
datatype: string
name: disassemble_data
arguments: tag: D692
datatype: string
name: disassemble_data
arguments: tag: D323
datatype: string
name: disassemble_data
arguments: tag: D41
datatype: string
name: disassemble_data
arguments: tag: D924
datatype: string
name: disassemble_data
arguments: tag: D871
datatype: string
name: disassemble_data
arguments: tag: D702
datatype: string
name: disassemble_data
arguments: tag: D69
datatype: string
name: disassemble_data
arguments: tag: D303
datatype: string
name: disassemble_data
arguments: tag: D334
datatype: string
name: disassemble_data
arguments: tag: D711
datatype: string
name: disassemble_data
arguments: tag: D401
datatype: string
name: disassemble_data
arguments: tag: D949
datatype: string
name: disassemble_data
arguments: tag: D289
datatype: string
name: disassemble_data
arguments: tag: D903
datatype: string
name: disassemble_data
arguments: tag: D456
datatype: string
name: disassemble_data
arguments: tag: D352
datatype: string
name: disassemble_data
arguments: tag: D873
datatype: string
name: disassemble_data
arguments: tag: D126
datatype: string
name: disassemble_data
arguments: tag: D146
datatype: string
name: disassemble_data
arguments: tag: D570
datatype: string
name: disassemble_data
arguments: tag: D599
datatype: string
name: disassemble_data
arguments: tag: D727
datatype: string
name: disassemble_data
arguments: tag: D325
datatype: string
name: disassemble_data
arguments: tag: D168
datatype: string
name: disassemble_data
arguments: tag: D454
datatype: string
name: disassemble_data
arguments: tag: D294
datatype: string
name: disassemble_data
arguments: tag: D898
datatype: string
name: disassemble_data
arguments: tag: D914
datatype: string
name: disassemble_data
arguments: tag: D314
datatype: string
name: disassemble_data
arguments: tag: D831
datatype: string
name: disassemble_data
arguments: tag: D143
datatype: string
name: disassemble_data
arguments: tag: D435
datatype: string
name: disassemble_data
arguments: tag: D191
datatype: string
name: disassemble_data
arguments: tag: D432
datatype: string
name: disassemble_data
arguments: tag: D504
datatype: string

tool: D481: nmond %s



tool: D123: For Interactive-Mode

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

tool: D826: 	-N            include NFS Network File System

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

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

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

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

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

tool: D421: 	To load into a spreadsheet:

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

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

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

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

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

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

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

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

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

tool: D604: Interactive Mode Commands

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

tool: D151: 	h   = Online help information

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

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

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

tool: D417: 	m   = Memory stats

tool: D58: 	L   = Huge memory page stats

tool: D845: 	V   = Virtual Memory and Swap stats

tool: D600: 	k   = Kernel Internal stats

tool: D119: 	n   = Network stats and errors

tool: D958: 	N   = NFS Network File System

tool: D39: 	d   = Disk I/O Graphs

tool: D633: 	D   = Disk I/O Stats

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

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

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

tool: D318: 	j   = File Systems 

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

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

tool: D41: 	u   = Top Process full command details

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

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

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

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

tool: D303: 	key --- Other Controls ---

tool: D334: 	+   = double the screen refresh time

tool: D711: 	-   = halves the screen refresh time

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

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

tool: D289: 	space = refresh screen now

tool: D903: Startup Control

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

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

tool: D873: 	 export NMON=cmdrvtan

tool: D126: Others:

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

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

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

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

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

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

tool: D454: 	   mkfifo /tmp/mypipe

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

tool: D898: 	   grep /tmp/mypipe

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

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


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

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

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

tool: D191: 	Developer Nigel Griffiths

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

tool: D504: 	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");
}
```