Debug Manual

Table Of Contents
Sample Debug Sessions
Debug Manual421921-003
F-4
TNS Program Example
Example F-2. TNS Example Compiled Listing
? optimize 0, list, noinspect
7.01 000000 0 0 ?NOLIST, SOURCE $system.system.extdecs (DEBUG, FILE_OPEN_,
8.1 000000 0 0 INT my_termnum;
8.101 000000 0 0 INT process_handle [0:9];
8.11 000000 0 0 STRING .EXT sp := %2000000D;
8.22 000000 0 0 PROC example_init;
8.23 000000 1 0 BEGIN
8.3 000000 1 1 INT error_init;
8.301 000000 1 1 INT .EXT handle_ptr;
8.302 000000 1 1 STRING hometerm [0:47];
8.304 000000 1 1 INT hometerm_len;
8.305 000000 1 1 STRING .hometerm_ptr;
8.307 000000 1 1 INITIALIZER; ! external system procedure
8.308 000007 1 1 error_init := PROCESSHANDLE_NULLIT_ (process_handle);
8.31 000017 1 1 error_init := PROCESS_GETINFO_ (process_handle,
8.311 000017 1 1 !fname:max!, !fname-len!, !priority!,
8.312 000017 1 1 !mom!, hometerm:48, hometerm_len);
8.313 000045 1 1 error_init := FILE_OPEN_ (hometerm:hometerm_len,
my_termnum);
8.317 000063 1 1 IF error_init <> 0 THEN
8.32 000066 1 1 DEBUG;
8.34 000067 1 1 @hometerm_ptr := @hometerm [0];
8.341 000072 1 1 @handle_ptr := $WADDR_TO_EXTADDR (@process_handle [0]);
8.35 000076 1 1 END; -- example_init
ERROR_INIT Variable INT Direct L+001
HANDLE_PTR Variable INT EXT Pointer L+002
HOMETERM Variable STRING Direct L+004
HOMETERM_LEN Variable INT Direct L+034
HOMETERM_PTR Variable STRING Indirect L+035
8.4 000000 0 0
9. 000000 0 0 PROC example_fill_array (array_num);
9.01 000000 1 0 INT array_num;
9.1 000000 1 0 BEGIN
9.101 000000 1 1 INT count_read;
9.11 000000 1 1 INT error_fill_array;
9.111 000000 1 1 STRING .in_out_msg [0:47];
9.112 000000 1 1 STRING .EXT segment_ptr;
9.114 000000 1 1 error_fill_array := SEGMENT_USE_ (array_num);
9.12 000015 1 1 IF error_fill_array <> 0 THEN
9.121 000020 1 1 DEBUG;
9.122 000021 1 1 sp [0] := array_num;
9.123 000024 1 1 @segment_ptr := @sp [41];
9.124 000031 1 1 in_out_msg [0] ':=' "enter some data" & %h0D0A; -- CR LF
9.13 000050 1 1 WRITEREADX (my_termnum, in_out_msg, 17, 48, count_read);
9.14 000066 1 1 segment_ptr ':=' in_out_msg [0] FOR count_read bytes;
9.2 000073 1 1 END; -- example_fill_array
ARRAY_NUM Variable INT Direct L-003
COUNT_READ Variable INT Direct L+001
ERROR_FILL_ARRAY Variable INT Direct L+002
IN_OUT_MSG Variable STRING Indirect L+003
SEGMENT_PTR Variable STRING EXT Pointer L+004
9.21 000000 0 0
9.3 000000 0 0 PROC example_main MAIN;
10. 000000 1 0 BEGIN
11.02 000000 1 1 INT error_main;
11.03 000000 1 1 INT error_detail;
12. 000000 1 1 example_init;
12.007 error_main := SEGMENT_ALLOCATE_ (1, 131064D, !filename;len!,
error_detail);