Lahey/Fujitsu Fortran

Communicating with fdb

Functions

In a Fortran 95 program, if modules and internal subprograms are used, functions are specified as the following:

A module subprogram sub defined inside a module module is specified as module@sub.

An entry point ent defined inside a module module is specified as module@ent.

An internal subprogram insub defined inside a module subprogram sub within a module module is specified as module@ sub@insub.

An internal subprogram insub defined inside a subprogram sub is specified as sub@insub.

The name of the top level function, MAIN_, is not needed when specifying a function.

Variables

Variables are specified in fdb in the same manner as they are specified in Fortran 95 or C.

In C, a structure member is specified as variable.member or variable->member if variable is a pointer. In Fortran 95, a derived-type (i.e., structure) component is specified as variable%member.

In C, an array element is specified as variable[member][member].... In Fortran 95, an array element is specified as variable(member,member,...). Note that in Fortran 95, omission of array subscripts implies a reference to the entire array. Listing of array contents in Fortran 95 is limited by the printelements parameter (see See Miscellaneous Controls).

Values

Numeric values can be of types integer, real, unsigned octal, or unsigned hexadecimal. Values of type real can have an exponent, for example 3.14e10.

In a Fortran 95 program, values of type complex, logical, and character are also allowed. Values of type complex are represented as (real-part,imaginary-part). Character data is represented as " character string " (the string is delimited by quotation marks, i.e., ascii 34).

Values of type logical are represented as .t. or .f..

Addresses

Addresses can be represented as unsigned decimal numbers, unsigned octal numbers (which must start with 0), or unsigned hexadecimal numbers (which must start with 0x or 0X). The following examples show print commands with address specifications.

memprint 1024 (The content of the area addressed by 0x0400 is displayed.)

memprint 01024 (The content of the area addressed by 0x0214 is displayed.)

memprint 0x1024 (The content of the area addressed by 0x1024 is displayed.)

Registers
  • $BP Base Pointer
  • $SP Stack Pointer
  • $EIP Program counter
  • $EFLAGS Processor state register
  • $ST[0-7] Floating-point registers
  • Names

    In Fortran 95 programs, a lowercase letter in the name (such as a function name, variable name, and so on) is the same as the corresponding uppercase letter. The main program name is MAIN_ and a subprogram name is generated by adding an underscore(_) after the corresponding name specified in the Fortran source program. A common block name is also generated by adding an underscore (_) after the corresponding name specified in the Fortran source program.