DataMuseum.dk

Presents historical artifacts from the history of:

Commodore CBM-900

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Commodore CBM-900

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦30cedc837⟧ TextFile

    Length: 1012 (0x3f4)
    Types: TextFile
    Notes: UNIX file
    Names: »mon.h«

Derivation

└─⟦eafc30061⟧ Bits:30001199 Commodore 900 hard disk image
    └─⟦8281d0872⟧ UNIX V7 Filesystem
        └─ ⟦294235107⟧ »vol3.fd« UNIX V7 Filesystem
            └─ ⟦this⟧ »usr/include/mon.h« 
└─⟦f27320a65⟧ Bits:30001972 Commodore 900 hard disk image with partial source code
    └─⟦2d53db1df⟧ UNIX V7 Filesystem
        └─ ⟦this⟧ »include/mon.h« 
└─⟦eafc30061⟧ Bits:30001199 Commodore 900 hard disk image
    └─⟦5ec4c54f2⟧ UNIX V7 Filesystem
        └─ ⟦this⟧ »usr/include/mon.h« 

TextFile

/*
 * The layout of the mon.out file created by a call to monitor is
 * as follows:
 *	header (m_hdr)
 *	function count buffer (array of m_funcs)
 *	profil buffer (array of shorts)
 * The profil data scales the pc as follows:
 *	bin number = (pc - low pc) * (scale/2) / (1<<16)
 */

#ifndef TYPES_H
#include <types.h>
#endif

#ifndef NULL
#define	NULL	((char  *)0)
#endif

struct m_hdr {
	unsigned	m_nbins,	/* number of bins */
			m_scale,	/* scale factor */
			m_nfuncs;	/* number of function counts */
	vaddr_t		m_lowpc;	/* lowest pc to monitor */
	vaddr_t		m_lowsp;	/* lowest sp in scount */
	vaddr_t		m_hisp;		/* highest sp in scount */
};


struct m_func {
	vaddr_t		m_addr;		/* address in function */
	long		m_ncalls;	/* number of times function called */
};


/*
 * The m_flst structure is allocated (by the C compiler) for every routine
 * compiled with the -p option.
 */
struct m_flst {
	struct m_func	m_data;		/* data on this function */
	struct m_flst	*m_link;	/* link to next function in list */
};