.. |version| replace:: 2.62

======
chkexe
======

------------------------------------------------
check and/or disassemble Atari 8-bit executables
------------------------------------------------

.. include:: manhdr.rst

SYNOPSIS
========

chkexe [**-gaps** *gap-size*] [**-silent**] [**-split**] [**-d**] **xex-file** [**output-file**]

DESCRIPTION
===========

**chkexe** reads an Atari 8-bit executable (aka XEX file) and prints a
list of segments, each with their start and end address. Run and init
addresses are decoded.

If no **output-file** is given, **chkexe** simply prints the results of
its analysis. With an **output-file**, a possibly modified copy of the
XEX file is created: Adjacent blocks (e.g. a block ending at $1FFF,
followed by a block beginning at $2000) will be combined. The **-gaps**
option can be used to control the threshold for combining blocks.

OPTIONS
=======

**-gaps** *gap-size*
  Blocks less than *gap-size* bytes apart will be combined. Default: *0*.

**-silent**
  Don't print informational messages.

**-split**
  Split multi-segment executables into one file per segment. The output
  files will be called *blkNNNN.blk*, where *NNNN* is the block number in
  hexadecimal. These files are standard Atari executables, with *$FFFF*
  headers.

**-d**
  Disassemble each block. The disassembler is very simple: single pass,
  no attempt to recognize data blocks.

EXIT STATUS
===========

Zero for success, non-zero for failure.

.. include:: manftr.rst
