Ice x186
Ice x186
TRACE32 Directory
TRACE32 Index
Warning ................................................................................................................................. 6
          Troubleshooting ...................................................................................................................            11
             Hang-Up                                                                                                                                     11
             Dual-Port Errors                                                                                                                            12
FAQ ........................................................................................................................................ 13
          Configuration ........................................................................................................................         14
             DIP-Switch Setting of 8086/8088/V20/V30                                                                                                     14
             DIP-Switch Setting of 80186(EA)/80188(EA)/80C186(XL)/80C188(XL)                                                                             15
             DIP-Switch Setting of 80186EB/80188EB/80186EC/80188EC, V40/V50                                                                              16
             DIP-Switch Setting of 186EM/ES/ER/ED/188EM/ES/ER                                                                                            17
             DIP-Switch Setting of 186CC/CH/CU                                                                                                           18
          Basics ....................................................................................................................................    19
             Emulation Modes                                                                                                                             19
             Dual-Port Access                                                                                                                            21
             SYStem.Clock                                                                                                   Clock generation             21
      FPU ........................................................................................................................................   51
        I/O Connector for Coprocessor (8086/8087)                                                                                                    52
Segmentation ........................................................................................................................ 55
Compilers .............................................................................................................................. 76
Adapter .................................................................................................................................. 93
Version 06-Nov-2019
   E::w.d.l
    addr/line         code                  label           mnemonic                        comment
                                            {
                576                                       prime = i + i + 3;
        P:0040:07A0   8BC6                                  mov     ax,si
        P:0040:07A2   D1E0                                  shl     ax,1
        P:0040:07A4   050300                                add     ax,3
        P:0040:07A7   8946FE                                mov     [bp-2],ax
                577                                       k = i + prime;
        P:0040:07AA   8BFE                                  mov     di,si
        P:0040:07AC   EB05                                  jmp     7B3
                                                          while ( k <= SIZE )
                                                          {
                580                                               flags[ k ] = FALSE;
        P:0040:07AE C685D80400                              mov     byte ptr [di+4D8],0
   Cy     _   AX      5    BX     12    SP >0040         E::w.v.l %m %r %t
   P      _   CX      5    DX    0BC    -06 000B         sieve()
   Ac     _   DS    2F3    SI      2    -04 0002         (auto int) prime =     5
   Zr     _   ES    2F3    DI     15    -02 0005         (auto int) count =     2
   S      _   SS    2F3    SP   4562    FP >457E         (register int) i =     2
   T      _                BP   456A    +02 076F         (register int) k =     21
   For general informations about the In-Circuit Debugger refer to the “ICE User’s Guide” (ice_user.pdf). All
   general commands are described in “PowerView Command Reference” (ide_ref.pdf) and “General
   Commands and Functions”.
NOTE: Do not connect or remove probe from target while target power is ON.
Before debugging can be started, the emulator must be configured by hardware and software:
   Ready to run setup files for most standard compilers can be found on the software CD in the directory
   …/Demo/I86/Compiler. All setup files are designed to run the emulator stand alone without target
   hardware.
   The following description should make the initial setup (to run the emulator together with the target
   hardware) easier. It describes a typical setup with frequently used settings. It is recommended to use the
   programming language PRACTICE to create a batch file, which includes all necessary setup commands.
   PRACTICE files (*.cmm) can be created with the PRACTICE editor pedit (Command: PEDIT <file name>)
   or with any other text editor.
9. Start application
         The system window controls the CPU specific setup. Please check this window very carefully and set
         the appropriate options. Use the ? button in the main tool bar and click to the option check box
         (Command: HELP.PICK) to get online help in a pop up window.
         Dualport allows access to emulation RAM, while emulation is running. This is necessary to display
         variables, set breakpoints or display the flag listings while the emulation is running. System.access
         selects how dualport access is done.
         The mapper controls the memory access of the CPU. This means the use of internal or external
         memory, the number of wait states, the bus width etc. Address ranges must be defined by using
         memory classes.
         The CPU can be clocked by internal (emulator) or external (target). If the internal clock is used, the
         clock is provides by the VCO of the emulator. The setting of the internal clock is done by the VCO
         command.
The current CPU frequency can be displayed in the counter window (Command: Count).
        When the emulator is activated a monitor program is loaded into hidden emulator memory. After the
        load and the falling edge of RESET the monitor program is started. This program allows access to
        user memory (data.dump, data.list) and register and gives control to start and stop the emulation.
        Application can be loaded by various file formats. OMF86 file is often used to load code and symbol
        information. For information about the load command for your compiler see Compiler.
        For correct data.list and data.dump after RESET it necessary to initialize chipselect units.
        Stackpointer should be initialized by hand if debugging is started at RESET until it is initialized by the
        program. Stack is used for the emulator break system.
        There are several ways to set breakpoints (Command: Break.Set). Breakpoints can be displayed
        using the Break.List command. Information regarding HLL lines (for HLL breakpoints) is loaded
        automatically when a HLL file is loaded.
8. Start application
        Application can be started with giving a break address. For example “go main” starts the application
        and stops at symbol main.
go ; run application
         Application can be breaked manually by using the Break command. If application executed a halt
         instruction the command Break.HALT should be used to terminate the application.
It is recommended to check the following chapters for all questions regarding the correct setup:
• Configuration
• Troubleshooting
Hang-Up
If you are not able to stop the emulation, there could be some typically reasons:
      Halt                            The program runs to HALT state. No cycles are generated by the
                                      CPU and the trigger system can not work. Use Break.Halt to
                                      generate a NMI interrupt and stop then the emulation.
      No READY Signal                 If TIMOUT is not specified, the CPU cycle will not be completed,
                                      when the READY signal is missing. You can verify this state by
                                      checking the CYCLE signal with the counter function. If low, the
                                      CPU is stopped in the middle of the cycle. On dual-port access an
                                      error occurs and the emulator system changes to reset state.
      Clock Error                     The clock lines between the target and the oscillator replacement
                                      are very short. Therefore normally no problems should occur when
                                      using an external crystal. Be sure that the capacitors on the target
                                      have a value of 20 pF minimum and are connected with short routes
                                      to the CPU socket. If the clock input signal is only used by the CPU,
                                      the clock may be generated by the emulator system using the
                                      EmulInt mode.
      NMI                             Break system will not work if NMI input is active at the same time a
                                      breakpoint or a trigger point is reached. Be sure that on emulation
                                      NMI is not used by the target system. Otherwise switch off the NMI
                                      line by eXeption.Enable NMI Off.
      RESET and HOLD                  Reset and Hold signals from the target system stop emulation
                                      immediately. If these signals are constantly active, memory dump
                                      will be possible, but no emulation.
      Analyzer Malfunction            If you switch off the analyzer and the CPU has stopped operation
                                      within a cycle, an invalid display will occur. Make a SYStem.Up
                                      command to see the correct trace information.
   1.    The length of the CPU cycle is extended by wait cycles, so that the request timeout signal is
         generated.
   To solve problems with dualport error first increase the SYStem.TimeReq value. Be sure of that the
   SYStem.TimeOut value is larger than the access time limit. If it is not possible to solve the problem by
   changing the values, you must switch to DENIED mode. In this mode no access to memory is possible while
   running realtime emulation. The internal dual-port access can increase the reaction time for external DMA
   requests. The performance reduction by the dual-port access is typically 1% with some data windows (dual-
   ported) on the screen and may be at max. 5% when using dynamic emulation memory.
                      Most emulators use some bytes of user stack for the break system. Therefore it
                      is necessary to have valid stack, if single step or breakpoints are used.
       The configuration of different target CPU's is done by changing the probe or the CPU. The port analyzer is
       an optional unit, which is plugged on the ICE186 board. The software is configured automatically.
The CPU type on the probes must be jumpered. Otherwise the message Configuration Error may appear.
Module 8086
++++++++++++++++++++++++
       ++++++++++++++++++++++++
       ++++++++++++++++++++++++
                                                     CPU type             1     2     3    4
                                                     8086                 OFF   ON    -    -
          1234                                       8088                 ON    ON    -    -
                                                     V30                  OFF   OFF   -    -
                                                     V20                  ON    OFF   -    -
To select another CPU type, it is necessary to exchange the CPU on the module!
++++++++++++++++++++++++
     ++++++++++++++++++++++++
     ++++++++++++++++++++++++
                                                 CPU type            1     2     3     4
Adapter 80186
CPU type 1 2 3
To select another CPU type, it is necessary to exchange the CPU on the module!
++++++++++++++++++++++++
    ++++++++++++++++++++++++
    ++++++++++++++++++++++++
                                                CPU type               1
                                                80C186EB/EC,V50        OFF
                      1                         80C188EB/EC,V40        ON
To select another CPU type, it is necessary to exchange the CPU on the module!
     2
                                                CPU type                1       2
Adapter 186EM/ES/ER/ED
Switch 1 2 3 4 7 8
   To select another CPU type, it is necessary to exchange the CPU on the module and to set SYStem.CPU
   correctly.
      NOTE:             When using 186ER/188ER, one 0R jumper must be closed on bottom side of
                        top pcb to guarantee 3.3V operation also in standalone mode.
                        SYStem.Option V33 must be set to on.
                                             186EM(LV)              open
                                             186ES(LV)              open
                                             186ER                  0R (closed)
                                             186ED(LV)
                                                                            open
                                                    188EM(LV)               open
                                                    188ES(LV)               open
     Top PCB, bottom view (new pcb)
                                                    188ER                   0R (closed)
                                       DEN-/DS-function         1   0   x    x   x   x   x   x
                                       PIO30 function           0   1   x    x   x   x   x   x
                                       DT/R- function           x   x   1    0   x   x   x   x
                                       PIO29 function           x   x   0    1   x   x   x   x
                                       WR- function             x   x   x    x   1   0   x   x
                                       PIO15 function           x   x   x    x   0   1   x   x
                   1         8         BHE- function            x   x   x    x   x   x   1   0
                                       PIO34 function           x   x   x    x   x   x   0   1
                       SW1
                   1         8           Switch SW2             1   2   3    4   5   6   7   8
                       SW2
                                       ALE function             1   0   x    x   x   x   x   x
                                       PIO33 function           0   1   x    x   x   x   x   x
Emulation Modes
   E::w.sys
      system             Mode              Clock            TimeReq        Option
       Down              RESet             VCO              1.000ms         MAX
       Up             Analyzer             Low             TimeOut        REFresh
                        Monitor             Mid             50.000us       RamWait
           RESet       ResetDown           High                          BreakWin
                        ResetUp                               Line          ONCE
         cpu-type       NoProbe          Access               HOLD        Enhanced
         I80C186      AloneInt          Nodelay                         TestClock
                       AloneExt          REFresh
                        EmulInt         Request
         BankMode       EmulExt          Denied
           OFF
          INTern                BankFile
          EXTern
   The emulation head can stay in 6 modes. The modes are selected by the SYStem.Up or the SYStem.Mode
   command.
         <mode>:        ResetDown
                        ResetUp
                        AloneInt
                        AloneExt
                        EmulInt
                        EmulExt
Reset Up Target has power, drivers are logically in inactive state, but not tristate.
      Alone Internal      Probe is running with internal clock, driver inactive. This mode is used for
                          'standalone' operation.
      Emulation           Probe is running with internal clock, strobes to target are generated.
      Internal
      Emulation           Probe is running with external clock, strobes to target are activated.
      External
   In active mode, the power of the target is sensed and by switching down the target the emulator changes to
   RESET mode. The probe is not supplied by the target. When running without target, the target voltage is
   simulated by an internal pull-up resistor.
   The probe uses an active buffered emulation technology. Emulation is possible in a target system with
   hardware errors in the address or data bus. The basic module supports Intel, Siemens, AMD and NEC
   CPUs.
      <option>:            Nodelay
                           REFresh
                           Request
                           Denied
      Nodelay             This method is used at lower speed up to 12 MHz. The gap between the CPU
                          cycles is used for memory access.
      REFresh             Only usable on 188/186 CPU in Enhanced Mode when generating refresh
                          cycles. Uses the refresh cycles for making the dual-port access.
      Request             To realize the dual-port access (emulation memory) at high frequencies the
                          HOLD-line (186) of the CPU is used. Dual-port accesses are only allowed while
                          no external request to the bus occurs and the CPU cycle is completed. If the
                          emulation CPU is in RESET state of the CPU the system controller will always
                          access the emulation memory. Not usable in 8086/8088/V20/V30 Max Mode.
   Dualport allows access to emulation RAM, while emulation is running. This is necessary to display variables,
   set breakpoints or display flag listings while the emulation is running. Dualport access is only possible for
   emulator internal RAM.
      <option>:            VCO
                           High
                           Mid
                           Low
General Restrictions
     Memory Setup           All 186 type in-circuit emulators need memory in the stack area (SS:SP)
                            to break correctly. If you get an invalid IP and CS value after stopping the
                            program, the stack area may be outside the memory area. The break
                            system needs additionally 12 bytes on the top of the stack. To set
                            breakpoints on I/O cycles, there must be free memory for this area.
                            Therefore reserve 64 K of memory for the I/O/ area if possible.
Register Setup The TF (Trap Flag) register trace flag must not be set to 1.
     Internal I/O           The internal I/O should not be set to be memory mapped from location
     Relocation             0..7fff.
     Interrupt              The NMI signal is used for stopping emulation. The “INT 3” instruction
     Restrictions           and the TrapFlag are used for single stepping and program breaks.
                            Therefore the interrupt vectors 1, 2 and 3 may not be used by the target
                            program when breakpoints are set or single stepping is done. However
                            the vector entries should be defined, as the first locations of the code,
                            addressed by these vectors, are fetched but not executed. If the vectors
                            are not defined, this fetch can cause unpredictable results by reading
                            memory or trigger by accessing wrong data areas.
     Pending Interrupts     When internal interrupts are pending and the emulation is started at a
                            program breakpoint, the interrupt routine will be executed once and the
                            program will stop at the same breakpoint again. A solution to this problem
                            can be to execute one step to skip over the breakpoint location. An other
                            solution is to disable or reset the timer while the emulation is stopped.
                            This can be done by an emulation monitor extension (SYStem.MonFile).
     Pending Interrupts     When executing an assembler step and internal interrupts are pending,
     during Single Step     the emulator will step into the interrupt program. This can be changed
                            either by preventing the interrupt, e.g. stop the timer while the emulation
                            is stopped (see “Pending Interrupts”) or by disabling the interrupt bit in
                            the CPU (command SETUP.IMASKASM). For HLL steps the problem can
                            be solved in the same ways (command SETUP.IMASKHLL) or by
                            temporarily removing the HLL breakpoint of the current line during the
                            step (SETUP.StepInt).
      Accessing location         A read access to location 0:4 in single step mode, or while a hardware
      0:4                        breakpoint is pending will cause an undefined behavior of the program.
   All program breakpoints are hardware based. The operation is done by replacing the opcode with an INT3
   instruction. For not breaking on every INT3 code in the target program break sequencing is only possible
   during some cycles after the breakpoint cycle. In some cases it may be an advantage to switch off this
   feature (for example when using INT3 as software breakpoints in relocating programs).
NOTE: If the Break Window is OFF, accesses to vector table stop the emulation.
   This option selects the ONCE mode. The CPU soldered on the target system is switched off on target reset.
   Emulator must be in SYS.M ResetDown when target reset line is going inactive. To use this option a special
   clip-over adapter is needed.
One wait state for all memory cycles. Additional wait states will be generated if MAP.Wait is defined.
Normally refresh cycles are not used for trigger and trace functions. On default it is switched off.
   If running in Enhanced Mode, the refresh function must be stopped when emulation breaks. Set REL option
   must be set to the same value the user program write to the REL register.
   The adjusted I/O base address can be read back with the functions IOBASE() and IOBASE.ADDRESS().
   They return the offset or the complete address (offset and access mode) for the I/O area.
   When MAP.SPLIT command is used to split program and data memory, SYStem.Option SPLIT ON forces
   the emulator to use dualport on data.dump p: windows (also data.list). This means dumps to program
   memory is only possible via dualport to emulator internal memory.
   Missing clock signals force emulator system to generate a Target Clock Fail error and to set emulation
   system to RESET. To use the Power-Down modes of the CPU the clock test logic must be blocked.
   The emulator has logic to detect a power fail. This logic has to be adjusted for 3.3Volt CPUs (AM18xER,
   186CC/CU/CH for example).
The following Special Settings and Restrictions are subdivided by CPU type.
   To allow a correct emulator fpu support, 8087 must always be plugged on the pod. If 8087 coprocessor is
   used (on 8086 pod) in stand alone mode, this option must be switched to ON. If 8087 coprocessor is used
   (on 8086 pod) in external mode (together with a target), this option should be switched to OFF and some
   additional lines connected. SYStem.Option MAX must be switched to ON.
   8087 is connected internally (on the pod) with 8086. This means if standalone mode is used and
   SYStem.Option FPU is ON, all necessary connections between 8086 and 8087 are routed on the emulator
   pod. To give user more flexibility the following 8087 signals are located on a 10-pole connector on the
   emulator pod:
      9       7   5   3    1
     10       8   6   4    2
          1               CLK              2                GND
          3               RQ/GT0-          4                GND
          5               RQ/GT1-          6                GND
          7               INT              8                GND
          9               BUSY            10                GND
   In standalone mode CLK is connected to emulator CPU clock. In external clock mode 8087 clock must
   always be supplied on pin 1 of the connector! RQ/GT1- line of 8087 is always connected to the connector.
   This means if pod is connected to a target, sys.o fpu must be switched off and the above listed signals
   connected via the 10-pole connector to the target.
10-pole connector
   8086/8088/V20/V30 CPUs may run in two modes. The modes differ in the pin function of some pins. Pin
   MN/MX- (S/LG-) select minimum or maximum mode. This MIN/MAX selection should be done before
   leaving the emulator reset state.
If 80187 coprocessor is used (on the target) this option must be switched to ON.
   80186/80188 controls via the RD- line two different modes (MIN: standard, MAX: queue status). This
   MIN/MAX selection should be done before leaving the emulator reset state.
Restrictions 80C186(XL)/80C188(XL)/80C186EA/80C188EA
      RCU                 The refresh control unit of the 80C186 is disabled, when the emulation is
                          stopped. Refresh of external dynamic memory can be made by the
                          REFresh.StandBy command. The RCU control register should not be modified
                          when the emulation is stopped. The value displayed in memory windows will be
                          wrong.
   If running in target systems the CPU is automatically started in Enhanced mode if the target system uses
   this mode. In standalone mode this feature must be stimulated by the emulator system.
If 80187 coprocessor is used (on the target) this option must be switched to ON.
If 80187 coprocessor is used (on the target) this option must be switched to ON.
     Peripheral Register        CLKOUTA line must not be disabled by PDCON (offset: 0f0h), because
     Setup CLKOUTA              emulator needs this signal.
     Peripheral Register        LMCS (offset: 0a2h) controls waitstates and use of SRDY/ARDY pin for
     Setup Chip Select          LCS- output. For frequencies above 28 MHz. monitor program needs at
     Unit                       least one wait state for correct working. LMCS must be programmed to
                                use either more than zero wait or external ARDY/SRDY.
   Select used CPU type. Use 186EM for 188EM(LV)/186EM(LV). CPU type must be set before any other
   system setting.
   18xEM have shared A17-A19/PIO7-PIO9 pins. If pins should be used as address lines, the configuration
   must be set by the SYStem.LINE ADDR command. Each set bit indicates that the address line should be
   used.
   18xEM have a shared SRDY/PIO6 pin. It is necessary to switch SYStem.Line SRDY to on, if function SRDY
   is used. If PIO6 is used, SYStem.Line SRDY must be switched off.
     Peripheral Register      The watchdog timer at the 18xES/186ED is disabled from monitor
     Setup Watchdog           program via WDTCON (offset: 0e6h).
     Peripheral Register      CLKOUTA line must not be disabled by PDCON (offset: 0f0h), because
     Setup CLKOUTA            emulator needs this signal.
     Peripheral Register      LMCS (offset: 0a2h) controls waitstates and use of SRDY/ARDY pin for
     Setup Chip Select        LCS- output. For frequencies above 28 MHz. monitor program needs at
     Unit                     least one wait state for correct working. LMCS must be programmed to
                              use either more than zero wait or external ARDY/SRDY.
     Peripheral Register      The bus width of LMCS (offset: 0a2h) must be set to 16bit. This is done in
     Setup Chip Select        AUXCON register (offset: 0f2h). The reason for this restriction is the
     Unit and AUXCON          internal running monitor program of the emulator, which must run under
     bus width Control        16bit bus width.
   Select used CPU type. Use 186ES for 188ES(LV)/186ES(LV) or 186ED for 186ED(LV). CPU type must be
   set before any other system setting.
   18xES/186ED have shared A17-A19/PIO7-PIO9 pins. If pins should be used as address lines, the
   configuration must be set by the SYStem.LINE ADDR command. Each set bit indicates that the address
   line should be used.
   18xES/186ED have a shared SRDY/PIO6 pin. It is necessary to switch SYStem.Line SRDY to on, if function
   SRDY is used. If PIO6 is used, SYStem.Line SRDY must be switched off.
Mapping
   18x/186ED have a chip select dependent bus width control. This control is implemented in AUXCON
   register (Offset: F2h). If any of the chip select units is used in 8bit mode, MAP.BUS8 must be set for the
   corresponding range. 16bit bus width is the default selection
      NOTE:                The bus width of LMCS (offset: 0a2h) must be set to 16bit. This is done in
                           AUXCON register (offset: 0f2h). The reason for this restriction is the internal
                           running monitor program of the emulator, which must run under 16bit bus width.
Restrictions 186ER/188ER
      Peripheral Register        CLKOUTA line must not be disabled by PDCON (offset: 0f0h), because
      Setup CLKOUTA              emulator needs this signal.
      Peripheral Register        LMCS (offset: 0a2h) controls waitstates and use of SRDY/ARDY pin for
      Setup Chip Select          LCS- output. For frequencies above 28 MHz. monitor program needs at
      Unit                       least one wait state for correct working. LMCS must be programmed to
                                 use either more than zero wait or external ARDY/SRDY.
      Internal RAM               The 18xER internal RAM must not be used at base address 0 (lowest
      (Onchip)                   32 KByte). All other addresses are allowed. See also
                                 SYStem.Option IMDIS and SYStem.Option SREN.
   Select used CPU type. Use 186ER for 188ER or 186ER. CPU type must be set before any other system
   setting.
   18xER has shared A17-A19/PIO7-PIO9 pins. If pins should be used as address lines, the configuration must
   be set by the SYStem.LINE ADDR command. Each set bit indicates that the address line should be used.
   18xER has a shared SRDY/PIO6 pin. It is necessary to switch SYStem.Line SRDY to on, if function SRDY is
   used. If PIO6 is used, SYStem.Line SRDY must be switched off.
   Use this option to select clocking mode. CPU input clock is multiplied by four (default), multiplied by one or
   divided by two. If divide by two mode is selected, the PLL is disabled.
   Use this option to disable the 18xER onchip RAM (32 kByte). When this option is switched to ON, onchip
   memory is always hidden, also if IMCS register bit 9 (internal RAM enable) is set. If option is switched to
   OFF, onchip memory is available if IMCS register bit 9 is set. Onchip memory can be used, but not at base
   address 0 (lowest 32 kByte). For analyzer trace to onchip memory see under SYStem.Option SREN.
   Use this option to show read data on the 18xER onchip RAM accesses. Note that if a byte read is being
   shown, the unused byte will also be driven on the AD15-AD0 bus.
   When this option is switched to ON, read data on onchip memory accesses are always visible, also if IMCS
   register bit 10 (show read) is reset. If option is switched to OFF, read data on onchip memory accesses are
   available, if IMCS register bit 10 is set. Onchip memory can be used, but not at base address 0 (lowest 32
   kByte).
Restrictions 186CC/CU/CH
      Peripheral Register       BHE-/PIO34 must be programmed as BHE- signal. ADEN- is held low
      Setup BHE-                on power-on reset by the emulator. Therefore the AD bus drives both
      /PIO34/ADEN-              addresses and data, regardless of how software configures the DA bit
                                setting.
      Peripheral Register       The watchdog timer is disabled from monitor program via WDTCON
      Setup Watchdog            (offset: 3e0h).
      Peripheral Register       CLKOUTA line must not be disabled by SYSCON (offset: 3f0h),
      Setup CLKOUTA             because emulator needs this signal.
      Peripheral Register       LMCS (offset: 3a2h) controls waitstates and use of SRDY/ARDY pin
      Setup Chip Select         for LCS- output. For frequencies above 28 MHz. monitor program
      Unit                      needs at least one wait state for correct working. LMCS must be
                                programmed to use either more than zero wait or external ARDY/SRDY.
                                If DRAM is used for LCS (LDEN=1) ARDY/SRDY pin is ignored.
                                Therefore one internal wait should be programmed in the LMCS
                                register.
      Peripheral Register       The bus width of LMCS (offset: 3a2h) must be set to 16bit. The reason
      Setup Chip Select         for this restriction is the internal running monitor program of the
      Unit and AUXCON           emulator, which must run under 16bit bus width.
      Bus width Control
   186CC/CU/CH has a shared SRDY/PIO35 pin. It is necessary to switch SYStem.Line SRDY to ON, if
   function SRDY is used. If PIO35 is used, SYStem.Line SRDY must be switched OFF. In this mode a
   10kOhm pull-down resistor is active. A 100kOhm pull-down resistor is always active.
   186CC/CU/CH has a shared ARDY/PIO8 pin. It is necessary to switch SYStem.Line ARDY to ON, if function
   ARDY is used. If PIO8 is used, SYStem.Line ARDY must be switched OFF. In this mode a 10kOhm pull-
   down resistor is active. A 100kOhm pull-down resistor is always active.
   Use this option to select clocking mode. CPU Input clock is multiplied by two (default), by four or by one or
   used without PLL (bypass). The data sheet should be checked for the allowed frequency ranges.
Restrictions V40/V50
     Waitstates        For memory accesses, not more than 7 waitstates should be used. Using more
                       waitstates inhibits emulator to break correctly.
   E::w.x
     exception           Activate            Enable              Trigger        Puls           Puls
        OFF                OFF                OFF                OFF          OFF          Single
       ON                 RESIN              ON                  ON           RESIN         Width
       RESet               HOLD              RESIN               RESIN         INT0           1.000us
                                             HOLD                RESET         HOLD          PERiod
                                              NMI                HOLD           NMI           0.000
                                             INT0                HLDA         EINT0+
                                             INT1                PULS         EINT0-         Vector
                                             INT2                             VINT0+        00 (000.)
                                             INT3                             VINT0-
                                            TMRIN0
                                            TMRIN1
                                             DRQ0
                                             DRQ1
   The exception control system depends on the processor used. The window shown here is for the
   80(C)186/XL/EA. The exception control system can only control external interrupt sources (see also
   General Restrictions)
Format: eXception.Enable ON
22k
   RES- >
        X.Enable-          >=1     X.Activate-                 &        > RES- (CPU)
        Run-                       X.Puls-
                                   Sys.Reset
22k
   RESET >
             X.Enable               &         X.Activate                  >=1     > RESET (CPU)
             Run                              X.Puls
                                              SYS.RESO
NMI
                                        +1                    > Trace
                        GND
22k
   NMI >
           X.Enable             &        X.Activate                 >=1         > NMI (CPU)
           Run                           X.Puls
                                         Break
22k
   HOLD >
            X.Enable             &      X.Activate              >=1              > HOLD (CPU)
            Run                         X.Puls
                                        Dualport
DMA Modes
   External DMA circuits request the bus by the HOLD signal. If realtime emulation is stopped external and
   internal DMA circuits will not get access to the bus. They are requesting the bus, but no HLDA signal is
   generated. If external DMA should be enabled at every time, the HOLD line will always have to be enabled.
   Internal DMA functions are simultaneously stopped when emulation stop (Break by NMI).
   While emulation is stopped, the DMA function will be interrupted for about 10 cycles if the CPU executes
   internal monitor functions. This may force malfunction, if the DMA needs very fast memory access response
   times.
   This option allows DMA access without running realtime emulation. If external DMA should be enabled at
   every time, the HOLD line must always be enabled (SYStem.Line HOLD ON). External DMA circuits are not
   stopped on breakpoints.
As interrupt signals or timer signals are bidirectional, the control is done by analog switches.
+1 > Trace
22k 22k
   Interrupt stimulation is only possible in Stand-Alone mode or if no external interrupt controller is used. The
   simulation circuit supports level and edge triggered interrupts with and without external vector support.
                                         +1                   > Trace
                          GND
22k
   INTx >
     X.Enable INTx                 &                                >=1               > INTx (CPU)
                                           X.Puls
      <option>:            INT0
                           EINT0+
                           EINT0-
                           VINT0+
                           VINT0-
   The possible interrupt line depend on the CPU used. The following description is for the 80186/XL/EA
   processors. The functionality is the same for other processors.
   This is the simulation for vectored interrupts in cascaded mode. The simulation circuit sets INT0 to high until
   2 interrupt acknowledge cycles are executed. The vector is supplied on the second IACK cycle. The pulse
   width should be at minimum 2 CPU cycles.
                                            E::w.x
   Exception setup                             Trigger              Puls                Puls
                                                OFF                 OFF               Single
                                                 ON                 RESIN              Width
                                                RESIN             INT0                10.000us
                                                RESET               HOLD               PERiod
                                                HOLD                 NMI                0.000
                                                HLDA               EINT0+
                                                PULS               EINT0-             Vector
                                                                   VINT0+            33 (051.)
                                                                   VINT0-
     EINT0-            The pulse generator is directly connected to the interrupt pin. A high to low
                       pulse is generated. No interrupt vector is supplied by the simulation logic (Fully
                       nested mode).
     VINT0+            The pulse generator is directly connected to the interrupt pin. A low to high
                       pulse is generated. All IACK cycles are supplied with the interrupt vector
                       defined by the eXception.Vector field.
     VINT0-            The pulse generator is directly connected to the interrupt pin. A high to low
                       pulse is generated. All IACK cycles are supplied with the interrupt vector
                       defined by the eXception.Vector field.
<vector>: 0. … 255.
Every trap can be used as a separate trigger point. Trap trigger is detected by accessing the vector table!
   The probe supports refresh operation in realtime emulation, but the refresh function is stopped when
   emulation stops and starts again on realtime emulation. The CDRAM register value must be 40H (80H
   C188) at minimum! When emulation is stopped, the REFresh system of the emulator has to generate valid
   refresh cycles for the target system. Refresh doesn't work together with the Request access mode. Use
   Denied or Nodelay access mode in this case.
FPU
Format: FPU.ON
Format: FPU.OFF
Format: FPU.RESet
Format: FPU.view
view Display window. The display is only updated, if the FPU is in idle state
FPU commands
   E::w.fpu
   IM I IE      _   C0   _     CW 037F        ST(0)    1.2                            3FFF.999999999999
   DM D DE      _   C1   _     SW 3000        ST(1)    3.4                            4000.D99999999999
   ZM Z ZE      _   C2   _     TW 0FFF        ST(2)    NAN                            FFFF.C00000000000
   OM O OE      _   C3   _     TOP   6        ST(3)    NAN                            FFFF.C00000000000
   UM U UE      _   B    _                    ST(4)    NAN                            FFFF.C00000000000
   PM P PE      _              OPC 0106       ST(5)    NAN                            FFFF.C00000000000
   PC S SF      _   IP         00000B00       ST(6)    NAN                            FFFF.C00000000000
   RC C ES      _   OP         00010280       ST(7)    NAN                            FFFF.C00000000000
      9       7   5   3    1
     10       8   6   4    2
          1               CLK         2               GND
          3               RQ/GT0-     4               GND
          5               RQ/GT1-     6               GND
          7               INT         8               GND
          9               BUSY       10               GND
   Signals connected through 8087 on the 8086 emulator pod. For a description look under SYStem.Option
   FPU.
D Data
P Program
IO IO
ED Dualport Data
EP Dualport Program
A Absolute
AD Absolute Data
AP Absolute Program
AC Absolute CPU
EA Absolute Dualport
     IO:, AIO:, EIO:,           The I/O addressing is always absolute. The IO-Range is 64K. Upper
     EAIO:                      address bits are cut.
d.s IO:0x100 0x33 0x44 ; write 33H to port 100H and 44H to 101H
     A:, EA:                    Absolute addressing. The address parameter specifies the physically
                                address.
   The MMU setup is normally done by loading a program. The section-table of the object-file (segments,
   groups) is used to define the valid physical areas for the translation of physical addresses to logical
   addresses. For more detailed information see command MMU.
Segment Description
   Segment and offset are separated by a colon. If no segment is defined, the emulator will use the CS:
   segment for program related commands and the DS: segment for data related commands. The D: access
   class will force the usage of the DS: segment and the P: access class will force usage of the CS: segment.
   Banking as described in this chapter refers to address extension of 80x86 processors, not the internal
   segmentation of the 80x86 family. In banked systems the upper address lines are supplied by the external
   bank probe. Four additional lines offer 16 different memory banks. Accessing the different pages is done by
   adding an extra bank component to all logical addresses and extending all physical memory addresses to
   24 bit. The physical address bits A20 to A23 select the memory bank. Every command which makes a
   memory access first calls a special bank driver subroutine to select the temporary memory bank. On
   realtime emulation the bank number is traced on the upper four bits of the address bus. On a breakpoint the
   upper four bit of the address bus are stored to the bank number of the PP register (Program Pointer).
   This command loads the bank driver. The bank driver is a special subroutine to select the actual bank.
   Loading a special bank driver gives a maximum of flexibility to the user. A bank address delivered by the
   emulator may be used to set microcontroller ports or external MMUs in the target system. The bank file
   consists of a code number defining the bank operation mode and a code area which consists of a subroutine
   to set the correct bank state. The internal bank number is placed in register AL when calling the subroutine.
   The reason for the call is placed in AH. It can be initialization (0), read (1), write (2), or start execution (3).
   Writes to internal CPU ports may be executed directly, while ports in target systems must be accessed by a
   special system call (see end of this chapter). The internal bank address is placed in accu A when calling the
   subroutine. The PP (Program Pointer) register hold the logical 24-bit PC address. The translation between
   logical bank and physical bank (also for the common areas and I/O space) is done by the MMU command.
       <option>:            OFF
                            EXTernal
   On the 80x86 banking can only be done in external mode. External banked systems use a register or output
   pins of the CPU to generate the upper memory addresses. These lines must be feedback to the emulator
   with the bank probe (lines 0 to 3). Unused inputs of the bank probe must be grounded (or jumpered to
   ground pin).
This example selects the bank by writing the left shifted bank to io:204:
               shl al,1
               mov dx,204H                                    ;   set DX to io register
               call 0d30H                                     ;   subroutine to write byte to i/o
                                                              ;   DX is address, AL is data
               ret                                            ;   return
The following routines are available in the emulation control monitor to access external memory or i/o:
   A monitor extension is a piece of code that’s extending the emulation control monitor. The emulation monitor
   is responsible for starting and stopping the target program and accessing memory and registers when the
   target program is stopped. This monitor is running in a hidden memory inside the ECU unit. Extensions must
   be made available in a binary program. This program must be loaded before activating the emulation by the
   following command:
      Start Target        This part is executed before the target program is started. It can enable timers
                          in the target or reset watchdogs.
      Stop Target         This part is executed after the emulation in the target has stopped. It can
                          disable timers or external watchdogs.
      Read Memory         User specific memory read. Allows access to special memories, e.g. serial
                          connected EEPROMs. The access is made by the USR: memory class.
      Write Memory        User specific memory write. Allows write access to special memories, e.g.
                          programming EEPROM or FLASH memories. The access is made by the USR:
                          memory access class.
   For more details about the definition of the monitor extension and parameter passing see the example file
   './demo/i86/etc/monext.asm'.
   When the bus size of the processor is changed, an existing analyzer recording, sampled with a different bus
   size, will be displayed wrong.
   For not CPU-specific keywords, see non-declarable input variables in “ICE/FIRE Analyzer Trigger Unit
   Programming Guide” (analyzer_prog.pdf).
General Keywords
8086/8088/V20/V30MAX Keywords
8086/8088/V20/V30MIN Keywords
80(C)186(XL)/80(C)188(XL)/EA/EB/EC/EM/ES/ER/ED/CC Keywords
V40/V50MIN Keywords
Dequeueing
   The disassembled lines in the analyzer are displayed prior to the resulting data cycles. This dequeueing fails
   for commands which have not a constant number of data cycles. Long data sequences during REP SCAS
   or REP MOVS can cause missing mnemonics in the disassembly.
18xEM/ER 18xES/ED
    0                       TMRIN1/PIO0              TMRIN1/PIO0
    1                       TMROUT1/PIO1             TMROUT1/PIO1
    2                       PCS6/A2/PIO2             PCS6/A2/PIO2
    3                       PCS5/A1/PIO3             PCS5/A1/PIO3
    4                       DTR/PIO4                 DTR/PIO4
    5                       DEN/PIO5                 DEN/DS/PIO5
    6                       SRDY/PIO6                SRDY/PIO6
    7                       A17/PIO7                 A17/PIO7
    8                       A18/PIO8                 A18/PIO8
    9                       A19/PIO9                 A19/PIO9
    10                      TMROUT0/PIO10            TMROUT0/PIO10
    11                      TMRIN0/PIO11             TMRIN0/PIO11
    12                      DRQ0/PIO12               DRQ0/INT5/PIO12
    13                      DRQ1/PIO13               DRQ1/INT6/PIO13
    14                      MCS0/PIO14               MCS0/PIO14
    15                      MCS1/PIO15               MCS1/PIO15
16 PCS0/PIO16 PCS0/PIO16
    24                      MCS2/PIO24               MCS2/PIO24
    25                      MCS3/RFSH/PIO25          MCS3/RFSH/PIO25
    26                      UZI/PLLBYPS/PIO26        UZI/PLLBYPS/PIO26
    27                      TXD/PIO27                TXD1/PIO27
    28                      RXD/PIO28                RXD1/PIO28
    29                      S6/CLKDIV2/PIO29         S6/LOCK/CLKDIV2/PIO29
    30                      INT4/PIO30               INT4/PIO30
    31                      INT2/INTA0/PIO31         INT2/INTA0/PWD/PIO31
    25 23 21 19 17 15 13 11 9            7   5    3     1
    26 24 22 20 18 16 14 12 10           8   6    4     2
        1          A0               17            C0
        2          A1               18            C1
        3          A2               19            C2
        4          A3               20            C3
        5          A4               21            C4
        6          A5               22            C5
        7          A6               23            C6
        8          A7               24            C7
        9          B0               25            GND
        10         B1               26            GND
        11         B2
        12         B3
        13         B4
        14         B5
        15         B6
        16         B7
    15 13 11 9      7   5   3   1
    16 14 12 10     8   6   4   2
        1          A0               9             B0
        2          A1               10            B1
        3          A2               11            B2
        4          A3               12            B3
        5          A4               13            GND
        6          A5               14            GND
        7          A6               15            GND
        8          A7               16            GND
     9       7   5   3    1
    10       8   6   4    2
         1               A0       9            GND
         2               A1       10           GND
         3               A2
         4               A3
         5               A4
         6               A5
         7               A6
         8               A7
   The emulation probe is designed for running with CPU's up to 40 MHz. However the max. speed is limited by
   the CPU chip used in the emulator. TRACE32 modules are delivered with the fastest CPU available. The
   following values of emulation frequencies refer to the 'standalone' mode (memory is mapped internal).
Module Overview
    This list contains information on probes available for other voltage ranges. Probes not noted here supply an
    operation voltage range of 4.5 … 5.5 V.
Dimension
LA-7077 M-80186CC/CU/CH
    LA-6671   M-80C186XL
    LA-7070   M-80C188XL
    LA-7071   M-80C186EA
    LA-7072   M-80C188EA
cable (350)
                                           66
                                     80186/80188/XL/EA
                                                                             37
13
                            9
                      24
                                                 92
                                                      105
SIDE VIEW
PLCC 68
                                                                                   74
                                 1
22
14
    LA-6672   M-80C186EB
    LA-6697   M-80C186EB-3.3V
    LA-7075   M-80C188EB
    LA-6698   M-80C188EB-3.3V
cable (350)
                                             74
                                     80186EB/80188EB
                                                                                    37
13
                            9
                      24
                                                  99
                                                       112
SIDE VIEW
PLCC 84
                                                                                         74
                                                   1
19
16
    LA-6678   M-80C186EC
    LA-7076   M-80C188EC
cable (350)
                                         79
                                   80186EC/80188EC
                                                                                 37
13
                                              105
                                                117
SIDE VIEW
Female Connectors
                                        for
                                                                                      77
                                     ET-adapter
12
10
    LA-6696   M-80186EM
    LA-7090   M-80188EM
    LA-7091   M-80186ES
    LA-7092   M-80188ES
    LA-7093   M-80186ER
    LA-7094   M-80188ER
    LA-7099   M-80186ED
cable (400)
78
37
13
                                                  104
                                                  117
SIDE VIEW
                                        A
                                                      1
                                             B
                               A B                 A B
                                                                                      78
                                                  1
                                             B
                    14                  A
                         8
                              19
                               22
    LA-6673   M-V40
    LA-7095   M-V50
cable (350)
                                        74
                                    V40/V50
                                                                               37
13
                                              100
                                                 112
SIDE VIEW
PLCC 68
                                                                                    74
                              1
22
14
    LA-6677   M-8086
    LA-7096   M-8088
    LA-7097   M-V20
    LA-7098   M-V30
cable (350)
                                          74
                                  8086/88/V20/V30
                                                                              37
13
10 8087
                                              99
                                                   113
SIDE VIEW
target 8087
74
12
14
LA-6695 M-196EN
cable (400)
86
37
13
                                        111
                                        125
SIDE VIEW
78
13
                          13
                                  TOP VIEW (all dimensions in mm)
    LA-6674   M-196KB
    LA-7080   M-196KD
    LA-7081   M-196KC
    LA-7082   M-194
    LA-7083   M-198
cable (350)
65
37
13
                          9
                     26
                                                  92
                                                    105
SIDE VIEW
PLCC 68
74
                                              1
                     36
                                   PLCC 52
                          8
13
No adapters necessary !