Distributed by: www.Jameco.com ✦ 1-800-831-4242 The content and copyrights of the attached material are the property of its owner. Z80 Family

CPU User Manual

User Manual

80

=L/2*:RUOGZLGH+HDGTXDUWHUV ‡ (+DPLOWRQ$YHQXH ‡ &DPSEHOO&$  7HOHSKRQH ‡ )D[ ‡ ZZZ=L/2*FRP =&38 8VHU¶V0DQXDO

This publication is subject to replacement by a later edition. To determine whether a later edition exists, or to request copies of publications, contact:

ZiLOG Worldwide Headquarters 910 E. Hamilton Avenue Campbell, CA 95008 Telephone: 408.558.8500 Fax: 408.558.8300 www..com

Document Disclaimer ZiLOG is a registered trademark of ZiLOG Inc. in the and in other countries. All other products and/or service names mentioned herein may be trademarks of the companies with which they are associated. ©2001 by ZiLOG, Inc. All rights reserved. Information in this publication concerning the devices, applications, or technology described is intended to suggest possible uses and may be superseded. ZiLOG, INC. DOES NOT ASSUME LIABILITY FOR OR PROVIDE A REPRESENTATION OF ACCURACY OF THE INFORMATION, DEVICES, OR TECHNOLOGY DESCRIBED IN THIS DOCUMENT. ZiLOG ALSO DOES NOT ASSUME LIABILITY FOR INTELLECTUAL PROPERTY INFRINGEMENT RELATED IN ANY MANNER TO USE OF INFORMATION, DEVICES, OR TECHNOLOGY DESCRIBED HEREIN OR OTHERWISE. Except with the express written approval of ZiLOG, use of information, devices, or technology as critical components of life support systems is not authorized. No licenses are conveyed, implicitly or otherwise, by this document under any intellectual property rights.

80 =&38 8VHU¶V0DQXDO

LLL

Table of Contents

2YHUYLHZ $UFKLWHFWXUH                                                   &385HJLVWHUV $ULWKPHWLF/RJLF8QLW $/8  ,QVWUXFWLRQ5HJLVWHUDQG&38&RQWURO 3LQ 'HVFULSWLRQ                                                2YHUYLHZ 3LQ)XQFWLRQV  7LPLQJ                                                      2YHUYLHZ ,QVWUXFWLRQ)HWFK  0HPRU\5HDG2U:ULWH  ,QSXWRU2XWSXW&\FOHV %XV5HTXHVW$FNQRZOHGJH&\FOH ,QWHUUXSW5HTXHVW$FNQRZOHGJH&\FOH 1RQ0DVNDEOH,QWHUUXSW5HVSRQVH  +$/7([LW  3RZHU'RZQ$FNQRZOHGJH&\FOH  3RZHU'RZQ5HOHDVH&\FOH  ,QWHUUXSW 5HVSRQVH                                            2YHUYLHZ ,QWHUUXSW(QDEOH'LVDEOH &385HVSRQVH  +DUGZDUHDQG6RIWZDUH,PSOHPHQWDWLRQ([DPSOHV  +DUGZDUH                                                    0LQLPXP6\VWHP $GGLQJ5$0  0HPRU\6SHHG&RQWURO

80 7DEOHRI&RQWHQWV =&38 8VHU¶V0DQXDO

LY

,QWHUIDFLQJ'\QDPLF0HPRULHV   6RIWZDUH ,PSOHPHQWDWLRQ ([DPSOHV                              2YHUYLHZRI6RIWZDUH)HDWXUHV  ([DPSOHVRI6SHFLILF=,QVWUXFWLRQV   ([DPSOHVRI3URJUDPPLQJ7DVNV   =&38,QVWUXFWLRQ'HVFULSWLRQ  2YHUYLHZ   ,QVWUXFWLRQ7\SHV  $GGUHVVLQJ0RGHV  ,QVWUXFWLRQ2S&RGHV  =,QVWUXFWLRQ6HW  =$VVHPEO\/DQJXDJH  =6WDWXV,QGLFDWRU)ODJV  $GG6XEWUDFW)ODJ   =,QVWUXFWLRQ'HVFULSWLRQ   %LW/RDG*URXS   %LW/RDG*URXS   ([FKDQJH%ORFN7UDQVIHUDQG6HDUFK*URXS   %LW$ULWKPHWLF*URXS   *HQHUDO3XUSRVH$ULWKPHWLFDQG&38&RQWURO*URXSV   %LW$ULWKPHWLF*URXS   5RWDWHDQG6KLIW*URXS  %LW6HW5HVHWDQG7HVW*URXS   -XPS*URXS   &DOO$QG5HWXUQ*URXS   ,QSXWDQG2XWSXW*URXS  

7DEOHRI&RQWHQWV 80 <%27 7UGT U/CPWCN

X

List of Instructions

$'&$V  $'&+/VV  $''$ +/  $''$ ,;G  $''$ ,<G  $''$Q $''$U  $''+/VV  $'',;SS  $'',<UU $1'V  %,7E +/  %,7E ,;G  %,7E ,<G  %,7EU &$//FFQQ  &$//QQ &&) &3V &3' &3'5 &3,  &3,5  &3/ '$$ '(&,;  '(&,<  '(&P  '(&VV  ',  '-1=H

80 /LVWRI,QVWUXFWLRQV <%27 7UGT U/CPWCN

XK

(,   (; 63 +/   (; 63 ,;   (; 63 ,<   (;$)$)   (;'(+/  (;;  +$/7   ,0   ,0   ,0   ,1$ Q    ,1U &    ,1& +/    ,1& ,;G   ,1& ,<G   ,1&,;  ,1&,<  ,1&U  ,1&VV  ,1'  ,1'5   ,1,   ,1,5  -3 +/    -3 ,;    -3 ,<    -3FFQQ  -3QQ   -5 1& H  -5&H   -5H  -51=H  -5=H  

/LVWRI,QVWUXFWLRQV 80 <%27 7UGT U/CPWCN

XKK

/' %& $  /' '( $  /' +/ Q  /' +/ U /' ,;G Q /' ,;G U /' ,<G Q /' ,<G U /' QQ $  /' QQ GG  /' QQ +/  /' QQ ,;  /' QQ ,<  /'$ %&   /'$ '(   /'$ QQ   /'$, /'$5  /'GG QQ   /'GGQQ /'+/ QQ   /',$ /',; QQ   /',;QQ /',< QQ   /',<QQ /'U +/  /'U ,;G  /'U ,<G  /'5$  /'UU  /'UQ /'63+/  /'63,; 

80 /LVWRI,QVWUXFWLRQV <%27 7UGT U/CPWCN

XKKK

/'63,<  /''  /''5   /',   /',5  1(*  123  25V  27'5   27,5  287 & U   287 Q $   287'  287,   323,;   323,<   323TT  386+,;   386+,<   386+TT  5(6EP   5(7   5(7FF  5(7,   5(71   5/P  5/$  5/& +/    5/& ,;G   5/& ,<G   5/&U  5/&$   5/'  55P  

/LVWRI,QVWUXFWLRQV 80 <%27 7UGT U/CPWCN

KZ

55$  55&P  55&$  55'  567S  6%&$V  6%&+/VV  6&)  6(7E +/   6(7E ,;G   6(7E ,<G   6(7EU 6/$P 65$P  65/P 68%V  ;25V 

80 /LVWRI,QVWUXFWLRQV <%27 7UGT U/CPWCN

Z

/LVWRI,QVWUXFWLRQV 80 <%27 7UGT U/CPWCN

ZK

List of Figures

)LJXUH=&38%ORFN'LDJUDP  )LJXUH=&385HJLVWHU&RQILJXUDWLRQ )LJXUH=,23LQ&RQILJXUDWLRQ  )LJXUH%DVLF&387LPLQJ([DPSOH  )LJXUH,QVWUXFWLRQ2S&RGH)HWFK  )LJXUH0HPRU\5HDGRU:ULWH&\FOH  )LJXUH,QSXWRU2XWSXW&\FOHV  )LJXUH%XV5HTXHVW$FNQRZOHGJH&\FOH  )LJXUH,QWHUUXSW5HTXHVW$FNQRZOHGJH&\FOH  )LJXUH1RQ0DVNDEOH,QWHUUXSW5HTXHVW2SHUDWLRQ  )LJXUH+$/7([LW )LJXUH3RZHU'RZQ$FNQRZOHGJH  )LJXUH3RZHU'RZQ5HOHDVH&\FOH1R )LJXUH3RZHU'RZQ5HOHDVH&\FOH1R )LJXUH3RZHU'RZQ5HOHDVH&\FOH1R )LJXUH0RGH,QWHUUXSW5HVSRQVH0RGH )LJXUH0LQLPXP=&RPSXWHU6\VWHP )LJXUH520DQG5$0,PSOHPHQWDWLRQ )LJXUH$GGLQJ2QH:DLW6WDWHWRDQ0&\FOH )LJXUH$GGLQJ2QH:DLW6WDWHWR$Q\0HPRU\&\FOH  )LJXUH,QWHUIDFLQJ'\QDPLF5$0V  )LJXUH6KLIWLQJRI%&''LJLWV%\WHV 

80 /LVWRI)LJXUHV <%27 7UGT U/CPWCN

ZKK

/LVWRI)LJXUHV 80 <%27 7UGT U/CPWCN

ZKKK

List of Tables

7DEOH,QWHUUXSW(QDEOH'LVDEOH)OLS)ORSV  7DEOH%XEEOH/LVWLQJ  7DEOH0XOWLSO\/LVWLQJ 7DEOH+H[%LQDU\'HFLPDO&RQYHUVLRQ7DEOH 7DEOH%LW/RDG*URXS/'  7DEOH%LW/RDG*URXS/'386+DQG323 7DEOH([FKDQJHV(;DQG(;; 7DEOH%ORFN7UDQVIHU*URXS 7DEOH%ORFN6HDUFK*URXS 7DEOH%LW$ULWKPHWLFDQG/RJLF 7DEOH*HQHUDO3XUSRVH$)2SHUDWLRQ  7DEOH%LW$ULWKPHWLF 7DEOH5RWDWHVDQG6KLIWV  7DEOH%LW0DQLSXODWLRQ*URXS 7DEOH-XPS&DOODQG5HWXUQ*URXS  7DEOH5HVWDUW*URXS 7DEOH,QSXW*URXS 7DEOH%LW$ULWKPHWLFDQG/RJLF 7DEOH0LVFHOODQHRXV&38&RQWURO 

80 /LVWRI7DEOHV <%27 7UGT U/CPWCN

ZKX

/LVWRI7DEOHV 80 =&38 8VHU¶V0DQXDO

[Y

0DQXDO2EMHFWLYHV

This user manual describes the architecture and instruction set of the Z80 CPU.

$ERXW7KLV0DQXDO

ZiLOG recommends that the user read and understand everything in this manual before setting up and using the product. However, we recognize that users have different styles of learning: some will want to set up and use their new evaluation kit while they read about it; others will open these pages only to check on a particular specification. Therefore, we have designed this manual to be used either as a how to procedural manual or a reference guide to important data.

,QWHQGHG$XGLHQFH

This document is written for ZiLOG customers who are experienced at working with or in writing assembly code or compilers.

0DQXDO2UJDQL]DWLRQ

The Z80 CPU User’s Manual is divided into four chapters.

2YHUYLHZ Presents an overview of the User’s Manual Architecture, Pin descriptions, timing and Response.

+DUGZDUHDQG6RIWZDUH,PSOHPHQWDWLRQ Presents examples of the User’s Manual hardware and software.

80 0DQXDO2EMHFWLYHV 8VHU¶V0DQXDO =&38

[YL

=&38,QVWUXFWLRQ'HVFULSWLRQ Presents the User’s Manual instruction types, addressing modes and instruction Op Codes.

=,QVWUXFWLRQ6HW Presents an overview of the User’s Manual assenbly language, status indicator flags and the Z80 instructions.

5HODWHG'RFXPHQWV

Part Number Title DC number Part Number Title DC number Part Number Title DC number

0DQXDO&RQYHQWLRQV

The following assumptions and conventions are adopted to provide clarity and ease of use:

8VHRIWKH:RUGV6HWDQG&OHDU The words set and clear imply that a register bit or a condition contains the values logical 1 and logical 0, respectively. When either of these terms is followed by a number, the word logical may not be included, but it is implied.

1RWDWLRQIRU%LWVDQG6LPLODU5HJLVWHUV A field of bits within a register is designated as: Register (n–n). For example: PWM_CR (31–20). A field of bits within a bus is designated as: Busn–n. For example: PCntl7–4. A range of similar (whole) registers is designated as: Registern–Registern. For example: OPBCS5–OPBCS0.

80 0DQXDO2EMHFWLYHV =&38 8VHU¶V0DQXDO

[YLL

8VHRIWKH7HUPV/6%DQG06% In this document, the terms LSB and MSB, when appearing in upper case, mean least significant byte and most significant byte, respectively. The lowercase forms, msb and lsb, mean least significant bit and most significant bit, respectively.

&RXULHU)RQW Commands, code lines and fragments, register (and other) mnemonics, values, equations, and various executable items are distinguished from general text by the use of the Courier font. This convention is not used within tables. For example: The STP bit in the CNTR register must be 1. Where the use of the font is not possible, as in the Index, the name of the entity is presented in upper case.

+H[DGHFLPDO9DOXHV'HVLJQDWHGE\+ Hexadecimal values are designated by a uppercase H and appear in the Courier typeface. For example: STAT is set to F8H.

8VHRI$OO8SSHUFDVH/HWWHUV The use of all uppercase letters designates the names of states and commands. For example: The receiver can force the SCL line to Low to force the transmitter into a WAIT state. The bus is considered BUSY after the Start condition. A START command triggers the processing of the initialization sequence.

8VHRI,QLWLDO8SSHUFDVH/HWWHUV Initial uppercase letters designate settings, modes, and conditions in general text. For example: The Slave receiver leaves the data line High. In Transmit mode, the byte is sent most significant bit first. The Master can generate a Stop condition to abort the transfer.

0DQXDO2EMHFWLYHV 80 8VHU¶V0DQXDO =&38

[YLLL

5HJLVWHU$FFHVV$EEUHYLDWLRQV Register access is designated by the following abbreviations:

Designation Description R Read Only R/W Read/Write WWrite Only – Unspecified or indeterminate

7UDGHPDUNV

Z80, Z180, Z380 and Z80382 are trademarks of ZiLOG, Inc.

80 0DQXDO2EMHFWLYHV <%27 7UGT U/CPWCN



2YHUYLHZ

$5&+,7(&785(

The CPU family of components are fourth-generation enhanced microprocessors with exceptional computational power. They offer higher system throughput and more efficient memory utilization than comparable second- and third-generation microprocessors. The speed offerings from 6–20 MHz suit a wide range of applications which migrate software. The internal registers contain 208 bits of read/write memory that are accessible to the programmer. These registers include two sets of six general purpose registers which may be used individually as either 8-bit registers or as 16-bit register pairs. In addition, there are two sets of and flag registers. The Z80 CPU also contains a Stack Pointer, , two index registers, a REFRESH register, and an INTERRUPT register. The CPU is easy to incorporate into a system since it requires only a single +5V power source. All output signals are fully decoded and timed to control standard memory or peripheral circuits; the Z80 CPU is supported by an extensive family of peripheral controllers. Figure 1 illustrates the internal architecture and major elements of the Z80 CPU.

80 2YHUYLHZ <%27 7UGT U/CPWCN



'DWDÃ%XV &RQWURO

,QVW ,QWHUQDOÃ'DWDÃ%XV $/8 ,QVWUXFWLRQÃ'HFRGH 5HJLVWHU DQG &38Ã&RQWURO  &38ÃDQG 6\VWHP &38 &38 &RQWURO &RQWURO 5HJLVWHUV 6LJQDOV

$GGUHVV &RQWURO

%LW 9Ã*1'Ã&/. $GGUHVVÃ%XV

)LJXUH =&38%ORFN'LDJUDP

&385HJLVWHUV

The Z80 CPU contains 208 bits of R/W memory that are available to the programmer. Figure 2 illustrates how this memory is configured to eighteen 8-bit registers and four 16-bit registers. All Z80 registers are implemented using static RAM. The registers include two sets of six general-purpose registers that may be used individually as 8-bit registers or in pairs as 16-bit registers. There are also two sets of accumulator and flag registers and six special-purpose registers.

80 2YHUYLHZ <%27 7UGT U/CPWCN



0DLQÃ5HJLVWHUÃ6HW $OWHUQDWHÃ5HJLVWHUÃ6HW

$FFXPXODWRU )ODJV $FFXPXODWRU )ODJV $ ) $Ã )Ã %&%Ã %Ã *HQHUDO '('Ã (Ã 3XUSRVH 5HJLVWHUV + /+Ã /Ã

,QWHUUXSWÃ9HFWRU 0HPRU\Ã5HIUHVK , 5 ,QGH[Ã5HJLVWHUÃ ,; 6SHFLDO ,QGH[Ã5HJLVWHU ,< 3XUSRVH 5HJLVWHUV 6WDFNÃ3RLQWHU 63 3URJUDPÃ&RXQWHU 3&

)LJXUH =&385HJLVWHU&RQILJXUDWLRQ

6SHFLDO3XUSRVH5HJLVWHUV

3URJUDP&RXQWHU 3& The program counter holds the 16-bit address of the current instruction being fetched from memory. The PC is automatically incremented after its contents have been transferred to the address lines. When a program jump occurs, the new value is automatically placed in the PC, overriding the incrementer.

6WDFN3RLQWHU 63 The stack pointer holds the 16-bit address of the current top of a stack located anywhere in external system RAM memory. The external stack memory is organized as a last-in first-out (LIFO) file. Data can be pushed onto the stack from specific CPU registers or popped off of the stack to specific CPU registers through the execution of PUSH and POP instructions. The data popped from the stack is always the last data pushed onto it. The

80 2YHUYLHZ <%27 7UGT U/CPWCN



stack allows simple implementation of multiple level , unlimited subroutine nesting and simplification of many types of data manipulation.

7ZR,QGH[5HJLVWHUV ,;DQG,< The two independent index registers hold a 16-bit base address that is used in indexed addressing modes. In this mode, an is used as a base to point to a region in memory from which data is to be stored or retrieved. An additional byte is included in indexed instructions to specify a displacement from this base. This displacement is specified as a two’s complement signed integer. This mode of addressing greatly simplifies many types of programs, especially where tables of data are used.

,QWHUUXSW3DJH$GGUHVV5HJLVWHU , The Z80 CPU can be operated in a mode where an indirect call to any memory location can be achieved in response to an interrupt. The I register is used for this purpose and stores the high order eight bits of the indirect address while the interrupting device provides the lower eight bits of the address. This feature allows interrupt routines to be dynamically located anywhere in memory with minimal access time to the routine.

0HPRU\5HIUHVK5HJLVWHU 5 The Z80 CPU contains a counter, enabling dynamic memories to be used with the same ease as static memories. Seven bits of this 8-bit register are automatically incremented after each instruction fetch. The eighth bit remains as programmed, resulting from an LD R, A instruction. The data in the refresh counter is sent out on the lower portion of the address bus along with a refresh control signal while the CPU is decoding and executing the fetched instruction. This mode of refresh is transparent to the programmer and does not slow the CPU operation. The programmer can load the R register for testing purposes, but this register is normally not used by the programmer. During refresh, the contents of the I register are placed on the upper eight bits of the address bus.

80 2YHUYLHZ <%27 7UGT U/CPWCN



$FFXPXODWRUDQG)ODJ5HJLVWHUV

The CPU includes two independent 8-bit accumulators and associated 8- bit flag registers. The accumulator holds the results of 8-bit arithmetic or logical operations while the FLAG register indicates specific conditions for 8-bit or 1 16-bit operations, such as indicating whether or not the result of an operation is equal to zero. The programmer selects the accumulator and flag pair with a single exchange instruction so that it is possible to work with either pair.

*HQHUDO3XUSRVH5HJLVWHUV

Two matched sets of general-purpose registers, each set containing six 8-bit registers, may be used individually as 8-bit registers or as 16-bit register pairs. One set is called BC, DE, and HL while the complementary set is called BC’, DE’, and HL’. At any one time, the programmer can select either set of registers to work through a single exchange command for the entire set. In systems that require fast interrupt response, one set of general-purpose registers and an ACCUMULATOR/FLAG register may be reserved for handling this fast routine. One exchange command is executed to switch routines. This greatly reduces interrupt service time by eliminating the requirement for saving and retrieving register contents in the external stack during interrupt or subroutine processing. These general-purpose registers are used for a wide range of applications. They also simplify programing, specifically in ROM-based systems where little external read/write memory is available.

$ULWKPHWLF/RJLF8QLW $/8

The 8-bit arithmetic and logical instructions of the CPU are executed in the ALU. Internally, the ALU communicates with the registers and the external data bus by using the internal data bus. Functions performed by the ALU include:

80 2YHUYLHZ <%27 7UGT U/CPWCN



• Add • Subtract • Logical AND • Logical OR • Logical Exclusive OR • Compare • Left or Right Shifts or Rotates (Arithmetic and Logical) • Increment • Decrement • Set Bit • Reset Bit • Test bit

,QVWUXFWLRQ5HJLVWHUDQG&38&RQWURO

As each instruction is fetched from memory, it is placed in the INSTRUCTION register and decoded. The control sections performs this function and then generates and supplies the control signals necessary to read or write data from or to the registers, control the ALU, and provide required external control signals.

3,1'(6&5,37,21

2YHUYLHZ

The Z80 CPU I/O pins are illustrated in Figure 3 and the function of each is described in the following paragraphs.

80 2YHUYLHZ <%27 7UGT U/CPWCN



27 30 M1 A0 31 A1 19 MREQ 32 A2 20 33 System IORQ A3 21 34 Control RD A4 22 35 WR A5 36 A6 28 37 RFSH A7 Address 38 A8 Bus 18 HALT 39 A9 40 A10 24 1 WAIT A11 2 CPU A12 16 Z80 CPU 3 Control INT A13 17 4 NMI A14 5 A15 26 RESET 25 CPU BUSRQ Bus 23 BUSACK Control 14 D0 15 D1 6 12 CLK D2 11 8 +5V D3 Data 29 7 GND D4 Bus 9 D5 10 D6 13 D7

)LJXUH =,23LQ&RQILJXUDWLRQ

3LQ)XQFWLRQV

$±$ Address Bus (output, active High, tristate). A15-A0 form a 16-bit address bus. The Address Bus provides the address for memory data bus exchanges (up to 64 Kbytes) and for I/O device exchanges.

80 2YHUYLHZ <%27 7UGT U/CPWCN



%86$&> Bus Acknowledge (output, active Low). Bus Acknowledge indicates to the requesting device that the CPU address bus, data bus, and control signals MREQ, IORQ RD, and WR have entered their high-impedance states. The external circuitry can now control these lines.

%865(4 Bus Request (input, active Low). Bus Request has a higher priority than NMI and is always recognized at the end of the current machine cycle. BUSREQ forces the CPU address bus, data bus, and control signals MREQ IORQ, RD, and WR to go to a high-impedance state so that other devices can control these lines. BUSREQ is normally wired-OR and requires an external pull-up for these applications. Extended BUSREQ periods due to extensive DMA operations can prevent the CPU from properly refreshing dynamic RAMS.

'±' Data Bus (input/output, active High, tristate). D7–D0 constitute an 8-bit bidirectional data bus, used for data exchanges with memory and I/O.

+$/7 HALT State (output, active Low). HALT indicates that the CPU has executed a HALT instruction and is waiting for either a non-maskable or a maskable interrupt (with the mask enabled) before operation can resume. During HALT, the CPU executes NOPs to maintain memory refresh.

,17 Interrupt Request (input, active Low). Interrupt Request is generated by I/O devices. The CPU honors a request at the end of the current instruction if the internal software-controlled interrupt enable flip-flop (IFF) is enabled. INT is normally wired-OR and requires an external pull-up for these applications.

80 2YHUYLHZ <%27 7UGT U/CPWCN



,254 Input/Output Request (output, active Low, tristate). IORQ indicates that the lower half of the address bus holds a valid I/O address for an I/O read or write operation. IORQ is also generated concurrently with M1 during an interrupt acknowledge cycle to indicate that an interrupt response vector can be placed on the data bus.

0 Machine Cycle One (output, active Low). M1, together with MREQ, indicates that the current machine cycle is the opcode fetch cycle of an instruction execution. M1 together with IORQ, indicates an interrupt acknowledge cycle.

05(4 Memory Request (output, active Low, tristate). MREQ indicates that the address bus holds a valid address for a memory read of memory write operation.

10, Non-Maskable Interrupt (input, negative edge-triggered). NMI has a higher priority than INT. NMI is always recognized at the end of the current instruction, independent of the status of the interrupt enable flip- flop, and automatically forces the CPU to restart at location 0066H.

5' Read (output, active Low, tristate). RD indicates that the CPU wants to read data from memory or an I/O device. The addressed I/O device or memory should use this signal to gate data onto the CPU data bus.

5(6(7 Reset (input, active Low). RESET initializes the CPU as follows: it resets the interrupt enable flip-flop, clears the PC and registers I and R, and sets

80 2YHUYLHZ <%27 7UGT U/CPWCN



the interrupt status to Mode 0. During reset time, the address and data bus go to a high-impedance state, and all control output signals go to the inactive state. Notice that RESET must be active for a minimum of three full clock cycles before the reset operation is complete.

5)6+ Refresh (output, active Low). RFSH, together with MREQ indicates that the lower seven bits of the system’s address bus can be used as a refresh address to the system’s dynamic memories.

:$,7 WAIT (input, active Low). WAIT communicates to the CPU that the addressed memory or I/O devices are not ready for a data transfer. The CPU continues to enter a WAIT state as long as this signal is active. Extended WAIT periods can prevent the CPU from properly refreshing dynamic memory.

:5 Write (output, active Low, tristate). WR indicates that the CPU data bus holds valid data to be stored at the addressed memory or I/O location.

&/> Clock (input). Single-phase MOS-level clock.

80 2YHUYLHZ <%27 7UGT U/CPWCN



7,0,1*

2YHUYLHZ

7KH=&38H[HFXWHVLQVWUXFWLRQVE\VWHSSLQJWKURXJKDSUHFLVHVHWRI EDVLFRSHUDWLRQV7KHVHLQFOXGH • Memory Read or Write • I/O Device Read or Write • Interrupt Acknowledge $OOLQVWUXFWLRQVDUHVHULHVRIEDVLFRSHUDWLRQV(DFKRIWKHVHRSHUDWLRQV FDQWDNHIURPWKUHHWRVL[FORFNSHULRGVWRFRPSOHWHRUWKH\FDQEH OHQJWKHQHGWRV\QFKURQL]HWKH&38WRWKHVSHHGRIH[WHUQDOGHYLFHV7KH FORFNSHULRGVDUHUHIHUUHGWRDV7 WLPH F\FOHVDQGWKHRSHUDWLRQVDUH UHIHUUHGWRDV0 PDFKLQH F\FOHV)LJXUH LOOXVWUDWHVKRZDW\SLFDO LQVWUXFWLRQLVVHULHVRIVSHFLILF0DQG7F\FOHV1RWLFHWKDWWKLVLQVWUXFWLRQ FRQVLVWVRIWKUHHPDFKLQHF\FOHV 00DQG0 7KHILUVWPDFKLQH F\FOHRIDQ\LQVWUXFWLRQLVDIHWFKF\FOHZKLFKLVIRXUILYHRUVL[7F\FOHV ORQJ XQOHVVOHQJWKHQHGE\WKH:$,7VLJQDOZKLFKLVGHVFULEHGLQWKH QH[WVHFWLRQ 7KHIHWFKF\FOH 0 LVXVHGWRIHWFKWKHRSFRGHRIWKHQH[W LQVWUXFWLRQWREHH[HFXWHG6XEVHTXHQWPDFKLQHF\FOHVPRYHGDWD EHWZHHQWKH&38DQGPHPRU\RU,2GHYLFHVDQGWKH\PD\KDYH DQ\ZKHUHIURPWKUHHWRILYH7F\FOHV DJDLQWKH\PD\EHOHQJWKHQHGE\ ZDLWVWDWHVWRV\QFKURQL]HWKHH[WHUQDOGHYLFHVWRWKH&38 7KHIROORZLQJ SDUDJUDSKVGHVFULEHWKHWLPLQJZKLFKRFFXUVZLWKLQDQ\RIWKHEDVLF PDFKLQHF\FOHV 'XULQJ7DQGHYHU\VXEVHTXHQW7ZWKH&38VDPSOHVWKH:$,7OLQH ZLWKWKHIDOOLQJHGJHRI&ORFN,IWKH:$,7OLQHLVDFWLYHDWWKLVWLPH DQRWKHU:$,7VWDWHLVHQWHUHGGXULQJWKHIROORZLQJF\FOH8VLQJWKLV WHFKQLTXHWKHUHDGFDQEHOHQJWKHQHGWRPDWFKWKHDFFHVVWLPHRIDQ\ W\SHRIPHPRU\GHYLFH

80 2YHUYLHZ <%27 7UGT U/CPWCN



7Ã&\FOH

&/. 777 7 7 7 7 7 7

0DFKLQHÃ&\FOH 0 0 0 2SFRGHÃ)HWFK 0HPRU\Ã5HDG 0HPRU\Ã:ULWH

,QVWUXFWLRQÃ&\FOH

)LJXUH %DVLF&387LPLQJ([DPSOH

,QVWUXFWLRQ)HWFK

)LJXUH GHSLFWVWKHWLPLQJGXULQJDQ0 RSFRGHIHWFK F\FOH7KH3&LV SODFHGRQWKHDGGUHVVEXVDWWKHEHJLQQLQJRIWKH0F\FOH2QHKDOIFORFN F\FOHODWHUWKH05(4VLJQDOJRHVDFWLYH$WWKLVWLPHWKHDGGUHVVWRWKH PHPRU\KDVKDGWLPHWRVWDELOL]HVRWKDWWKHIDOOLQJHGJHRI05(4FDQEH XVHGGLUHFWO\DVDFKLSHQDEOHFORFNWRG\QDPLFPHPRULHV7KH5'OLQHDOVR JRHVDFWLYHWRLQGLFDWHWKDWWKHPHPRU\UHDGGDWDVKRXOGEHHQDEOHGRQWR WKH&38GDWDEXV7KH&38VDPSOHVWKHGDWDIURPWKHPHPRU\RQWKHGDWD EXVZLWKWKHULVLQJHGJHRIWKHFORFNRIVWDWH7DQGWKLVVDPHHGJHLVXVHG E\WKH&38WRWXUQRIIWKH5'DQG05(4VLJQDOV7KXVWKHGDWDKDV DOUHDG\EHHQVDPSOHGE\WKH&38EHIRUHWKH5'VLJQDOEHFRPHVLQDFWLYH &ORFNVWDWH7DQG7RIDIHWFKF\FOHDUHXVHGWRUHIUHVKG\QDPLF PHPRULHV7KH&38XVHVWKLVWLPHWRGHFRGHDQGH[HFXWHWKHIHWFKHG LQVWUXFWLRQVRWKDWQRRWKHURSHUDWLRQFRXOGEHSHUIRUPHGDWWKLVWLPH 'XULQJ7DQG7WKHORZHUVHYHQELWVRIWKHDGGUHVVEXVFRQWDLQDPHPRU\ UHIUHVKDGGUHVVDQGWKH5)6+VLJQDOEHFRPHVDFWLYHWLQGLFDWLQJWKDWD UHIUHVKUHDGRIDOOG\QDPLFPHPRULHVPXVWEHDFFRPSOLVKHG$Q5'VLJQDO LVQRWJHQHUDWHGGXULQJUHIUHVKWLPHWRSUHYHQWGDWDIURPGLIIHUHQWPHPRU\

80 2YHUYLHZ <%27 7UGT U/CPWCN



VHJPHQWVIURPEHLQJJDWHGRQWRWKHGDWDEXV7KH05(4VLJQDOGXULQJ UHIUHVKWLPHVKRXOGEHXVHGWRSHUIRUPDUHIUHVKUHDGRIDOOPHPRU\ HOHPHQWV7KHUHIUHVKVLJQDOFDQQRWEHXVHGE\LWVHOIEHFDXVHWKHUHIUHVK DGGUHVVLVRQO\JXDUDQWHHGWREHVWDEOHGXULQJ05(4WLPH

M1 Cycle

T1 T2 T3 T4 T1

CLK

A15 — A0 PC Refresh Address

MREQ

RD

WAIT

M1

D7 — D0 IN

RFSH

)LJXUH ,QVWUXFWLRQ2S&RGH)HWFK

0HPRU\5HDG2U:ULWH

)LJXUH LOOXVWUDWHVWKHWLPLQJRIPHPRU\UHDGRUZULWHF\FOHVRWKHUWKDQ DQ2S&RGHIHWFKF\FOH7KHVHF\FOHVDUHJHQHUDOO\WKUHHFORFNSHULRGV ORQJXQOHVVZDLWVWDWHVDUHUHTXHVWHGE\WKHPHPRU\WKURXJKWKH:$,7 VLJQDO7KH05(4VLJQDODQGWKH5'VLJQDODUHXVHGWKHVDPHDVLQWKH IHWFKF\FOH,QDPHPRU\ZULWHF\FOHWKH05(4DOVREHFRPHVDFWLYH ZKHQWKHDGGUHVVEXVLVVWDEOHVRWKDWLWFDQEHXVHGGLUHFWO\DVDFKLS HQDEOHIRUG\QDPLFPHPRULHV7KH:5OLQHLVDFWLYHZKHQGDWDRQWKH

80 2YHUYLHZ <%27 7UGT U/CPWCN



GDWDEXVLVVWDEOHVRWKDWLWFDQEHXVHGGLUHFWO\DVD5:SXOVHWRYLUWXDOO\ DQ\W\SHRIVHPLFRQGXFWRUPHPRU\)XUWKHUPRUHWKH:5VLJQDOJRHV LQDFWLYHRQHKDOI7VWDWHEHIRUHWKHDGGUHVVDQGGDWDEXVFRQWHQWVDUH FKDQJHGVRWKDWWKHRYHUODSUHTXLUHPHQWVIRUDOPRVWDQ\W\SHRI VHPLFRQGXFWRUPHPRU\W\SHLVPHW

Memory Read Cycle Memory Write Cycle

T2 T3 T1 T2 T3

CLK

A15 — A0 Memory Address Memory Address

MREQ

RD

WR

In D7 — D0 Data Out

WAIT

)LJXUH 0HPRU\5HDGRU:ULWH&\FOH

,QSXWRU2XWSXW&\FOHV

)LJXUH LOOXVWUDWHVDQ,2UHDGRU,2ZULWHRSHUDWLRQ'XULQJ,2 RSHUDWLRQVDVLQJOHZDLWVWDWHLVDXWRPDWLFDOO\LQVHUWHG7KHUHDVRQLVWKDW GXULQJ,2RSHUDWLRQVWKHWLPHIURPZKHQWKH,254VLJQDOJRHVDFWLYH XQWLOWKH&38PXVWVDPSOHWKH:$,7OLQHLVYHU\VKRUW:LWKRXWWKLVH[WUD VWDWHVXIILFLHQWWLPHGRHVQRWH[LVWIRUDQ,2SRUWWRGHFRGHLWVDGGUHVV DQGDFWLYDWHWKH:$,7OLQHLIDZDLWLVUHTXLUHG$OVRZLWKRXWWKLVZDLW VWDWHLWLVGLIILFXOWWRGHVLJQ026,2GHYLFHVWKDWFDQRSHUDWHDWIXOO&38 VSHHG'XULQJWKLVZDLWVWDWHWLPHWKH:$,7UHTXHVWVLJQDOLVVDPSOHG

80 2YHUYLHZ <%27 7UGT U/CPWCN



'XULQJDUHDG,2RSHUDWLRQWKH5'OLQHLVXVHGWRHQDEOHWKHDGGUHVVHG SRUWRQWRWKHGDWDEXVMXVWDVLQWKHFDVHRIDPHPRU\UHDG)RU,2ZULWH RSHUDWLRQVWKH:5OLQHLVXVHGDVDFORFNWRWKH,2SRUW

T1 T2 TW* T3 T1

CLK

A15 — A0 Port Address

IORQ

RD Read Cycle D7 — D0 In

WAIT

WR Write Cycle D7 — D0 Out

*Automatically inserted WAIT state

)LJXUH ,QSXWRU2XWSXW&\FOHV

%XV5HTXHVW$FNQRZOHGJH&\FOH

)LJXUH LOOXVWUDWHVWKHWLPLQJIRUD%XV5HTXHVW$FNQRZOHGJHF\FOH7KH %865(4VLJQDOLVVDPSOHGE\WKH&38ZLWKWKHULVLQJHGJHRIWKHODVW FORFNSHULRGRIDQ\PDFKLQHF\FOH,IWKH%865(4VLJQDOLVDFWLYHWKH &38VHWVLWVDGGUHVVGDWDDQGWULVWDWHFRQWUROVLJQDOVWRWKHKLJKLPSHGDQFH VWDWHZLWKWKHULVLQJHGJHRIWKHQH[WFORFNSXOVH$WWKDWWLPHDQ\H[WHUQDO GHYLFHFDQFRQWUROWKHEXVHVWRWUDQVIHUGDWDEHWZHHQPHPRU\DQG,2 GHYLFHV 7KLVRSHUDWLRQLVJHQHUDOO\NQRZQDV'LUHFW0HPRU\$FFHVV >'0$@XVLQJF\FOHVWHDOLQJ 7KHPD[LPXPWLPHIRUWKH&38WRUHVSRQGWR DEXVUHTXHVWLVWKHOHQJWKRIDPDFKLQHF\FOHDQGWKHH[WHUQDOFRQWUROOHUFDQ

80 2YHUYLHZ <%27 7UGT U/CPWCN



PDLQWDLQFRQWURORIWKHEXVIRUDVPDQ\FORFNF\FOHVDVLVUHTXLUHG,IYHU\ ORQJ'0$F\FOHVDUHXVHGDQGG\QDPLFPHPRULHVDUHXVHGWKHH[WHUQDO FRQWUROOHUDOVRSHUIRUPVWKHUHIUHVKIXQFWLRQ7KLVVLWXDWLRQRQO\RFFXUVLI YHU\ODUJHEORFNVRIGDWDDUHWUDQVIHUUHGXQGHU'0$FRQWURO'XULQJDEXV UHTXHVWF\FOHWKH&38FDQQRWEHLQWHUUXSWHGE\HLWKHUDQ10,RUDQ,17 VLJQDO

Any M Cycle Bus Available Status

Last T State TX TX TX T1

CLK

BUSREQ Sample Sample BUSACK

A15 — A0

D7 — D0

MREQ, RD WR. IORQ, Floating RFSH

)LJXUH %XV5HTXHVW$FNQRZOHGJH&\FOH

,QWHUUXSW5HTXHVW$FNQRZOHGJH&\FOH

)LJXUH LOOXVWUDWHVWKHWLPLQJDVVRFLDWHGZLWKDQLQWHUUXSWF\FOH7KH&38 VDPSOHVWKHLQWHUUXSWVLJQDO ,17 ZLWKWKHULVLQJHGJHRIWKHODVWFORFNDW WKHHQGRIDQ\LQVWUXFWLRQ7KHVLJQDOLVQRWDFFHSWHGLIWKHLQWHUQDO&38 VRIWZDUHFRQWUROOHGLQWHUUXSWHQDEOHIOLSIORSLVQRWVHWRULIWKH%865(4 VLJQDOLVDFWLYH:KHQWKHVLJQDOLVDFFHSWHGDVSHFLDO0F\FOHLV JHQHUDWHG'XULQJWKLVVSHFLDO0F\FOHWKH,254VLJQDOEHFRPHVDFWLYH LQVWHDGRIWKHQRUPDO05(4 WRLQGLFDWHWKDWWKHLQWHUUXSWLQJGHYLFHFDQ SODFHDQELWYHFWRURQWKHGDWDEXV7ZRZDLWVWDWHVDUHDXWRPDWLFDOO\ DGGHGWRWKLVF\FOH7KHVHVWDWHVDUHDGGHGVRWKDWDULSSOHSULRULW\LQWHUUXSW VFKHPHFDQEHHDVLO\LPSOHPHQWHG7KHWZRZDLWVWDWHVDOORZVXIILFLHQW

80 2YHUYLHZ <%27 7UGT U/CPWCN



WLPHIRUWKHULSSOHVLJQDOVWRVWDELOL]HDQGLGHQWLI\ZKLFK ,2GHYLFHPXVWLQVHUWWKHUHVSRQVHYHFWRU5HIHUWR&KDSWHUIRUGHWDLOVRQ KRZWKHLQWHUUXSWUHVSRQVHYHFWRULVXWLOL]HGE\WKH&38

Last M Cycle of Instruction M1

Last T State T1 T2 TW* TW* T3 CLK

INT

A15 — A0 PC Refresh

M1

MREQ

IORQ

D7 — D0 In

WAIT

RD

)LJXUH ,QWHUUXSW5HTXHVW$FNQRZOHGJH&\FOH

1RQ0DVNDEOH,QWHUUXSW5HVSRQVH

Figure 10 illustrates the request/acknowledge cycle for the non-maskable interrupt. This signal is sampled at the same time as the interrupt line, but this line takes priority over the normal interrupt and it can not be disabled under software control. Its usual function is to provide immediate response to important signals such as an impending power failure. The CPU response to a non-maskable interrupt is similar to a normal memory read operation. The only difference is that the content of the data bus is ignored while the processor automatically stores the PC in the external stack and jumps to location 0066H. The service routine for the non- maskable interrupt must begin at this location if this interrupt is used.

80 2YHUYLHZ <%27 7UGT U/CPWCN



Last M Cycle M1

T Last T State 1 T2 T3 T4 T1 CLK

NMI

A15 — A0 PC Refresh

M1

MREQ

RD

RFSH

)LJXUH 1RQ0DVNDEOH,QWHUUXSW5HTXHVW2SHUDWLRQ

+$/7([LW

:KHQHYHUDVRIWZDUH+$/7LQVWUXFWLRQLVH[HFXWHGWKH&38H[HFXWHV 123VXQWLODQLQWHUUXSWLVUHFHLYHG HLWKHUDQRQPDVNDEOHRUDPDVNDEOH LQWHUUXSWZKLOHWKHLQWHUUXSWIOLSIORSLVHQDEOHG 7KHWZRLQWHUUXSWOLQHV DUHVDPSOHGZLWKWKHULVLQJFORFNHGJHGXULQJHDFK7VWDWHDVGHSLFWHGLQ )LJXUH ,IDQRQPDVNDEOHLQWHUUXSWKDVEHHQUHFHLYHGRUDPDVNDEOH LQWHUUXSWKDVEHHQUHFHLYHGDQGWKHLQWHUUXSWHQDEOHIOLSIORSLVVHWWKHQWKH +$/7VWDWHLVH[LWHGRQWKHQH[WULVLQJFORFNHGJH7KHIROORZLQJF\FOHLV DQLQWHUUXSWDFNQRZOHGJHF\FOHFRUUHVSRQGLQJWRWKHW\SHRILQWHUUXSWWKDW ZDVUHFHLYHG,IERWKDUHUHFHLYHGDWWKLVWLPHWKHQWKHQRQPDVNDEOHRQH LVDFNQRZOHGJHGVLQFHLWKDVKLJKHVWSULRULW\7KHSXUSRVHRIH[HFXWLQJ 123LQVWUXFWLRQVZKLOHLQWKH+$/7VWDWHLVWRNHHSWKHPHPRU\UHIUHVK VLJQDOVDFWLYH(DFKF\FOHLQWKH+$/7VWDWHLVDQRUPDO0 IHWFK F\FOH H[FHSWWKDWWKHGDWDUHFHLYHGIURPWKHPHPRU\LVLJQRUHGDQGD123 LQVWUXFWLRQLVIRUFHGLQWHUQDOO\WRWKH&387KH+$/7DFNQRZOHGJHVLJQDO LVDFWLYHGXULQJWKLVWLPHLQGLFDWLQJWKDWWKHSURFHVVRULVLQWKH+$/7VWDWH

80 2YHUYLHZ <%27 7UGT U/CPWCN



M1 M1

T4 T1 T2 T3 T4 T1 T2

CLK

HALT RD or NMI HALT Instruction is repeated during this Memory Cycle

)LJXUH +$/7([LW

3RZHU'RZQ$FNQRZOHGJH&\FOH

:KHQWKHFORFNLQSXWWRWKH&026=&38LVVWRSSHGDWHLWKHUD+LJK RU/RZOHYHOWKH&026=&38VWRSVLWVRSHUDWLRQDQGPDLQWDLQVDOO UHJLVWHUVDQGFRQWUROVLJQDOV+RZHYHU,&& VWDQGE\VXSSO\FXUUHQW LV JXDUDQWHHGRQO\ZKHQWKHV\VWHPFORFNLVVWRSSHGDWD/RZOHYHOGXULQJ 7RIWKHPDFKLQHF\FOHIROORZLQJWKHH[HFXWLRQRIWKH+$/7LQVWUXFWLRQ 7KHWLPLQJGLDJUDPIRUWKHSRZHUGRZQIXQFWLRQZKHQLPSOHPHQWHG ZLWKWKH+$/7LQVWUXFWLRQLVVKRZQLQ)LJXUH 

T1 T2 T3 T4 T1 T2 T3 T4

CLK

M1

HALT

)LJXUH 3RZHU'RZQ$FNQRZOHGJH

80 2YHUYLHZ <%27 7UGT U/CPWCN



3RZHU'RZQ5HOHDVH&\FOH

7KHV\VWHPFORFNPXVWEHVXSSOLHGWRWKH&026=&38WRUHOHDVHWKH SRZHUGRZQVWDWH:KHQWKHV\VWHPFORFNLVVXSSOLHGWRWKH&/ILQSXW WKH&026=&38UHVWDUWVRSHUDWLRQVIURPWKHSRLQWDWZKLFKWKH SRZHUGRZQVWDWHZDVLPSOHPHQWHG7KHWLPLQJGLDJUDPVIRUWKHUHOHDVH IURPSRZHUGRZQPRGHDUHIHDWXUHGLQ)LJXUH DQG :KHQWKH+$/7LQVWUXFWLRQLVH[HFXWHGWRHQWHUWKHSRZHUGRZQVWDWH WKH&026=&38DOVRHQWHUVWKH+$/7VWDWH$QLQWHUUXSWVLJQDO HLWKHU10,RU$17 RUD5(6(7VLJQDOPXVWEHDSSOLHGWRWKH&38DIWHU WKHV\VWHPFORFNLVVXSSOLHGLQRUGHUWRUHOHDVHWKHSRZHUGRZQVWDWH

6 6 6 6 6 %.-

0/+

/

*#.6

)LJXUH 3RZHU'RZQ5HOHDVH&\FOH1R

T1 T2 T3 T4 CLK

RESET

M1

HALT

)LJXUH 3RZHU'RZQ5HOHDVH&\FOH1R

80 2YHUYLHZ <%27 7UGT U/CPWCN



T1 T2 T3 T4 T1 T2 TWA TWA CLK

INT

M1

HALT

)LJXUH 3RZHU'RZQ5HOHDVH&\FOH1R

80 2YHUYLHZ <%27 7UGT U/CPWCN



,17(558375(63216(

2YHUYLHZ

$QLQWHUUXSWDOORZVSHULSKHUDOGHYLFHVWRVXVSHQG&38RSHUDWLRQDQGIRUFH WKH&38WRVWDUWDSHULSKHUDOVHUYLFHURXWLQH7KLVVHUYLFHURXWLQHXVXDOO\ LQYROYHVWKHH[FKDQJHRIGDWDVWDWXVRUFRQWUROLQIRUPDWLRQEHWZHHQWKH &38DQGWKHSHULSKHUDO:KHQWKHVHUYLFHURXWLQHLVFRPSOHWHGWKH&38 UHWXUQVWRWKHRSHUDWLRQIURPZKLFKLWZDVLQWHUUXSWHG

,QWHUUXSW(QDEOH'LVDEOH

7KH=&38KDVWZRLQWHUUXSWLQSXWVDVRIWZDUHPDVNDEOHLQWHUUXSW ,17 DQGDQRQPDVNDEOHLQWHUUXSW 10, 7KHQRQPDVNDEOHLQWHUUXSW FDQQRWEHGLVDEOHGE\WKHSURJUDPPHUDQGLVDFFHSWHGZKHQHYHUDSHULSK HUDOGHYLFHUHTXHVWVLW7KLVLQWHUUXSWLVJHQHUDOO\UHVHUYHGIRUYHU\LPSRU WDQWIXQFWLRQVWKDWFDQEHHQDEOHGRUGLVDEOHGVHOHFWLYHO\E\WKH SURJUDPPHU7KLVURXWLQHDOORZVWKHSURJUDPPHUWRGLVDEOHWKHLQWHUUXSW GXULQJSHULRGVZKHQKLVSURJUDPKDVWLPLQJFRQVWUDLQWVWKDWGRQRWDOORZ LQWHUUXSW,QWKH=&38WKHUHLVDQLQWHUUXSWHQDEOHIOLSIORS ,)) WKDW LVVHWRUUHVHWE\WKHSURJUDPPHUXVLQJWKH(QDEOH,QWHUUXSW (, DQG 'LVDEOH,QWHUUXSW ', LQVWUXFWLRQV:KHQWKH,))LVUHVHWDQLQWHUUXSW FDQQRWEHDFFHSWHGE\WKH&38 7KHWZRHQDEOHIOLSIORSVDUH,))DQG,))

IFF1 IFF2 Disables interrupts Temporary storage from being accepted location for IFF1 7KHVWDWHRI,))LVXVHGWRLQKLELWLQWHUUXSWVZKLOH,))LVXVHGDVDWHPSR UDU\VWRUDJHORFDWLRQIRU,))

80 2YHUYLHZ <%27 7UGT U/CPWCN



$&38UHVHWIRUFHVERWKWKH,))DQG,))WRWKHUHVHWVWDWHZKLFKGLVDEOHV LQWHUUXSWV,QWHUUXSWVFDQEHHQDEOHGDWDQ\WLPHE\DQ(,LQVWUXFWLRQIURP WKHSURJUDPPHU:KHQDQ(,LQVWUXFWLRQLVH[HFXWHGDQ\SHQGLQJLQWHUUXSW UHTXHVWLVQRWDFFHSWHGXQWLODIWHUWKHLQVWUXFWLRQIROORZLQJ(,LVH[HFXWHG 7KLVVLQJOHLQVWUXFWLRQGHOD\LVQHFHVVDU\ZKHQWKHQH[WLQVWUXFWLRQLVD UHWXUQLQVWUXFWLRQ,QWHUUXSWVDUHQRWDOORZHGXQWLODUHWXUQLVFRPSOHWHG 7KH(,LQVWUXFWLRQVHWVERWK,))DQG,))WRWKHHQDEOHVWDWH:KHQWKH &38DFFHSWVDPDVNDEOHLQWHUUXSWERWK,))DQG,))DUHDXWRPDWLFDOO\ UHVHWLQKLELWLQJIXUWKHULQWHUUXSWVXQWLOWKHSURJUDPPHULVVXHVDQHZ(O LQVWUXFWLRQ1RWHWKDWIRUDOORIWKHSUHYLRXVFDVHV,))DQG,))DUH DOZD\VHTXDO 7KHSXUSRVHRI,))LVWRVDYHWKHVWDWXVRI,))ZKHQDQRQPDVNDEOH LQWHUUXSWRFFXUV:KHQDQRQPDVNDEOHLQWHUUXSWLVDFFHSWHG,))UHVHWV WRSUHYHQWIXUWKHULQWHUUXSWVXQWLOUHHQDEOHGE\WKHSURJUDPPHU7KXV DIWHUDQRQPDVNDEOHLQWHUUXSWLVDFFHSWHGPDVNDEOHLQWHUUXSWVDUH GLVDEOHGEXWWKHSUHYLRXVVWDWHRI,))KDVEHHQVDYHGVRWKDWWKH FRPSOHWHVWDWHRIWKH&38MXVWSULRUWRWKHQRQPDVNDEOHLQWHUUXSWFDQEH UHVWRUHGDWDQ\WLPH:KHQDLoadRegisterAwithRegisterI LD AI LQVWUXFWLRQRUDLoadRegisterAwithRegisterR LDAR  LQVWUXFWLRQLVH[HFXWHGWKHVWDWHRI,))LVFRSLHGWRWKHSDULW\IODJZKHUH LWFDQEHWHVWHGRUVWRUHG $VHFRQGPHWKRGRIUHVWRULQJWKHVWDWXVRI,))LVWKURXJKWKHH[HFXWLRQRI DReturnFromNonMaskableInterrupt 5(71 LQVWUXFWLRQ7KLV LQVWUXFWLRQLQGLFDWHVWKDWWKHQRQPDVNDEOHLQWHUUXSWVHUYLFHURXWLQHLV FRPSOHWHDQGWKHFRQWHQWVRI,))DUHQRZFRSLHGEDFNLQWR,))VRWKDW WKHVWDWXVRI,))MXVWSULRUWRWKHDFFHSWDQFHRIWKHQRQPDVNDEOHLQWHUUXSW LVUHVWRUHGDXWRPDWLFDOO\ 7DEOH LVDVXPPDU\RIWKHHIIHFWRIGLIIHUHQWLQVWUXFWLRQVRQWKHWZR HQDEOHIOLSIORSV

80 2YHUYLHZ <%27 7UGT U/CPWCN



7DEOH,QWHUUXSW(QDEOH'LVDEOH)OLS)ORSV

$FWLRQ ,)) ,)) &RPPHQWV CPU Reset 0 0 Maskable Interrupt, INT Disabled DI Instruction Execution 0 0 Maskable INT Disabled EI Instruction Execution 1 1 Maskable, INT Enabled LD A,I Instruction Execution * * IFF2 “ñ LD A,R instruction Execution * * IFF2 “ñ Parity Flag Accept NMI 0*MaskableñInterrupt RETN Instruction Execution IFF2 * IFF2 “ñindicates completion of non- maskable interrupt service routine.

&385HVSRQVH

1RQ0DVNDEOH

7KH&38DOZD\VDFFHSWVDQRQPDVNDEOHLQWHUUXSW:KHQWKLVRFFXUVWKH &38LJQRUHVWKHQH[WLQVWUXFWLRQWKDWLWIHWFKHVDQGLQVWHDGSHUIRUPVD UHVWDUWWRORFDWLRQ+7KH&38IXQFWLRQVDVLILWKDGUHF\FOHGDUHVWDUW LQVWUXFWLRQEXWWRDORFDWLRQRWKHUWKDQRQHRIWKHHLJKWVRIWZDUHUHVWDUWORFD WLRQV$UHVWDUWLVPHUHO\DFDOOWRDVSHFLILFDGGUHVVLQSDJHRIPHPRU\ 7KH&38FDQEHSURJUDPPHGWRUHVSRQGWRWKHPDVNDEOHLQWHUUXSWLQDQ\ RQHRIWKUHHSRVVLEOHPRGHV

0RGH

7KLVPRGHLVVLPLODUWRWKH$LQWHUUXSWUHVSRQVHPRGH:LWKWKLV PRGHWKHLQWHUUXSWLQJGHYLFHFDQSODFHDQ\LQVWUXFWLRQRQWKHGDWDEXVDQG WKH&38H[HFXWHVLW7KXVWKHLQWHUUXSWLQJGHYLFHSURYLGHVWKHQH[WLQVWUXF WLRQWREHH[HFXWHG2IWHQWKLVLVDUHVWDUWLQVWUXFWLRQEHFDXVHWKHLQWHU UXSWLQJGHYLFHRQO\QHHGVXSSO\DVLQJOHE\WHLQVWUXFWLRQ$OWHUQDWLYHO\DQ\

80 2YHUYLHZ <%27 7UGT U/CPWCN



RWKHULQVWUXFWLRQVXFKDVDE\WHFDOOWRDQ\ORFDWLRQLQPHPRU\FRXOGEH H[HFXWHG 7KHQXPEHURIFORFNF\FOHVQHFHVVDU\WRH[HFXWHWKLVLQVWUXFWLRQLVWZR PRUHWKDQWKHQRUPDOQXPEHUIRUWKHLQVWUXFWLRQ7KLVRFFXUVEHFDXVHWKH &38DXWRPDWLFDOO\DGGVWZRZDLWVWDWHVWRDQ,QWHUUXSWUHVSRQVHF\FOHWR DOORZVXIILFLHQWWLPHWRLPSOHPHQWDQH[WHUQDOGDLV\FKDLQIRUSULRULW\ FRQWURO)LJXUH DQG)LJXUH LOOXVWUDWHWKHGHWDLOHGWLPLQJIRUDQLQWHUUXSW UHVSRQVH$IWHUWKHDSSOLFDWLRQRI5(6(7WKH&38DXWRPDWLFDOO\HQWHUV LQWHUUXSW0RGH

0RGH

:KHQWKLVPRGHLVVHOHFWHGE\WKHSURJUDPPHUWKH&38UHVSRQGVWRDQ LQWHUUXSWE\H[HFXWLQJDUHVWDUWWRORFDWLRQ+7KXVWKHUHVSRQVHLV LGHQWLFDOWRWKDWIRUDQRQPDVNDEOHLQWHUUXSWH[FHSWWKDWWKHFDOOORFDWLRQLV +LQVWHDGRI+7KHQXPEHURIF\FOHVUHTXLUHGWRFRPSOHWHWKH UHVWDUWLQVWUXFWLRQLVWZRPRUHWKDQQRUPDOGXHWRWKHWZRDGGHGZDLWVWDWHV

0RGH

7KLVPRGHLVWKHPRVWSRZHUIXOLQWHUUXSWUHVSRQVHPRGH:LWKDVLQJOH ELWE\WHIURPWKHXVHUDQLQGLUHFWFDOOFDQEHPDGHWRDQ\PHPRU\ORFDWLRQ ,QWKLVPRGHWKHSURJUDPPHUPDLQWDLQVDWDEOHRIELWVWDUWLQJDGGUHVVHV IRUHYHU\LQWHUUXSWVHUYLFHURXWLQH7KLVWDEOHPD\EHORFDWHGDQ\ZKHUHLQ PHPRU\:KHQDQLQWHUUXSWLVDFFHSWHGDELWSRLQWHUPXVWEHIRUPHGWR REWDLQWKHGHVLUHGLQWHUUXSWVHUYLFHURXWLQHVWDUWLQJDGGUHVVIURPWKHWDEOH 7KHXSSHUHLJKWELWVRIWKLVSRLQWHULVIRUPHGIURPWKHFRQWHQWVRIWKH, UHJLVWHU7KHIUHJLVWHUPXVWEHORDGHGZLWKWKHDSSOLFDEOHYDOXHE\WKH SURJUDPPHUVXFKDVLDIA$&38UHVHWFOHDUVWKHIUHJLVWHUVRWKDWLWLV LQLWLDOL]HGWR]HUR7KHORZHUHLJKWELWVRIWKHSRLQWHUPXVWEHVXSSOLHGE\ WKHLQWHUUXSWLQJGHYLFH2QO\VHYHQELWVDUHUHTXLUHGIURPWKHLQWHUUXSWLQJ GHYLFHEHFDXVHWKHOHDVWVLJQLILFDQWELWPXVWEHD]HUR7KLVLVUHTXLUHG

80 2YHUYLHZ <%27 7UGT U/CPWCN



EHFDXVHWKHSRLQWHULVXVHGWRJHWWZRDGMDFHQWE\WHVWRIRUPDFRPSOHWH ELWVHUYLFHURXWLQHVWDUWLQJDGGUHVVDQGWKHDGGUHVVHVPXVWDOZD\VVWDUWLQ HYHQORFDWLRQV

Starting Address Pointed to by:

Interrupt Service Low Order Routine I Register Seven Bits From Contents Peripheral 0 Starting High Order Address Table

)LJXUH 0RGH,QWHUUXSW5HVSRQVH0RGH

7KHILUVWE\WHLQWKHWDEOHLVWKHOHDVWVLJQLILFDQW ORZRUGHUSRUWLRQRIWKH DGGUHVV 7KHSURJUDPPHUPXVWFRPSOHWHWKLVWDEOHZLWKWKHFRUUHFW DGGUHVVHVEHIRUHDQ\LQWHUUXSWVDUHDFFHSWHG 7KHSURJUDPPHUFDQFKDQJHWKLVWDEOHE\VWRULQJLWLQ5HDG:ULWH 0HPRU\ZKLFKDOVRDOORZVLQGLYLGXDOSHULSKHUDOVWREHVHUYLFHGE\ GLIIHUHQWVHUYLFHURXWLQHV :KHQWKHLQWHUUXSWLQJGHYLFHVXSSOLHVWKHORZHUSRUWLRQRIWKHSRLQWHUWKH &38DXWRPDWLFDOO\SXVKHVWKHSURJUDPFRXQWHURQWRWKHVWDFNREWDLQVWKH VWDUWLQJDGGUHVVIURPWKHWDEOHDQGSHUIRUPVDMXPSWRWKLVDGGUHVV7KLV PRGHRIUHVSRQVHUHTXLUHVFORFNSHULRGVWRFRPSOHWH VHYHQWRIHWFKWKH ORZHUHLJKWELWVIURPWKHLQWHUUXSWLQJGHYLFHVL[WRVDYHWKHSURJUDP FRXQWHUDQGVL[WRREWDLQWKHMXPSDGGUHVV  7KH=SHULSKHUDOGHYLFHVLQFOXGHDGDLV\FKDLQSULRULW\LQWHUUXSWVWUXF WXUHWKDWDXWRPDWLFDOO\VXSSOLHVWKHSURJUDPPHGYHFWRUWRWKH&38GXULQJ LQWHUUXSWDFNQRZOHGJH5HIHUWRWKH=&383HULSKHUDOV8VHU0DQXDOIRU PRUHFRPSOHWHLQIRUPDWLRQ

80 2YHUYLHZ <%27 7UGT U/CPWCN



+DUGZDUHDQG6RIWZDUH ,PSOHPHQWDWLRQ([DPSOHV

+$5':$5(

0LQLPXP6\VWHP

7KLVFKDSWHULVDQLQWURGXFWLRQWRLPSOHPHQWLQJV\VWHPVWKDWXVHWKH= &38)LJXUH LOOXVWUDWHVDVLPSOH=V\VWHP $Q\=V\VWHPPXVWLQFOXGHWKHIROORZLQJHOHPHQWV • 5V Power Supply • Oscillator • Memory Devices • I/O Circuits • CPU

80 +DUGZDUHDQG6RIWZDUH,PSOHPHQWDWLRQ([DPSOHV <%27 7UGT U/CPWCN



26& 9Ã3RZHUÃ6XSSO\ &/.

$±$ 9 *1' $GGUHVV ,1 05(4 &( .Ã%LW 5' &( 520 9 = 'DWD &38 'DWDÃ%XV 287 &/.

5(6(7 ,254

&( 5' %$ $ ,254 =3,2 0 0 3RUWÃ$ 3RUWÃ% &' $

2XWSXWÃ'DWD ,QSXWÃ'DWD

)LJXUH 0LQLPXP=&RPSXWHU6\VWHP

%HFDXVHWKH=&38UHTXLUHVRQO\DVLQJOH9SRZHUVXSSO\PRVWVPDOO V\VWHPVFDQEHLPSOHPHQWHGXVLQJRQO\WKLVVLQJOHVXSSO\ 7KHH[WHUQDOPHPRU\FDQEHDQ\PL[WXUHRIVWDQGDUG5$0520RU 3520,Q)LJXUH DVLQJOHIELW520 IE\WHV FRPSULVHVWKHHQWLUH PHPRU\V\VWHP7KH=LQWHUQDOUHJLVWHUFRQILJXUDWLRQFRQWDLQVVXIILFLHQW 5HDG:ULWHVWRUDJHUHTXLULQJQRH[WHUQDO5$0PHPRU\ ,2FLUFXLWVDOORZFRPSXWHUV\VWHPVWRLQWHUIDFHZLWKWKHH[WHUQDOGHYLFHV ,Q)LJXUH WKHRXWSXWLVDQELWFRQWUROYHFWRUDQGWKHLQSXWLVDQELW VWDWXVZRUG7KHLQSXWGDWDFDQEHJDWHGWRWKHGDWDEXVXVLQJDQ\VWDQGDUG WKUHHVWDWHGULYHUZKLOHWKHRXWSXWGDWDFDQEHODWFKHGZLWKDQ\W\SHRIVWDQ GDUG77/ODWFK$=3,2VHUYHVDVWKH,2FLUFXLW7KLVVLQJOHFLUFXLW DWWDFKHVWRWKHGDWDEXVDVLQGLFDWHGDQGSURYLGHVWKHUHTXLUHGELWVRI 77/FRPSDWLEOH,2 5HIHUWRWKH=&383HULSKHUDOV8VHU¶V0DQXDOIRU GHWDLOVRQWKHRSHUDWLRQRIWKLVFLUFXLW 7KLVSRZHUIXOFRPSXWHULVEXLOWZLWK RQO\WKUHH/6,FLUFXLWVDVLPSOHRVFLOODWRUDQGDVLQJOH9SRZHUVXSSO\

80 +DUGZDUHDQG6RIWZDUH,PSOHPHQWDWLRQ([DPSOHV <%27 7UGT U/CPWCN



$GGLQJ5$0

0RVWFRPSXWHUV\VWHPVUHTXLUHVRPHH[WHUQDO5HDG:ULWHPHPRU\IRUGDWD VWRUDJHDQGVWDFNLPSOHPHQWDWLRQ)LJXUH LOOXVWUDWHVKRZE\WHVRI VWDWLFPHPRU\DUHDGGHGWRWKHSUHYLRXVH[DPSOHLQ)LJXUH 7KHPHPRU\ VSDFHLVDVVXPHGWREHRUJDQL]HGDVIROORZV Address:

0000H 1 Kbyte ROM 03FFH 0400H 256 Bytes RAM 04FFFH ,QWKLVGLDJUDPWKHDGGUHVVVSDFHLVGHVFULEHGLQKH[DGHFLPDOQRWDWLRQ $GGUHVVELW$VHSDUDWHVWKH520VSDFHIURPWKH5$0VSDFHDOORZLQJ WKLVDGGUHVVWREHXVHGIRUWKHFKLSVHOHFWIXQFWLRQ)RUODUJHUDPRXQWVRI H[WHUQDO520RU5$0DVLPSOH77/GHFRGHULVUHTXLUHGWRIRUPWKH FKLSVHOHFWV

Address Bus

A7–A0 A7–A0 A7–A0

MREQ • RD RD MRQ RD MRQ CE1 OD CE1 OD CE1 1K x 8 256 x 4 256 x 4 RAM A10 ROM WR A10 WR RAM A CE2 R/W CE2 R/W CE2 10

D –D 7 0 D3–D0 D7–D4

Data Bus

)LJXUH 520DQG5$0,PSOHPHQWDWLRQ

80 +DUGZDUHDQG6RIWZDUH,PSOHPHQWDWLRQ([DPSOHV <%27 7UGT U/CPWCN



0HPRU\6SHHG&RQWURO

6ORZPHPRULHVFDQUHGXFHFRVWVIRUPDQ\DSSOLFDWLRQV7KH:$,7OLQHRQ WKH&38DOORZVWKH=WRRSHUDWHZLWKDQ\VSHHGPHPRU\0HPRU\DFFHVV WLPHUHTXLUHPHQWVZKLFKDUHFRYHUHGLQ&KDSWHU$DUHPRVWVHYHUH GXULQJWKH0F\FOHLQVWUXFWLRQIHWFK$OORWKHUPHPRU\DFFHVVF\FOHV FRPSOHWHLQDQDGGLWLRQDORQHKDOIFORFNF\FOH+HQFHLWLVVRPHWLPHV DSSURSULDWHWRDGGRQHZDLWVWDWHWRWKH0F\FOHVRVORZHUPHPRULHVFDQ EHXVHG)LJXUH LVDQH[DPSOHRIDVLPSOHFLUFXLWWKDWDFFRPSOLVKHVWKLV REMHFWLYH7KLVFLUFXLWFDQEHFKDQJHGWRDGGDVLQJOHZDLWVWDWHWRDQ\ PHPRU\DFFHVVDVLQGLFDWHGLQ)LJXUH 

WAIT

M1 +5V

T T T T1 T2 W 3 4 S S CLK M1 D Q D Q 7474 7474 CLK M1 C Q C Q R R WAIT

+5V +5V

)LJXUH $GGLQJ2QH:DLW6WDWHWRDQ0&\FOH

80 +DUGZDUHDQG6RIWZDUH,PSOHPHQWDWLRQ([DPSOHV <%27 7UGT U/CPWCN



WAIT +5V 7400

T T TW +5V 1 2 CLK S S MREQ D Q D Q MREQ 7474 7474 CLK WAIT C Q C Q R R

+5V +5V

)LJXUH $GGLQJ2QH:DLW6WDWHWR$Q\0HPRU\&\FOH

,QWHUIDFLQJ'\QDPLF0HPRULHV

(DFKLQGLYLGXDOG\QDPLF5$0KDVLW¶VRZQVSHFLILFDWLRQVWKDWUHTXLUH PLQRUPRGLILFDWLRQVWRWKHH[DPSOHVJLYHQKHUH=L/2*$SSOLFDWLRQ 1RWHVDUHDYDLODEOHGHVFULELQJKRZWKH=&38LVLQWHUIDFHGZLWKPRVW SRSXODUG\QDPLF5$0 )LJXUH LOOXVWUDWHVWKHORJLFQHFHVVDU\WRLQWHUIDFHIE\WHVRIG\QDPLF 5$0XVLQJSLQIG\QDPLFPHPRULHV7KLVORJLFDVVXPHVWKDWWKH 5$0VDUHWKHRQO\PHPRU\LQWKHV\VWHPVRWKDW$LVXVHGWRVHOHFW EHWZHHQWKHWZRSDJHVRIPHPRU\'XULQJUHIUHVKWLPHDOOPHPRULHVLQWKH V\VWHPPXVWEHUHDG7KH&38SURYLGHVWKHFRUUHFWUHIUHVKDGGUHVVRQOLQHV $WKURXJK$:KHQDGGLQJPRUHPHPRU\WRWKHV\VWHPLWLVQHFHVVDU\ WRUHSODFHRQO\WKHWZRJDWHVWKDWRSHUDWHRQ$ZLWKDGHFRGHUWKDWRSHU DWHVRQDOOUHTXLUHGDGGUHVVELWV$GGUHVVEXIIHUVDQGGDWDEXVEXIIHUVDUH JHQHUDOO\UHTXLUHGIRUODUJHUV\VWHPV

80 +DUGZDUHDQG6RIWZDUH,PSOHPHQWDWLRQ([DPSOHV <%27 7UGT U/CPWCN



RFSH

MREQ

A12

CE A11–A0 4K x 8 RAM Array R/W

Page 1 D –D 7 0 Data Bus (1000 to 1FFFF)

CE

4K x 8 RAM Array WR R/W

Page 0 (0000 to 0FFFF)

)LJXUH ,QWHUIDFLQJ'\QDPLF5$0V

80 +DUGZDUHDQG6RIWZDUH,PSOHPHQWDWLRQ([DPSOHV <%27 7UGT U/CPWCN



62)7:$5(,03/(0(17$7,21(;$03/(6

2YHUYLHZRI6RIWZDUH)HDWXUHV

7KH=LQVWUXFWLRQVHWSURYLGHVWKHXVHUZLWKDODUJHQXPEHURIRSHUDWLRQV WRFRQWUROWKH=&387KHPDLQDOWHUQDWHDQGLQGH[UHJLVWHUVFDQKROG DULWKPHWLFDQGORJLFDORSHUDWLRQVIRUPPHPRU\DGGUHVVHVRUDFWDVIDVW DFFHVVVWRUDJHIRUIUHTXHQWO\XVHGGDWD ,QIRUPDWLRQFDQEHPRYHGGLUHFWO\IURPUHJLVWHUWRUHJLVWHUIURPPHPRU\ WRPHPRU\IURPPHPRU\WRUHJLVWHUVRUIURPUHJLVWHUVWRPHPRU\,QDGGL WLRQUHJLVWHUFRQWHQWVDQGUHJLVWHUPHPRU\FRQWHQWVFDQEHH[FKDQJHG ZLWKRXWXVLQJWHPSRUDU\VWRUDJH,QSDUWLFXODUWKHFRQWHQWVRIPDLQDQG DOWHUQDWHUHJLVWHUVFDQEHFRPSOHWHO\H[FKDQJHGE\H[HFXWLQJRQO\WZR LQVWUXFWLRQVEXDQGEXX7KLVUHJLVWHUH[FKDQJHSURFHGXUHFDQEHXVHGWR VHSDUDWHWKHVHWRIZRUNLQJUHJLVWHUVIURPGLIIHUHQWORJLFDOSURFHGXUHVRUWR H[SDQGWKHVHWRIDYDLODEOHUHJLVWHUVLQDVLQJOHSURFHGXUH 6WRUDJHDQGUHWULHYDORIGDWDEHWZHHQSDLUVRIUHJLVWHUVDQGPHPRU\FDQEH FRQWUROOHGRQDODVWLQILUVWRXWEDVLVWKURXJKPUSHDQGPOPLQVWUXFWLRQV WKDWXWLOL]HDVSHFLDOSTACK POINTERUHJLVWHU 63 7KLVVWDFNUHJLVWHULV DYDLODEOHERWKWRPDQLSXODWHGDWDDQGWRDXWRPDWLFDOO\VWRUHDQGUHWULHYH DGGUHVVHVIRUVXEURXWLQHOLQNDJH:KHQDVXEURXWLQHLVFDOOHGIRUH[DPSOH WKHDGGUHVVIROORZLQJWKHCALLLQVWUXFWLRQLVSODFHGRQWKHWRSRIWKHSXVK GRZQVWDFNSRLQWHGWRE\SP:KHQDVXEURXWLQHUHWXUQVWRWKHFDOOLQJ URXWLQHWKHDGGUHVVRQWKHWRSRIWKHVWDFNLVXVHGWRVHWWKHSURJUDP FRXQWHUIRUWKHDGGUHVVRIWKHQH[WLQVWUXFWLRQ7KHVWDFNSRLQWHULVDGMXVWHG DXWRPDWLFDOO\WRUHIOHFWWKHFXUUHQWWRSVWDFNSRVLWLRQGXULQJPUSHPOP CALLDQGRETLQVWUXFWLRQV7KLVVWDFNPHFKDQLVPDOORZVSXVKGRZQGDWD VWDFNVDQGVXEURXWLQHFDOOVWREHQHVWHGWRDQ\SUDFWLFDOGHSWKEHFDXVHWKH VWDFNDUHDFDQSRWHQWLDOO\EHDVODUJHDVPHPRU\VSDFH 7KHVHTXHQFHRILQVWUXFWLRQH[HFXWLRQFDQEHFRQWUROOHGE\VL[GLIIHUHQW IODJV FDUU\]HURVLJQSDULW\RYHUIORZDGGVXEWUDFWKDOIFDUU\ ZKLFK UHIOHFWWKHUHVXOWVRIDULWKPHWLFORJLFDOVKLIWDQGFRPSDUHLQVWUXFWLRQV

80 +DUGZDUHDQG6RIWZDUH,PSOHPHQWDWLRQ([DPSOHV <%27 7UGT U/CPWCN



$IWHUWKHH[HFXWLRQRIDQLQVWUXFWLRQWKDWVHWVDIODJWKDWIODJFDQEHXVHGWR FRQWURODFRQGLWLRQDOMXPSRUUHWXUQLQVWUXFWLRQ7KHVHLQVWUXFWLRQVSURYLGH ORJLFDOFRQWUROIROORZLQJWKHPDQLSXODWLRQRIVLQJOHELWELWE\WHRUELW GDWDTXDQWLWLHV

$IXOOVHWRIORJLFDORSHUDWLRQVLQFOXGLQJANDORXOR H[FOXVLYHOR  CPL NOR DQGNEG WZR¶VFRPSOHPHQW DUHDYDLODEOHIRU%RROHDQRSHUD WLRQVEHWZHHQWKHDFFXPXODWRUDQGDOORWKHUELWUHJLVWHUVPHPRU\ORFD WLRQVRULPPHGLDWHRSHUDQGV ,QDGGLWLRQDIXOOVHWRIDULWKPHWLFDQGORJLFDOVKLIWVLQERWKGLUHFWLRQVDUH DYDLODEOHZKLFKRSHUDWHRQWKHFRQWHQWVRIDOOELWSULPDU\UHJLVWHUVRU GLUHFWO\RQDQ\PHPRU\ORFDWLRQ7KHFDUU\IODJFDQEHLQFOXGHGRUVHWE\ WKHVHVKLIWLQVWUXFWLRQVWRSURYLGHERWKWKHWHVWLQJRIVKLIWUHVXOWVDQGWROLQN UHJLVWHUUHJLVWHURUUHJLVWHUPHPRU\VKLIWRSHUDWLRQV

([DPSOHVRI6SHFLILF=,QVWUXFWLRQV

([DPSOH2QH

:KHQDE\WHGDWDVWULQJLQPHPRU\ORFDWLRQ'$7$PXVWEHPRYHGWR ORFDWLRQ%8))(5WKHRSHUDWLRQLVSURJUDPPHGDVIROORZV LD HL, DATA ;START ADDRESS OF DATA STRING LD DE, BUFFER;START ADDRESS OF TARGET BUFFER LD BC, 737 ;LENGTH OF DATA STRING LDIR ;MOVE STRING - TRANSFER MEMORY POINTED ;TO BY HL INTO MEMORY LOCATION POINTED ;TO BY DE INCREMENT HL AND DE, ;DECREMENT BC PROCESS UNTIL BC = 0. (OHYHQE\WHVDUHUHTXLUHGIRUWKLVRSHUDWLRQDQGHDFKE\WHRIGDWDLVPRYHG LQFORFNF\FOHV

80 +DUGZDUHDQG6RIWZDUH,PSOHPHQWDWLRQ([DPSOHV <%27 7UGT U/CPWCN



([DPSOH7ZR

$VWULQJLQPHPRU\ OLPLWHGWRDPD[LPXPOHQJWKRIFKDUDFWHUV  VWDUWLQJDWORFDWLRQ'$7$LVWREHPRYHGWRDQRWKHUPHPRU\ORFDWLRQ VWDUWLQJDWORFDWLRQ%8))(5XQWLODQ$6&,,L XVHGDVDVWULQJGHOLPLWRU  LVIRXQG7KLVRSHUDWLRQLVSHUIRUPHGDVIROORZV LD HL, DATA ;STARTING ADDRESS OF DATA STRING LD DE, BUFFER;STARTING ADDRESS OF TARGET BUFFER LD BC, 132 ;MAXIMUM STRING LENGTH LD A, ’$’ ;STRING DELIMITER CODE LOOP:CP (HL) ;COMPARE MEMORY CONTENTS WITH ;DELIMITER JR Z, END-$ ;GO TO END IF CHARACTERS EQUAL LDI ;MOVE CHARACTER (HL) to (DE) ;INCREMENT HL AND DE, DECREMENT BC JP PE, LOOP ;GO TO "LOOP" IF MORE CHARACTERS END: ;OTHERWISE, FALL THROUGH ;NOTE: P/V FLAG IS USED ;TO INDICATE THAT REGISTER BC WAS ;DECREMENTED TO ZERO. 1LQHWHHQE\WHVDUHUHTXLUHGIRUWKLVRSHUDWLRQ

([DPSOH7KUHH

$GLJLWGHFLPDOQXPEHULVVKLIWHGDVGHSLFWHGLQWKH)LJXUH 7KLV VKLIWLVSHUIRUPHGWRPHFKDQL]H%&'PXOWLSOLFDWLRQRUGLYLVLRQ7KH GLJLWGHFLPDOQXPEHULVUHSUHVHQWHGLQSDFNHG%&'IRUPDW WZR%&' GLJLWVE\WH 7KHRSHUDWLRQLVSURJUDPPHGDVIROORZV LD HL, DATA;ADDRESS OF FIRST BYTE LD B, COUNT;SHIFT COUNT XOR A ;CLEAR ACCUMULATOR ROTAT:RLD ;ROTATE LEFT LOW ORDER DIGIT IN ACC ;WITH DIGITS IN (HL) INC HL ;ADVANCE MEMORY POINTER. DJNZ ROTAT-$ ;DECREMENT B AND GO TO ROTAT IF

80 +DUGZDUHDQG6RIWZDUH,PSOHPHQWDWLRQ([DPSOHV <%27 7UGT U/CPWCN



;B IS NOT ZERO, OTHERWISE FALL ;THROUGH. (OHYHQE\WHVDUHUHTXLUHGIRUWKLVRSHUDWLRQ

0

)LJXUH 6KLIWLQJRI%&''LJLWV%\WHV

([DPSOH)RXU

2QHQXPEHULVWREHVXEWUDFWHGIURPDQRWKHUQXPEHUERWKRIZKLFKDUHLQ SDFNHG%&'IRUPDWDQGDUHRIHTXDOEXWYDU\LQJOHQJWK7KHUHVXOWLVVWRUHG LQWKHORFDWLRQRIWKHPLQXHQG7KHRSHUDWLRQLVSURJUDPPHGDVIROORZV LD HL, ARG1 ;ADDRESS OF MINUEND LD DE, ARG2 ;ADDRESS OF SUBTRAHEND LD B, LENGTH ;LENGTH OF TWO ARGUMENTS AND A ;CLEAR SUBDEC:LD A, (DE) ;SUBTRAHEND TO ACC SBC A, (HL) ;SUBTRACT (HL) FROM ACC

80 +DUGZDUHDQG6RIWZDUH,PSOHPHQWDWLRQ([DPSOHV <%27 7UGT U/CPWCN



DAA ;ADJUST RESULT TO DECIMAL CODED VALUE LD (HL), A ;STORE RESULT INC HL ;ADVANCE MEMORY POINTERS INC DE DJNZ SUBDEC - $;DECREMENT B AND GO TO "SUBDEC" ;IF B ;NOT ZERO, OTHERWISE FALL ;THROUGH 6HYHQWHHQE\WHVDUHUHTXLUHGIRUWKLVRSHUDWLRQ

([DPSOHVRI3URJUDPPLQJ7DVNV

$VGHSLFWHGLQ7DEOH WKLVH[DPSOHSURJUDPVRUWVDQDUUD\RIQXPEHUVWR DVFHQGLQJRUGHUXVLQJDVWDQGDUGH[FKDQJHVRUWLQJDOJRULWKP7KHVH QXPEHUVUDQJHIURPWR 7DEOH%XEEOH/LVWLQJ

/RF 2EM&RGH 6WPW 6RXUFH6WDWHPHQW 1 ; standard exchange (bubble) sort routine 2; 3 ; at entry: hl contains address of data 4 c contains number of elements to be sorted (1

80 +DUGZDUHDQG6RIWZDUH,PSOHPHQWDWLRQ([DPSOHV <%27 7UGT U/CPWCN



7DEOH%XEEOH/LVWLQJ &RQWLQXHG

/RF 2EM&RGH 6WPW 6RXUFH6WDWHPHQW 15 ; c length of data array 16 ; d first element in comparison 17 ; e second element in comparison 18 ; h flag to indicate exchange 19 ; l unused 20 ; ix pointer into data array 21 ; iy unused 22 ; 0000 222600 23 sort: ld (data), hl ; save data address 0003 cb84 24 loop: res flag, h ; initialize exchange flag 0005 41 25 ld b, c ; initialize length counter 0006 05 26 dec b ; adjust for testing 0007 dd2a2600 27 ld ix, (data) ; initialize array pointer 000b dd7e00 28 next: ld a, (ix) ; first element in comparison 000e 57 29 ld d, a ; temporary storage for element goof dd5e01 30 ld e, (ix+1) ; second element in comparison 0012 93 31 sub e ; comparison first to second 0013 3008 32 jr pc, noex-$ ; if first > second, no jump 0015 dd7300 33 ld (ix), e ; exchange array elements 0018 dd7201 34 ld (ix+i), d 001b cbc4 35 set flag, h ; record exchange occurred 0010 dd23 36 noex: inc ix ; point to next data element 001f 10ea 37 djnz next-$ ; count number of comparisons 38 ; repeat if more data pairs 0021 cb44 39 bit flag, h ; determine if exchange occurred 0023 20de 40 jr nz, loop-$ ; continue if data unsorted 0025 c9 41 ret ; otherwise, exit 42 ;

80 +DUGZDUHDQG6RIWZDUH,PSOHPHQWDWLRQ([DPSOHV <%27 7UGT U/CPWCN



7DEOH%XEEOH/LVWLQJ &RQWLQXHG

/RF 2EM&RGH 6WPW 6RXUFH6WDWHPHQW 0026 43 flag: equ 0 ; designation of flag bit 0026 44 data: defs 2 ; storage for data address 45 end 7KHIROORZLQJSURJUDP VHH7DEOH  PXOWLSOLHVWZRXQVLJQHGELW LQWHJHUVOHDYLQJWKHUHVXOWLQWKH+/UHJLVWHUSDLU

7DEOH0XOWLSO\/LVWLQJ

2EM /RF &RGH 6WPW 6RXUFH6WDWHPHQW 0000 1 mult:; unsigned sixteen bit integer multiply. 2 ; on entrance: multiplier in de. 3 ; multiplicand in hl. 4; 5 ; on exit result in hl. 6; 7 ; register uses: 8; 9; 10 ; h high order partial result 11 ; l low order partial result 12 ; d high order multiplicand 13 ; e low order multiplicand 14 ; b counter for number of shifts 15 ; c high order bits of multiplier

80 +DUGZDUHDQG6RIWZDUH,PSOHPHQWDWLRQ([DPSOHV <%27 7UGT U/CPWCN



7DEOH0XOWLSO\/LVWLQJ &RQWLQXHG

2EM /RF &RGH 6WPW 6RXUFH6WDWHPHQW 16 ; a low order bits of multiplier 17 ; 0000 0610 18 ld b, 16; number of bits-initialize 0002 4a 19 ld c, d; move multiplier 0003 7b 20 ld a, e; 0004 eb 21 ex de, hl; move multiplicand 0005 210000 22 ld hl, 0; clear partial result 0008 cb39 23 mloop: srl c; shift multiplier right 000a if 24 rra least significant bit is 25 ; in carry. 000b 3001 26 jr nc, noadd-$; if no carry, skip the add. good 19 27 add hl, de; else add multiplicand to 28 ; partial result. 000e eb 29 noadd: ex de, h l; shift multiplicand left goof 29 30 add hl, hl; by multiplying it by two. 0010 eb 31 ex de, hl; 0011 10f5 32 djnz mloop-$; repeat until no more bits. 0013 c9 33 ret; 34 end;

80 +DUGZDUHDQG6RIWZDUH,PSOHPHQWDWLRQ([DPSOHV <%27 7UGT U/CPWCN



=&38,QVWUXFWLRQ'HVFULSWLRQ

2YHUYLHZ

7KH=&38FDQH[HFXWHGLIIHUHQWLQVWUXFWLRQW\SHVLQFOXGLQJDOO RIWKH$&387KHLQVWUXFWLRQVIDOOLQWRWKHVHPDMRUJURXSV • Load and Exchange • Block Transfer and Search • Arithmetic and Logical • Rotate and Shift • Bit Manipulation (Set, Reset, Test) • Jump, Call, and Return • Input/Output • Basic CPU Control

,QVWUXFWLRQ7\SHV

7KHORDGLQVWUXFWLRQVPRYHGDWDLQWHUQDOO\DPRQJ&38UHJLVWHUVRU EHWZHHQ&38UHJLVWHUVDQGH[WHUQDOPHPRU\$OOWKHVHLQVWUXFWLRQV VSHFLI\DVRXUFHORFDWLRQIURPZKLFKWKHGDWDLVWREHPRYHGDQGD GHVWLQDWLRQORFDWLRQ7KHVRXUFHORFDWLRQLVQRWDOWHUHGE\DORDG LQVWUXFWLRQ([DPSOHVRIORDGJURXSLQVWUXFWLRQVLQFOXGHPRYHVEHWZHHQ DQ\RIWKHJHQHUDOSXUSRVHUHJLVWHUVVXFKDVPRYHWKHGDWDWRUHJLVWHU% IURPUHJLVWHU&7KLVJURXSDOVRLQFOXGHVORDGLPPHGLDWHWRDQ\&38 UHJLVWHURUWRDQ\H[WHUQDOPHPRU\ORFDWLRQ2WKHUW\SHVRIORDG LQVWUXFWLRQVDOORZWUDQVIHUEHWZHHQ&38UHJLVWHUVDQGPHPRU\ORFDWLRQV 7KHH[FKDQJHLQVWUXFWLRQVFDQWUDGHWKHFRQWHQWVRIWZRUHJLVWHUV

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



$XQLTXHVHWRIEORFNWUDQVIHULQVWUXFWLRQVLVSURYLGHGLQWKH=:LWKD VLQJOHLQVWUXFWLRQDEORFNRIPHPRU\RIDQ\VL]HFDQEHPRYHGWRDQ\ RWKHUORFDWLRQLQPHPRU\7KLVVHWRIEORFNPRYHVLVH[WUHPHO\YDOXDEOH ZKHQSURFHVVLQJODUJHVWULQJVRIGDWD:LWKDVLQJOHLQVWUXFWLRQDEORFNRI H[WHUQDOPHPRU\RIDQ\GHVLUHGOHQJWKFDQEHVHDUFKHGIRUDQ\ELW FKDUDFWHU:KHQWKHFKDUDFWHULVIRXQGRUWKHHQGRIWKHEORFNLVUHDFKHG WKHLQVWUXFWLRQDXWRPDWLFDOO\WHUPLQDWHV%RWKWKHEORFNWUDQVIHUDQGWKH EORFNVHDUFKLQVWUXFWLRQVFDQEHLQWHUUXSWHGGXULQJWKHLUH[HFXWLRQVRWKH\ GRQRWRFFXS\WKH&38IRUORQJSHULRGVRIWLPH 7KHDULWKPHWLFDQGORJLFDOLQVWUXFWLRQVRSHUDWHRQGDWDVWRUHGLQWKH DFFXPXODWRUDQGRWKHUJHQHUDOSXUSRVH&38UHJLVWHUVRUH[WHUQDOPHPRU\ ORFDWLRQV7KHUHVXOWVRIWKHRSHUDWLRQVDUHSODFHGLQWKHDFFXPXODWRUDQG WKHDSSURSULDWHIODJVDUHVHWDFFRUGLQJWRWKHUHVXOWRIWKHRSHUDWLRQ $QH[DPSOHRIDQDULWKPHWLFRSHUDWLRQLVDGGLQJWKHDFFXPXODWRUWRWKH FRQWHQWVRIDQH[WHUQDOPHPRU\ORFDWLRQ7KHUHVXOWVRIWKHDGGLWLRQDUH SODFHGLQWKHDFFXPXODWRU7KLVJURXSDOVRLQFOXGHVELWDGGLWLRQDQG VXEWUDFWLRQEHWZHHQELW&38UHJLVWHUV 7KHURWDWHDQGVKLIWJURXSDOORZVDQ\UHJLVWHURUDQ\PHPRU\ORFDWLRQWR EHURWDWHGULJKWRUOHIWZLWKRUZLWKRXWFDUU\HLWKHUDULWKPHWLFRUORJLFDO $OVRDGLJLWLQWKHDFFXPXODWRUFDQEHURWDWHGULJKWRUOHIWZLWKWZRGLJLWV LQDQ\PHPRU\ORFDWLRQ 7KHELWPDQLSXODWLRQLQVWUXFWLRQVDOORZDQ\ELWLQWKHDFFXPXODWRUDQ\ JHQHUDOSXUSRVHUHJLVWHURUDQ\H[WHUQDOPHPRU\ORFDWLRQWREHVHWUHVHW RUWHVWHGZLWKDVLQJOHLQVWUXFWLRQ)RUH[DPSOHWKHPRVWVLJQLILFDQWELWRI UHJLVWHU+FDQEHUHVHW7KLVJURXSLVHVSHFLDOO\XVHIXOLQFRQWURO DSSOLFDWLRQVDQGIRUFRQWUROOLQJVRIWZDUHIODJVLQJHQHUDOSXUSRVH SURJUDPPLQJ

7KHJUMPCALLDQGRETURNLQVWUXFWLRQVDUHXVHGWRWUDQVIHUEHWZHHQ YDULRXVORFDWLRQVLQWKHXVHU¶VSURJUDP7KLVJURXSXVHVVHYHUDOGLIIHUHQW WHFKQLTXHVIRUREWDLQLQJWKHQHZSURJUDPFRXQWHUDGGUHVVIURPVSHFLILF H[WHUQDOPHPRU\ORFDWLRQV$XQLTXHW\SHRIFDOOLVWKHRESTART LQVWUXFWLRQ7KLVLQVWUXFWLRQDFWXDOO\FRQWDLQVWKHQHZDGGUHVVDVDSDUWRI

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



WKHELW2S&RGH7KLVLVSRVVLEOHEHFDXVHRQO\HLJKWVHSDUDWHDGGUHVVHV ORFDWHGLQSDJH]HURRIWKHH[WHUQDOPHPRU\PD\EHVSHFLILHG3URJUDP MXPSVPD\DOVREHDFKLHYHGE\ORDGLQJUHJLVWHU+/,;RU,<GLUHFWO\ LQWRWKH3&WKXVDOORZLQJWKHMXPSDGGUHVVWREHDFRPSOH[IXQFWLRQRI WKHURXWLQHEHLQJH[HFXWHG 7KHLQSXWRXWSXWJURXSRILQVWUXFWLRQVLQWKH=DOORZIRUDZLGHUDQJH RIWUDQVIHUVEHWZHHQH[WHUQDOPHPRU\ORFDWLRQVRUWKHJHQHUDOSXUSRVH &38UHJLVWHUVDQGWKHH[WHUQDO,2GHYLFHV,QHDFKFDVHWKHSRUWQXPEHU LVSURYLGHGRQWKHORZHUHLJKWELWVRIWKHDGGUHVVEXVGXULQJDQ\,2 WUDQVDFWLRQ2QHLQVWUXFWLRQDOORZVWKLVSRUWQXPEHUWREHVSHFLILHGE\WKH VHFRQGE\WHRIWKHLQVWUXFWLRQZKLOHRWKHU=LQVWUXFWLRQVDOORZLWWREH VSHFLILHGDVWKHFRQWHQWRIWKH&UHJLVWHU2QHPDMRUDGYDQWDJHRIXVLQJ WKH&UHJLVWHUDVDSRLQWHUWRWKH,2GHYLFHLVWKDWLWDOORZVPXOWLSOH,2 SRUWVWRVKDUHFRPPRQVRIWZDUHGULYHUURXWLQHV7KLVDGYDQWDJHLVQRW SRVVLEOHZKHQWKHDGGUHVVLVSDUWRIWKH2S&RGHLIWKHURXWLQHVDUHVWRUHG LQ520$QRWKHUIHDWXUHRIWKHVHLQSXWLQVWUXFWLRQVLVWKHDXWRPDWLF VHWWLQJRIWKHIODJUHJLVWHUPDNLQJDGGLWLRQDORSHUDWLRQVXQQHFHVVDU\WR GHWHUPLQHWKHVWDWHRIWKHLQSXWGDWD7KHSDULW\VWDWHLVRQHH[DPSOH 7KH=&38LQFOXGHVVLQJOHLQVWUXFWLRQVWKDWFDQPRYHEORFNVRIGDWD XSWRE\WHV DXWRPDWLFDOO\WRRUIURPDQ\,2SRUWGLUHFWO\WRDQ\ PHPRU\ORFDWLRQ,QFRQMXQFWLRQZLWKWKHGXDOVHWRIJHQHUDOSXUSRVH UHJLVWHUVWKHVHLQVWUXFWLRQVSURYLGHIDVW,2EORFNWUDQVIHUUDWHV7KH SRZHURIWKLV,2LQVWUXFWLRQVHWLVGHPRQVWUDWHGE\WKH=&38 SURYLGLQJDOOUHTXLUHGIORSS\GLVNIRUPDWWLQJRQGRXEOHGHQVLW\IORSS\ GLVNGULYHVRQDQLQWHUUXSWGULYHQEDVLV)RUH[DPSOHWKH&38SURYLGHV WKHSUHDPEOHDGGUHVVGDWDDQGHQDEOHVWKH&5&FRGHV )LQDOO\WKHEDVLF&38FRQWUROLQVWUXFWLRQVDOORZYDULRXVRSWLRQVDQG PRGHV7KLVJURXSLQFOXGHVLQVWUXFWLRQVVXFKDVVHWWLQJRUUHVHWWLQJWKH LQWHUUXSWHQDEOHIOLSIORSRUVHWWLQJWKHPRGHRILQWHUUXSWUHVSRQVH

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



$GGUHVVLQJ0RGHV

0RVWRIWKH=LQVWUXFWLRQVRSHUDWHRQGDWDVWRUHGLQLQWHUQDO&38 UHJLVWHUVH[WHUQDOPHPRU\RULQWKH,2SRUWV$GGUHVVLQJUHIHUVWRKRZ WKHDGGUHVVRIWKLVGDWDLVJHQHUDWHGLQHDFKLQVWUXFWLRQ7KLVVHFWLRQLVD EULHIVXPPDU\RIWKHW\SHVRIDGGUHVVLQJXVHGLQWKH=ZKLOH VXEVHTXHQWVHFWLRQVGHWDLOWKHW\SHRIDGGUHVVLQJDYDLODEOHIRUHDFK LQVWUXFWLRQJURXS

,PPHGLDWH ,QWKLVPRGHRIDGGUHVVLQJWKHE\WHIROORZLQJWKH2S&RGHLQPHPRU\ FRQWDLQVWKHDFWXDORSHUDQG

Op Code One or Two Bytes

Op Code

D7 D0 ([DPSOHVRIWKLVW\SHRILQVWUXFWLRQLVORDGLQJWKHDFFXPXODWRUZLWKD FRQVWDQWZKHUHWKHFRQVWDQWLVWKHE\WHLPPHGLDWHO\IROORZLQJWKH2S &RGH

,PPHGLDWH([WHQGHG 7KLVPRGHLVDQH[WHQVLRQRILPPHGLDWHDGGUHVVLQJLQWKDWWKHWZRE\WHV IROORZLQJWKH2S&RGHVDUHWKHRSHUDQG

Op Code One or Two Bytes

Op Code Low Order

Op Code High Order ([DPSOHVRIWKLVW\SHRILQVWUXFWLRQLVORDGLQJWKH+/UHJLVWHUSDLU ELW UHJLVWHU ZLWKELWV WZRE\WHV RIGDWD

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



0RGLILHG3DJH=HUR$GGUHVVLQJ

7KH=KDVDVSHFLDOVLQJOHE\WHCALLLQVWUXFWLRQWRDQ\RIHLJKW ORFDWLRQVLQSDJH]HURRIPHPRU\7KLVLQVWUXFWLRQZKLFKLVUHIHUUHGWRDV DUHVWDUWVHWVWKH3&WRDQHIIHFWLYHDGGUHVVLQSDJH]HUR7KHYDOXHRIWKLV LQVWUXFWLRQLVWKDWLWDOORZVDVLQJOHE\WHWRVSHFLI\DFRPSOHWHELW DGGUHVVZKHUHFRPPRQO\FDOOHGVXEURXWLQHVDUHORFDWHGWKXVVDYLQJ PHPRU\VSDFH

Op Code One Byte

B7 B0 Effective Address is (B5 B4 B3 000)2

5HODWLYH$GGUHVVLQJ 5HODWLYHDGGUHVVLQJXVHVRQHE\WHRIGDWDIROORZLQJWKH2S&RGHWR VSHFLI\DGLVSODFHPHQWIURPWKHH[LVWLQJSURJUDPWRZKLFKDSURJUDP MXPSFDQRFFXU7KLVGLVSODFHPHQWLVDVLJQHGWZR¶VFRPSOHPHQWQXPEHU WKDWLVDGGHGWRWKHDGGUHVVRIWKH2S&RGHRIWKHIROORZLQJLQVWUXFWLRQ

Op Code Jump Relative (One Byte Op Code) 8-Bit Two’s Complement Op Code Displacement Added to Address (A+2) 7KHYDOXHRIUHODWLYHDGGUHVVLQJLVWKDWLWDOORZVMXPSVWRQHDUE\ORFDWLRQV ZKLOHRQO\UHTXLULQJWZRE\WHVRIPHPRU\VSDFH)RUPRVWSURJUDPV UHODWLYHMXPSVDUHE\IDUWKHPRVWSUHYDOHQWW\SHRIMXPSGXHWRWKH SUR[LPLW\RIUHODWHGSURJUDPVHJPHQWV7KXVWKHVHLQVWUXFWLRQVFDQ 6LJQLILFDQWO\UHGXFHPHPRU\VSDFHUHTXLUHPHQWV7KHVLJQHG GLVSODFHPHQWFDQUDQJHEHWZHHQDQGIURP$7KLVDOORZV IRUDWRWDOGLVSODFHPHQWRIWRIURPWKHMXPSUHODWLYH2S&RGH DGGUHVV$QRWKHUPDMRUDGYDQWDJHLVWKDWLWDOORZVIRUUHORFDWDEOHFRGH

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



([WHQGHG$GGUHVVLQJ ([WHQGHG$GGUHVVLQJSURYLGHVIRUWZRE\WHV ELWV RIDGGUHVVWREH LQFOXGHGLQWKHLQVWUXFWLRQ7KLVGDWDFDQEHDQDGGUHVVWRZKLFKD SURJUDPFDQMXPSRULWFDQEHDQDGGUHVVZKHUHDQRSHUDQGLVORFDWHG

One or Op Code Two Bytes Low Order Address to Low Order Operand

High Order Address to Low Order Operand ([WHQGHGDGGUHVVLQJLVUHTXLUHGIRUDSURJUDPWRMXPSIURPDQ\ORFDWLRQ LQPHPRU\WRDQ\RWKHUORFDWLRQRUORDGDQGVWRUHGDWDLQDQ\PHPRU\ ORFDWLRQ 'XULQJH[WHQGHGDGGUHVVLQJXVHVSHFLI\WKHVRXUFHRUGHVWLQDWLRQDGGUHVV RIDQRSHUDQG7KLVQRWDWLRQ nn LVXVHGWRLQGLFDWHWKHFRQWHQWRI PHPRU\DWnnZKHUHnnLVWKHELWDGGUHVVVSHFLILHGLQWKHLQVWUXFWLRQ 7KHWZRE\WHVRIDGGUHVVnnDUHXVHGDVDSRLQWHUWRDPHPRU\ORFDWLRQ 7KHXVHRIWKHSDUHQWKHVHVDOZD\VPHDQVWKDWWKHYDOXHHQFORVHGZLWKLQ WKHPLVXVHGDVDSRLQWHUWRDPHPRU\ORFDWLRQ)RUH[DPSOH   UHIHUVWRWKHFRQWHQWVRIPHPRU\DWORFDWLRQ

,QGH[HG$GGUHVVLQJ ,QWKLVW\SHRIDGGUHVVLQJWKHE\WHRIGDWDIROORZLQJWKH2S&RGH FRQWDLQVDGLVSODFHPHQWWKDWLVDGGHGWRRQHRIWKHWZRLQGH[UHJLVWHUV WKH 2S&RGHVSHFLILHVZKLFKLQGH[UHJLVWHULVXVHG WRIRUPDSRLQWHUWR PHPRU\7KHFRQWHQWVRIWKHLQGH[UHJLVWHUDUHQRWDOWHUHGE\WKLV RSHUDWLRQ

Op Code Two Byte Op Code Op Code

Displacement Operand added to index register to form a pointer to memory $QH[DPSOHRIDQLQGH[HGLQVWUXFWLRQLVWRORDGWKHFRQWHQWVRIWKH PHPRU\ORFDWLRQ ,QGH[5HJLVWHU'LVSODFHPHQW LQWRWKHDFFXPXODWRU

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



7KHGLVSODFHPHQWLVDVLJQHGWZR¶VFRPSOHPHQWQXPEHU,QGH[HG DGGUHVVLQJJUHDWO\VLPSOLILHVSURJUDPVXVLQJWDEOHVRIGDWDEHFDXVHWKH LQGH[UHJLVWHUFDQSRLQWWRWKHVWDUWRIDQ\WDEOH7ZRLQGH[UHJLVWHUVDUH SURYLGHGEHFDXVHYHU\RIWHQRSHUDWLRQVUHTXLUHWZRRUPRUHWDEOHV ,QGH[HGDGGUHVVLQJDOVRDOORZVIRUUHORFDWDEOHFRGH 7KHWZRLQGH[UHJLVWHUVLQWKH=DUHUHIHUUHGWRDV,;DQG,<7R LQGLFDWHLQGH[HGDGGUHVVLQJWKHQRWDWLRQXVH (IX+d) or (IY+d) +HUHGLVWKHGLVSODFHPHQWVSHFLILHGDIWHUWKH2S&RGH7KHSDUHQWKHVHV LQGLFDWHWKDWWKLVYDOXHLVXVHGDVDSRLQWHUWRH[WHUQDOPHPRU\

5HJLVWHU$GGUHVVLQJ 0DQ\RIWKH=2S&RGHVFRQWDLQELWVRILQIRUPDWLRQWKDWVSHFLI\ZKLFK &38UHJLVWHULVWREHXVHGIRUDQRSHUDWLRQ$QH[DPSOHRIUHJLVWHU DGGUHVVLQJLVWRORDGWKHGDWDLQUHJLVWHULQWRUHJLVWHU&

,PSOLHG$GGUHVVLQJ ,PSOLHGDGGUHVVLQJUHIHUVWRRSHUDWLRQVZKHUHWKH2S&RGHDXWRPDWLFDOO\ LPSOLHVRQHRUPRUH&38UHJLVWHUVDVFRQWDLQLQJWKHRSHUDQGV$Q H[DPSOHLVWKHVHWRIDULWKPHWLFRSHUDWLRQVZKHUHWKHDFFXPXODWRULV DOZD\VLPSOLHGWREHWKHGHVWLQDWLRQRIWKHUHVXOWV

5HJLVWHU,QGLUHFW$GGUHVVLQJ 7KLVW\SHRIDGGUHVVLQJVSHFLILHVDELW&38UHJLVWHUSDLU VXFKDV+/  WREHXVHGDVDSRLQWHUWRDQ\ORFDWLRQLQPHPRU\7KLVW\SHRILQVWUXFWLRQ LVYHU\SRZHUIXODQGLWLVXVHGLQDZLGHUDQJHRIDSSOLFDWLRQV

Op Code One or Two Bytes

$QH[DPSOHRIWKLVW\SHRILQVWUXFWLRQLVWRORDGWKHDFFXPXODWRUZLWKWKH GDWDLQWKHPHPRU\ORFDWLRQSRLQWHGWRE\WKH+/UHJLVWHUFRQWHQWV ,QGH[HGDGGUHVVLQJLVDFWXDOO\DIRUPRIUHJLVWHULQGLUHFWDGGUHVVLQJ

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



H[FHSWWKDWDGLVSODFHPHQWLVDGGHGZLWKLQGH[HGDGGUHVVLQJ5HJLVWHU LQGLUHFWDGGUHVVLQJDOORZVIRUYHU\SRZHUIXOEXWVLPSOHWRLPSOHPHQW PHPRU\DFFHVVHV7KHEORFNPRYHDQGVHDUFKFRPPDQGVLQWKH=DUH H[WHQVLRQVRIWKLVW\SHRIDGGUHVVLQJZKHUHDXWRPDWLFUHJLVWHU LQFUHPHQWLQJGHFUHPHQWLQJDQGFRPSDULQJKDVEHHQDGGHG7KHQRWDWLRQ IRULQGLFDWLQJUHJLVWHULQGLUHFWDGGUHVVLQJLVWRSXWSDUHQWKHVHVDURXQGWKH QDPHRIWKHUHJLVWHUWKDWLVWREHXVHGDVWKHSRLQWHU)RUH[DPSOHWKH V\PERO(HL) VSHFLILHVWKDWWKHFRQWHQWVRIWKHHLUHJLVWHUDUHWREHXVHG DVDSRLQWHUWRDPHPRU\ORFDWLRQ2IWHQUHJLVWHULQGLUHFWDGGUHVVLQJLV XVHGWRVSHFLI\ELWRSHUDQGV,QWKLVFDVHWKHUHJLVWHUFRQWHQWVSRLQWWR WKHORZHURUGHUSRUWLRQRIWKHRSHUDQGZKLOHWKHUHJLVWHUFRQWHQWVDUH DXWRPDWLFDOO\LQFUHPHQWHGWRREWDLQWKHXSSHUSRUWLRQRIWKHRSHUDQG

%LW$GGUHVVLQJ 7KH=FRQWDLQVDODUJHQXPEHURIELWVHWUHVHWDQGWHVWLQVWUXFWLRQV 7KHVHLQVWUXFWLRQVDOORZDQ\PHPRU\ORFDWLRQRU&38UHJLVWHUWREH VSHFLILHGIRUDELWRSHUDWLRQWKURXJKRQHRIWKUHHSUHYLRXVDGGUHVVLQJ PRGHV UHJLVWHUUHJLVWHULQGLUHFWDQGLQGH[HG ZKLOHWKUHHELWVLQWKH2S &RGHVSHFLI\ZKLFKRIWKHHLJKWELWVLVWREHPDQLSXODWHG

$GGUHVVLQJ0RGH&RPELQDWLRQV

0DQ\LQVWUXFWLRQVLQFOXGHPRUHWKDQRQHRSHUDQG VXFKDVDULWKPHWLF LQVWUXFWLRQVRUORDGV ,QWKHVHFDVHVWZRW\SHVRIDGGUHVVLQJPD\EH HPSOR\HG)RUH[DPSOHORDGFDQXVHLPPHGLDWHDGGUHVVLQJWRVSHFLI\WKH VRXUFHDQGUHJLVWHULQGLUHFWRULQGH[HGDGGUHVVLQJWRVSHFLI\WKH GHVWLQDWLRQ

,QVWUXFWLRQ2S&RGHV

7KLVVHFWLRQGHVFULEHVHDFKRIWKH=LQVWUXFWLRQVDQGSURYLGHVWDEOHV OLVWLQJWKH2S&RGHVIRUHYHU\LQVWUXFWLRQ,QHDFKRIWKHVHWDEOHVWKH2S &RGHVLQVKDGHGDUHDVDUHLGHQWLFDOWRWKRVHRIIHUHGLQWKH$&38

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



$OVRGHSLFWHGLVWKHDVVHPEO\ODQJXDJHPQHPRQLFWKDWLVXVHGIRUHDFK LQVWUXFWLRQ$OOLQVWUXFWLRQ2S&RGHVDUHOLVWHGLQKH[DGHFLPDOQRWDWLRQ 6LQJOHE\WH2S&RGHVUHTXLUHWZRKH[FKDUDFWHUVZKLOHGRXEOHE\WH2S &RGHVUHTXLUHIRXUKH[FKDUDFWHUV)RUFRQYHQLHQFHWKHFRQYHUVLRQIURP KH[WRELQDU\LVUHSHDWHGLQ7DEOH 

7DEOH+H[%LQDU\'HFLPDO&RQYHUVLRQ7DEOH

+H[ %LQDU\ 'HFLPDO 0 = 0000 = 0 1 = 0001 = 1 2 = 0010 = 2 3=0011=3 4 = 0100 = 4 5 = 0101 = 5 6=0110=6 7=0111=7 8 = 1000 = 8 9 = 1001 = 9 A = 1010 = 10 B=1011=11 C=1100=12 D=1101=13 E=1110=14 F = 1111 = 15

7KH=LQVWUXFWLRQPQHPRQLFVFRQVLVWRIDQ2S&RGHDQG]HURRQHRU WZRRSHUDQGV,QVWUXFWLRQVZKHUHWKHRSHUDQGLVLPSOLHGFRQWDLQVQR RSHUDQG,QVWUXFWLRQVWKDWFRQWDLQRQO\RQHORJLFDORSHUDQGZKHUHRQH RSHUDQGLVLQYDULDQW VXFKDVWKHLogicalORLQVWUXFWLRQ DUH UHSUHVHQWHGE\DRQHRSHUDQGPQHPRQLF,QVWUXFWLRQVWKDWFRQWDLQWZR YDU\LQJRSHUDQGVDUHUHSUHVHQWHGE\WZRRSHUDQGPQHPRQLFV

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



/RDGDQG([FKDQJH

7DEOH GHILQHVWKH2S&RGHIRUDOOWKHELWORDGLQVWUXFWLRQV LPSOHPHQWHGLQWKH=&38$OVRGHVFULEHGLQWKLVWDEOHLVWKHW\SHRI DGGUHVVLQJXVHGIRUHDFKLQVWUXFWLRQ7KHVRXUFHRIWKHGDWDLVIRXQGRQ WKHWRSKRUL]RQWDOURZDQGWKHGHVWLQDWLRQLVVSHFLILHGLQWKHOHIWFROXPQ )RUH[DPSOHORDGUHJLVWHU&IURPUHJLVWHU%XVHVWKH2S&RGH48H,QDOO WKHILJXUHVWKH2S&RGHLVVSHFLILHGLQKH[DGHFLPDOQRWDWLRQDQGWKH48H 0100 1000ELQDU\ FRGHLVIHWFKHGE\WKH&38IURPWKHH[WHUQDO PHPRU\GXULQJ0WLPHGHFRGHGDQGWKHQWKHUHJLVWHUWUDQVIHULV DXWRPDWLFDOO\SHUIRUPHGE\WKH&38 7KHDVVHPEO\ODQJXDJHPQHPRQLFIRUWKLVHQWLUHJURXSLV/'IROORZHG E\WKHGHVWLQDWLRQIROORZHGE\WKHVRXUFH /''(676285&( 1RWH WKDWVHYHUDOFRPELQDWLRQVRIDGGUHVVLQJPRGHVDUHSRVVLEOH)RUH[DPSOH WKHVRXUFHPD\XVHUHJLVWHUDGGUHVVLQJDQGWKHGHVWLQDWLRQPD\EHUHJLVWHU LQGLUHFWVXFKDVORDGWKHPHPRU\ORFDWLRQSRLQWHGWRE\UHJLVWHU+/ZLWK WKHFRQWHQWVRIUHJLVWHU'7KH2S&RGHIRUWKLVRSHUDWLRQLV727KH PQHPRQLFIRUWKLVORDGLQVWUXFWLRQLV LD HL D 7KHSDUHQWKHVHVDURXQGWKH+/LQGLFDWHVWKDWWKHFRQWHQWVRI+/DUHXVHG DVDSRLQWHUWRDPHPRU\ORFDWLRQ,QDOO=ORDGLQVWUXFWLRQPQHPRQLFV WKHGHVWLQDWLRQLVDOZD\VOLVWHGILUVWZLWKWKHVRXUFHIROORZLQJ7KH= DVVHPEO\ODQJXDJHLVGHILQHGIRUHDVHRISURJUDPPLQJ(YHU\LQVWUXFWLRQ LVVHOIGRFXPHQWLQJDQGSURJUDPVZULWWHQLQ=ODQJXDJHDUHHDV\WR PDLQWDLQ ,Q7DEOH VRPH2S&RGHVWKDWDUHDYDLODEOHLQWKH=XVHWZRE\WHV 7KLVIHDWXUHLVDQHIILFLHQWPHWKRGRIPHPRU\XWLOL]DWLRQEHFDXVH RUELWLQVWUXFWLRQVDUHLPSOHPHQWHGLQWKH=2IWHQXWLOL]HG LQVWUXFWLRQVVXFKDVDULWKPHWLFRUORJLFDORSHUDWLRQVDUHRQO\HLJKWELWV ZKLFKUHVXOWVLQEHWWHUPHPRU\XWLOL]DWLRQWKDQLVDFKLHYHGZLWKIL[HG LQVWUXFWLRQVL]HVVXFKDVELWV

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



7DEOH%LW/RDG*URXS/'

6RXUFH

,PSOLHG Ã5HJLVWHU 5HJÃ,QGLUHFW LQGH[HG ([WÃ$GGU ,PPH

Destination I 5Ã $ % Ã& ' (Ã ) / +/ Ã %& '( ,;G Ã O<G Ã ,QQ Ã Q Register A ED (' )   $ % & ' ( $ $ )' '' )' )' 57 ) ( ( $ ( G G QQ Q B         '' )' ''   ' G G Q C )   $ % & ' ( '' )' '' ( ( '( G G Q D         '' )' ''   % G G Q E )   $ % & ' ( '' )' '' ( ( ( G G Q H         '' )' ''   % G G Q L )   $ % & ' ( '' )' '' ( (  G G Q Reg (HL)        '' Indirect  ' (BC)  (DE)  INDEXED (IX+d) '' '' '' '' '' '' '' ''         G G G G G G G G Q (IY+d) )' )' )' )' )' )' )' )'         G G G G G G G G Q EXT, (nn)   ADDR Q Q IMPLIED I ('  R (' )

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



$OOORDGLQVWUXFWLRQVXVLQJLQGH[HGDGGUHVVLQJIRUHLWKHUWKHVRXUFHRU GHVWLQDWLRQORFDWLRQDFWXDOO\XVHWKUHHE\WHVRIPHPRU\ZLWKWKHWKLUGE\WH EHLQJWKHGLVSODFHPHQWG)RUH[DPSOHDORDGUHJLVWHU(ZLWKWKHRSHUDQG SRLQWHGWRE\,;ZLWKDQRIIVHWRILVZULWWHQ LID E, (IX + 8) 7KHLQVWUXFWLRQVHTXHQFHIRUWKLVLQPHPRU\LV

Address A DD Op Code A+1 5E A+2 08 Displacement Operand 7KHWZRH[WHQGHGDGGUHVVLQJLQVWUXFWLRQVDUHDOVRWKUHHE\WHLQVWUXFWLRQV )RUH[DPSOHWKHLQVWUXFWLRQWRORDGWKHDFFXPXODWRUZLWKWKHRSHUDQGLQ PHPRU\ORFDWLRQ)+LVZULWWHQ LID A, (6F 32H) DQGLWVLQVWUXFWLRQVHTXHQFHLV

Address A 3A Op Code A+1 32 Low Order Address

A+2 6F High Order Address 1RWLFHWKDWWKHORZRUGHUSRUWLRQRIWKHDGGUHVVLVDOZD\VWKHILUVW RSHUDQG 7KHORDGLPPHGLDWHLQVWUXFWLRQVIRUWKHJHQHUDOSXUSRVHELWUHJLVWHUV DUHWZRE\WHLQVWUXFWLRQV7KHLQVWUXFWLRQORDGUHJLVWHU+ZLWKWKHYDOXH +LVZULWWHQ LD H, 36H DQGLWVVHTXHQFHLV

Address A 26 Op Code

A+1 36 Operand

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



/RDGLQJDPHPRU\ORFDWLRQXVLQJLQGH[HGDGGUHVVLQJIRUWKHGHVWLQDWLRQ DQGLPPHGLDWHDGGUHVVLQJIRUWKHVRXUFHUHTXLUHVIRXUE\WHV)RUH[DPSOH LD (IX - 15), 21H DSSHDUVDV

Address A DD Op Code A+1 36

A+2 F1 One or Two Bytes Displacement (-15 in Signed A+3 21 Two’s Complement Operand to Load 1RWLFHWKDWZLWKDQ\LQGH[HGDGGUHVVLQJWKHGLVSODFHPHQWDOZD\VIROORZV GLUHFWO\DIWHUWKH2S&RGH 7DEOH VSHFLILHVWKHELWORDGRSHUDWLRQV7KHH[WHQGHGDGGUHVVLQJ IHDWXUHFRYHUVDOOUHJLVWHUSDLUV5HJLVWHULQGLUHFWRSHUDWLRQVVSHFLI\LQJ WKHVWDFNSRLQWHUDUHWKHPUSHDQGPOPLQVWUXFWLRQV7KHPQHPRQLFIRU WKHVHLQVWUXFWLRQVLVPUSHDQGPOP7KHVHGLIIHUIURPRWKHUELWORDGVLQ WKDWWKHVWDFNSRLQWHULVDXWRPDWLFDOO\GHFUHPHQWHGDQGLQFUHPHQWHGDV HDFKE\WHLVSXVKHGRQWRRUSRSSHGIURPWKHVWDFNUHVSHFWLYHO\)RU H[DPSOHWKHLQVWUXFWLRQ PUSH AF LVDVLQJOHE\WHLQVWUXFWLRQZLWKWKH 2S&RGHRIF5H'XULQJH[HFXWLRQWKLVVHTXHQFHLVJHQHUDWHG Decrement SP LD (SP), A Decrement SP LD (SP), F 7KHH[WHUQDOVWDFNQRZDSSHDUVDV

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



(SP) F Top of stack

(SP+1) A • • • •

7KHPOPLQVWUXFWLRQLVWKHH[DFWUHYHUVHRIDPUSH$OOPUSHDQGPOP LQVWUXFWLRQVXWLOL]HDELWRSHUDQGDQGWKHKLJKRUGHUE\WHLVDOZD\V SXVKHGILUVWDQGSRSSHGODVW PUSH BC is PUSH 8 then C PUSH DE is PUSH D then E PUSH HL is PUSH H then L POP HL is POP L then H 7KHLQVWUXFWLRQXVLQJH[WHQGHGLPPHGLDWHDGGUHVVLQJIRUWKHVRXUFH UHTXLUHVWZRE\WHVRIGDWDIROORZLQJWKH2S&RGH)RUH[DPSOH LD DE, 0659H DSSHDUVDV

Address A E6 Op Code

A+1 07 Operand ,QDOOH[WHQGHGLPPHGLDWHRUH[WHQGHGDGGUHVVLQJPRGHVWKHORZRUGHU E\WHDOZD\VDSSHDUVILUVWDIWHUWKH2S&RGH 7DEOH OLVWVWKHELWH[FKDQJHLQVWUXFWLRQVLPSOHPHQWHGLQWKH=2S &RGH08HDOORZVWKHSURJUDPPHUWRVZLWFKEHWZHHQWKHWZRSDLUVRI DFFXPXODWRUIODJUHJLVWHUVZKLOHD9HDOORZVWKHSURJUDPPHUWRVZLWFK EHWZHHQWKHGXSOLFDWHVHWRIVL[JHQHUDOSXUSRVHUHJLVWHUV7KHVH2S &RGHVDUHRQO\RQHE\WHLQOHQJWKWRPLQLPL]HWKHWLPHQHFHVVDU\WR SHUIRUPWKHH[FKDQJHVRWKDWWKHGXSOLFDWHEDQNVFDQEHXVHGWRPDNH YHU\IDVWLQWHUUXSWUHVSRQVHWLPHV

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



7DEOH%LW/RDG*URXS/'386+DQG323

Source

5HJLVWHU ,PPÃ([W ([WÃ$GGU 5HJÃ,QGLU

Register AF BC DE HL SP IX IY nn (nn) (SP) AF P1 BC 01 ED C1 n 4B n n n DE 11 ED D1 n 5B n n n HL 21 2A E1 n n n n SP F9 DD FD 31 ED F9 F9 n 7B n n n IX DD DD DD 21 2A E1 n n n n IY FD FD FD 21 2A E1 n n n n EXT (nn) ED ED 22 ED DD FD ADDR. 43 53 n 73 22 22 n n n n n n n n n n n PUSH REG. (SP) F6 C6 D6 E6 DD FD Instructions “ IND. E6 E6 NOTE: The Push & Pop instruction adjust the SP after every execution. ’ POP Instructions

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



7DEOH([FKDQJHV(;DQG(;;

,PSOLHG$GGUHVVLQJ $) %& '( DQG+/ +/ ,; ,< IMPLIED AF 08 BC DE D9 HL DE EB REG. (SP) E3 DD FD IND. E3 E3

%ORFN7UDQVIHUDQG6HDUFK

7DEOH OLVWVWKHH[WUHPHO\SRZHUIXOEORFNWUDQVIHULQVWUXFWLRQV$OOWKHVH LQVWUXFWLRQVRSHUDWHZLWKWKUHHUHJLVWHUV HL points to the source location DE points to the destination location BC is a byte counter $IWHUWKHSURJUDPPHUKDVLQLWLDOL]HGWKHVHWKUHHUHJLVWHUVDQ\RIWKHVH IRXULQVWUXFWLRQVPD\EHXVHG7KHLDI /RDGDQG,QFUHPHQW LQVWUXFWLRQ PRYHVRQHE\WHIURPWKHORFDWLRQSRLQWHGWRE\+/WRWKHORFDWLRQSRLQWHG WRE\'(5HJLVWHUSDLUV+/DQG'(DUHWKHQDXWRPDWLFDOO\LQFUHPHQWHG DQGDUHUHDG\WRSRLQWWRWKHIROORZLQJORFDWLRQV7KHE\WHFRXQWHU UHJLVWHUSDLU%& LVDOVRGHFUHPHQWHGDWWKLVWLPH7KLVLQVWUXFWLRQLV YDOXDEOHZKHQEORFNVRIGDWDPXVWEHPRYHGEXWRWKHUW\SHVRI SURFHVVLQJDUHUHTXLUHGEHWZHHQHDFKPRYH7KHLDIR /RDG,QFUHPHQW DQG5HSHDW LQVWUXFWLRQLVDQH[WHQVLRQRIWKHLDILQVWUXFWLRQ7KHVDPH ORDGDQGLQFUHPHQWRSHUDWLRQLVUHSHDWHGXQWLOWKHE\WHFRXQWHUUHDFKHVWKH FRXQWRI]HUR7KXVWKLVVLQJOHLQVWUXFWLRQFDQPRYHDQ\EORFNRIGDWD IURPRQHORFDWLRQWRDQ\RWKHU

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



%HFDXVHELWUHJLVWHUVDUHXVHGWKHVL]HRIWKHEORFNFDQEHXSWR IE\WHV I  ORQJDQGFDQEHPRYHGIURPDQ\ORFDWLRQLQPHPRU\ WRDQ\RWKHUORFDWLRQ)XUWKHUPRUHWKHEORFNVFDQEHRYHUODSSLQJEHFDXVH WKHUHDUHQRFRQVWUDLQWVRQWKHGDWDXVHGLQWKHWKUHHUHJLVWHUSDLUV

7KHLDDDQGLDDRLQVWUXFWLRQVDUHYHU\VLPLODUWRWKHLDIDQGLDIR7KH RQO\GLIIHUHQFHLVWKDWUHJLVWHUSDLUV+/DQG'(DUHGHFUHPHQWHGDIWHU HYHU\PRYHVRWKDWDEORFNWUDQVIHUVWDUWVIURPWKHKLJKHVWDGGUHVVRIWKH GHVLJQDWHGEORFNUDWKHUWKDQWKHORZHVW 7DEOH VSHFLILHVWKH2S&RGHVIRUWKHIRXUEORFNVHDUFKLQVWUXFWLRQV7KH ILUVWCPI &RPSDUHDQG,QFUHPHQW FRPSDUHVWKHGDWDLQWKHDFFXPXODWRU ZLWKWKHFRQWHQWVRIWKHPHPRU\ORFDWLRQSRLQWHGWRE\UHJLVWHU+/7KH UHVXOWRIWKHFRPSDUHLVVWRUHGLQRQHRIWKHIODJELWVDQGWKH+/UHJLVWHU SDLULVWKHQLQFUHPHQWHGDQGWKHE\WHFRXQWHU UHJLVWHUSDLU%& LV GHFUHPHQWHG

7KHLQVWUXFWLRQCPIRLVPHUHO\DQH[WHQVLRQRIWKHCPlLQVWUXFWLRQLQ ZKLFKWKHFRPSDUHLVUHSHDWHGXQWLOHLWKHUDPDWFKLVIRXQGRUWKHE\WH FRXQWHU UHJLVWHUSDLU%& EHFRPHV]HUR7KXVWKLVVLQJOHLQVWUXFWLRQFDQ VHDUFKWKHHQWLUHPHPRU\IRUDQ\ELWFKDUDFWHU

7KHCPD &RPSDUHDQG'HFUHPHQW DQGCPDR &RPSDUH'HFUHPHQWDQG 5HSHDW DUHVLPLODULQVWUXFWLRQVWKHLURQO\GLIIHUHQFHLVWKDWWKH\ GHFUHPHQW+/DIWHUHYHU\FRPSDUHVRWKDWWKH\VHDUFKWKHPHPRU\LQWKH RSSRVLWHGLUHFWLRQ7KHVHDUFKLVVWDUWHGDWWKHKLJKHVWORFDWLRQLQWKH PHPRU\EORFN 7KHVHEORFNWUDQVIHUDQGFRPSDUHLQVWUXFWLRQVDUHH[WUHPHO\SRZHUIXOLQ VWULQJPDQLSXODWLRQDSSOLFDWLRQV

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



7DEOH%ORFN7UDQVIHU*URXS

'HVWLQDWLRQ 6RXUFH Reg. Indir. (DE) Reg. Indir. (HL) (ED) LDI - Load (DE) “ (HL) A0 Inc HL and DE, Dec BC (ED) LDIR, - Load (DE) “(HL) B0 Inc HL and DE, Dec BC, Repeat until BC = 0 (ED) LDD - Load (DE) “ (HL) A8 Inc HL and DE, Dec BC (ED) LDDR - Load (DE) “ (HL) B8 Dec HL and DE, Dec BC, Repeat until BC = 0 Note: Reg HL points to source Reg DE points to destination Reg BC is byte counter

7DEOH%ORFN6HDUFK*URXS

6HDUFK /RFDWLRQ Reg. Indir. (HL) (ED) CPI A1 Inc HL, Dec BC (ED) CPRI. Inc HL, Dec BC B1 Repeat until) BC = 0 or find match (ED) WD Dec HL and BC A9 (ED) CPDR Dec HL and BC B9 Repeat until BC = 0 or find match Note: HL points to location in memory to be compared with accumulator contents BC Is byte counter

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



$ULWKPHWLFDQG/RJLFDO

7DEOH OLVWVDOOWKHELWDULWKPHWLFRSHUDWLRQVWKDWFDQEHSHUIRUPHGZLWK WKHDFFXPXODWRUDOVROLVWHGDUHWKHLQFUHPHQW INC DQGGHFUHPHQW DEC  LQVWUXFWLRQV,QDOOWKHVHLQVWUXFWLRQVH[FHSWINCDQGDECWKHVSHFLILHG ELWRSHUDWLRQLVSHUIRUPHGEHWZHHQWKHGDWDLQWKHDFFXPXODWRUDQGWKH VRXUFHGDWD7KHUHVXOWRIWKHRSHUDWLRQLVSODFHGLQWKHDFFXPXODWRUZLWK WKHH[FHSWLRQRIFRPSDUH CP WKDWOHDYHVWKHDFFXPXODWRUXQFKDQJHG$OO WKHVHRSHUDWLRQVHIIHFWWKHIODJUHJLVWHUDVDUHVXOWRIWKHVSHFLILHG RSHUDWLRQINCDQGDECLQVWUXFWLRQVVSHFLI\DUHJLVWHURUDPHPRU\ ORFDWLRQDVERWKVRXUFHDQGGHVWLQDWLRQRIWKHUHVXOW:KHQWKHVRXUFH RSHUDQGLVDGGUHVVHGXVLQJWKHLQGH[UHJLVWHUVWKHGLVSODFHPHQWPXVW IROORZGLUHFWO\:LWKLPPHGLDWHDGGUHVVLQJWKHDFWXDORSHUDQGIROORZV GLUHFWO\)RUH[DPSOHWKHLQVWUXFWLRQ AND07H LV

Address A E6 Op Code

A+1 07 Operand

$VVXPLQJWKDWWKHDFFXPXODWRUFRQWDLQHGWKHYDOXH)+WKHUHVXOWRI03H LVSODFHGLQWKHDFFXPXODWRU

$FFXPXODWRUEHIRUHRSHUDWLRQ1111 0011 F3H 2SHUDQG 0000 0111 07H 5HVXOWWR$FFXPXODWRU0000 0011 03H 7KH$GGLQVWUXFWLRQ ADD SHUIRUPVDELQDU\DGGEHWZHHQWKHGDWDLQWKH VRXUFHORFDWLRQDQGWKHGDWDLQWKHDFFXPXODWRU7KH6XEWUDFW SUB  SHUIRUPVDELQDU\VXEWUDFWLRQ:KHQWKH$GGZLWK&DUU\LVVSHFLILHG ADC RUWKH6XEWUDFWZLWK&DUU\ SBC WKHQWKH&DUU\IODJLVDOVRDGGHG RUVXEWUDFWHGUHVSHFWLYHO\7KHIODJVDQGGHFLPDODGMXVWLQVWUXFWLRQ DAA  LQWKH=DOORZDULWKPHWLFRSHUDWLRQVIRU • Multiprecision packed BCD numbers • Multiprecision signed or unsigned binary numbers • Multiprecision two’s complement signed numbers

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



2WKHULQVWUXFWLRQVLQWKLVJURXSDUHORJLFDODQG AND ORJLFDORU OR  H[FOXVLYHRU XOR DQGFRPSDUH CP  )LYHJHQHUDOSXUSRVHDULWKPHWLFLQVWUXFWLRQVRSHUDWHRQWKHDFFXPXODWRU RUFDUU\IODJ7KHVHILYHDUHOLVWHGLQ7DEOH 7KHGHFLPDODGMXVW LQVWUXFWLRQFDQDGMXVWIRUVXEWUDFWLRQDVZHOODVDGGLWLRQPDNLQJ%&' DULWKPHWLFRSHUDWLRQVVLPSOH1RWHWKDWWRDOORZIRUWKLVRSHUDWLRQWKHIODJ 1LVXVHG7KLVIODJLVVHWLIWKHODVWDULWKPHWLFRSHUDWLRQZDVDVXEWUDFW 7KHQHJDWHDFFXPXODWRU NEG LQVWUXFWLRQIRUPVWKHWZR¶VFRPSOHPHQWRI WKHQXPEHULQWKHDFFXPXODWRU)LQDOO\QRWLFHWKDWDUHVHWFDUU\ LQVWUXFWLRQLVQRWLQFOXGHGLQWKH=EHFDXVHWKLVRSHUDWLRQFDQEHHDVLO\ DFKLHYHGWKURXJKRWKHULQVWUXFWLRQVVXFKDVDORJLFDO$1'RIWKH DFFXPXODWRUZLWKLWVHOI 7DEOH OLVWVDOOWKHELWDULWKPHWLFRSHUDWLRQVEHWZHHQELWUHJLVWHUV 7KHUHDUHILYHJURXSVRILQVWUXFWLRQVLQFOXGLQJDGGZLWKFDUU\DQGVXEWUDFW ZLWKFDUU\ADCDQGSBCDIIHFWDOOWKHIODJV7KHVHWZRJURXSVVLPSOLI\ DGGUHVVFDOFXODWLRQRSHUDWLRQVRURWKHUELWDULWKPHWLFRSHUDWLRQV

7DEOH%LW$ULWKPHWLFDQG/RJLF

6RXUFH

Ã5HJLVWHUÃ$GGUHVVLQJ 5HJÃ,QGLU ,QGH[HG ,PPHG

A B C D E F L (HL) (IX+d) (lY+d) n ADD 87 80 81 82 83 84 85 88 DD FD C6 86 86 n d d ADD W CARRY 8F 88 89 8A 8B 8C 8D 8E DD FD CE ADC 8E 8E n d d SUBTRACT 97 90 91 92 93 94 95 96 DD FD D6 SUB 96 96 n d d SUB w CARR 9F 98 99 9A 9B 9C 9D 9E DD FD DE SBC 9E 9E n d d AND A7 A0 A1 A2 A3 A4 A5 A6 DD FD E6 A6 A6 n d d

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



7DEOH%LW$ULWKPHWLFDQG/RJLF

6RXUFH

Ã5HJLVWHUÃ$GGUHVVLQJ 5HJÃ,QGLU ,QGH[HG ,PPHG

XOR AF A8 A9 AA AB AC AD AE DD FD EE AE AE n d d OR B7 B0 B1 B2 B3 B4 B5 B6 DD FD F6 B6 B6 n d d COMPARE BF B8 B9 BA BB BC BD BE DD FD FE CP BE BE n d d INCREMENT 3C 04 0C 14 1C 24 2C 34 DD FD INC 34 34 d d DECREMENT 3D 05 0D 15 1D 25 2D 35 DD FD DEC 35 35 d d 7DEOH*HQHUDO3XUSRVH$)2SHUDWLRQ

Decimal Adjust Acc, DAA 27 Complement Acc, CPL 2F Negate Acc, NEG ED (2’s complement 44 Complement Carry Flag, CCF 3F Set Carry Flag, SCF 37

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



7DEOH%LW$ULWKPHWLF

6RXUFH BC DE HL SP IX IY Destination HL 09 19 29 39 ADD IX DD DD DD DD 09 19 39 29 IY FD FD FD FD 09 19 39 29 ADD with carry and set HL ED ED ED ED flags ADC 4A 5A 6A 7A SUB with carry and set HL ED ED ED ED flags SBC 42 52 62 72 Increment INC 03 13 23 33 DD FD 23 23 Decrement DEC DB 1B 2B 3B DD FD 2B 2B

5RWDWHDQG6KLIW

$PDMRUIHDWXUHRIWKH=LVWRURWDWHRUVKLIWGDWDLQWKHDFFXPXODWRUDQ\ JHQHUDOSXUSRVHUHJLVWHURUDQ\PHPRU\ORFDWLRQ$OOWKHURWDWHDQGVKLIW 2S&RGHVDUHGHSLFWHGLQ)LJXUH $OVRLQFOXGHGLQWKH=DUH DULWKPHWLFDQGORJLFDOVKLIWRSHUDWLRQV7KHVHRSHUDWLRQVDUHXVHIXOLQD ZLGHUDQJHRIDSSOLFDWLRQVLQFOXGLQJLQWHJHUPXOWLSOLFDWLRQDQGGLYLVLRQ 7ZR%&'GLJLWURWDWHLQVWUXFWLRQV RRDDQGRLD DOORZDGLJLWLQWKH DFFXPXODWRUWREHURWDWHGZLWKWKHWZRGLJLWVLQDPHPRU\ORFDWLRQ SRLQWHGWRE\UHJLVWHUSDLU+/ 6HH)LJXUH  7KHVHLQVWUXFWLRQVDOORZ IRUHIILFLHQW%&'DULWKPHWLF

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



7DEOH5RWDWHVDQG6KLIWV

6RXUFH

Type A B C D E F L (HL) (IX+d) (lY+d) A Rotate b b of CY 7 0 Left Circular Rotate Shift Rotate RCL CB CB CB CB CB CB CB CB DD FD RLCA D7 Right Circular 07 00 01 02 03 04 06 0E CB CB d d 06 06 Rotate Left RRC CB CB CB CB CB CB CB CB DD FD RRCA 0F 0F 08 09 0A 06 0C 0D 0E CB CB d d 0E 0E Rotate RL CB CB CB CB CB CB CB CB DD FD RLA 17 Right 17 10 11 12 13 14 15 16 CB CB d d 16 16 CY Shift RR CB CB CB CB CB CB CB CB DD FD RRA 1F Left Arithmetic 1F 18 19 1A 1B 1C 1D 1E CB CB d d 1E 1E Shift Right Arithmetic SLA CB CB CB CB CB CB CB CB DD FD 27 20 21 22 23 24 25 26 CB CB d d 26 26 Shift Right Logical SRA CB CB CB CB CB CB CB CB DD FD 2F 28 29 2A 2B 2C 2D 2E CB CB 0 d d 2E 2E Rotate b3-b0 b7-b4 b3-b0 (HL) Digit SRL CB CB CB CB CB CB CB CB DD FD Left ACC 3F 38 39 3A 3B 3C 3D 3E CB CB d d 3E 3E ED (HL) Rotate 6F Digit ACC Right ED 67

%LW0DQLSXODWLRQ

7KHDELOLW\WRVHWUHVHWDQGWHVWLQGLYLGXDOELWVLQDUHJLVWHURUPHPRU\ ORFDWLRQLVQHHGHGLQDOPRVWHYHU\SURJUDP7KHVHELWVPD\EHIODJVLQD JHQHUDOSXUSRVHVRIWZDUHURXWLQHLQGLFDWLRQVRIH[WHUQDOFRQWURO

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



FRQGLWLRQVRUGDWDSDFNHGLQWRPHPRU\ORFDWLRQVPDNLQJPHPRU\ XWLOL]DWLRQPRUHHIILFLHQW 7KH=FDQVHWUHVHWRUWHVWDQ\ELWLQWKHDFFXPXODWRUDQ\JHQHUDO SXUSRVHUHJLVWHURUDQ\PHPRU\ORFDWLRQZLWKDVLQJOHLQVWUXFWLRQ 7DEOH OLVWVWKHLQVWUXFWLRQVWKDWDUHDYDLODEOHIRUWKLVSXUSRVH 5HJLVWHUDGGUHVVLQJFDQVSHFLI\WKHDFFXPXODWRURUDQ\JHQHUDOSXUSRVH UHJLVWHURQZKLFKWKHRSHUDWLRQLVWREHSHUIRUPHG5HJLVWHULQGLUHFWDQG LQGH[HGDGGUHVVLQJDUHDYDLODEOHWRRSHUDWHRQH[WHUQDOPHPRU\ORFDWLRQV %LWWHVWRSHUDWLRQVVHWWKH=HURIODJ = LIWKHWHVWHGELWLVD]HUR

-XPS&DOODQG5HWXUQ

7DEOH OLVWVDOOWKHMXPSFDOODQGUHWXUQLQVWUXFWLRQVLPSOHPHQWHGLQWKH =&38$MXPSLVDEUDQFKLQDSURJUDPZKHUHWKHSURJUDPFRXQWHULV ORDGHGZLWKWKHELWYDOXHDVVSHFLILHGE\RQHRIWKHWKUHHDYDLODEOH DGGUHVVLQJPRGHV ,PPHGLDWH([WHQGHG5HODWLYHRU5HJLVWHU,QGLUHFW  1RWLFHWKDWWKHMXPSJURXSKDVVHYHUDOFRQGLWLRQVWKDWFDQEHVSHFLILHG EHIRUHWKHMXPSLVPDGH,IWKHVHFRQGLWLRQVDUHQRWPHWWKHSURJUDP PHUHO\FRQWLQXHVZLWKWKHQH[WVHTXHQWLDOLQVWUXFWLRQ7KHFRQGLWLRQVDUH DOOGHSHQGHQWRQWKHGDWDLQWKHIODJUHJLVWHU7KHLPPHGLDWHH[WHQGHG DGGUHVVLQJLVXVHGWRMXPSWRDQ\ORFDWLRQLQWKHPHPRU\7KLVLQVWUXFWLRQ UHTXLUHVWKUHHE\WHV WZRWRVSHFLI\WKHELWDGGUHVV ZLWKWKHORZRUGHU DGGUHVVE\WHILUVWIROORZHGE\WKHKLJKRUGHUDGGUHVVE\WH

)RUH[DPSOHDQXQFRQGLWLRQDOMXPSWRPHPRU\ORFDWLRQ3E32HLV

Address A C3 Op Code A+1 32 Low Order Address

A+2 3E High Order Address 7KHUHODWLYHMXPSLQVWUXFWLRQXVHVRQO\WZRE\WHVWKHVHFRQGE\WHLVD VLJQHGWZR¶VFRPSOHPHQWGLVSODFHPHQWIURPWKHH[LVWLQJ3&7KLV GLVSODFHPHQWFDQEHLQWKHUDQJHRIWRDQGLVPHDVXUHGIURP WKHDGGUHVVRIWKHLQVWUXFWLRQ2S&RGH

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



7KUHHW\SHVRIUHJLVWHULQGLUHFWMXPSVDUHDOVRLQFOXGHG7KHVH LQVWUXFWLRQVDUHLPSOHPHQWHGE\ORDGLQJWKHUHJLVWHUSDLU+/RURQHRIWKH LQGH[UHJLVWHUV;RU,<GLUHFWO\LQWRWKH3&7KLVIHDWXUHDOORZVIRU SURJUDPMXPSVWREHDIXQFWLRQRISUHYLRXVFDOFXODWLRQV $FDOOLVDVSHFLDOIRUPRIDMXPSZKHUHWKHDGGUHVVRIWKHE\WHIROORZLQJ WKHFDOOLQVWUXFWLRQLVSXVKHGRQWRWKHVWDFNEHIRUHWKHMXPSLVPDGH$ UHWXUQLQVWUXFWLRQLVWKHUHYHUVHRIDFDOOEHFDXVHWKHGDWDRQWKHWRSRIWKH VWDFNLVSRSSHGGLUHFWO\LQWRWKH3&WRIRUPDMXPSDGGUHVV7KHFDOODQG UHWXUQLQVWUXFWLRQVDOORZIRUVLPSOHVXEURXWLQHDQGLQWHUUXSWKDQGOLQJ 7ZRVSHFLDOUHWXUQLQVWUXFWLRQDUHLQFOXGHGLQWKH=IDPLO\RI FRPSRQHQWV7KHUHWXUQIURPLQWHUUXSWLQVWUXFWLRQ RETI DQGWKHUHWXUQ IURPQRQPDVNDEOHLQWHUUXSW RETN DUHWUHDWHGLQWKH&38DVDQ XQFRQGLWLRQDOUHWXUQLGHQWLFDOWRWKH2S&RGHC9H7KHGLIIHUHQFHLVWKDW RETI FDQEHXVHGDWWKHHQGRIDQLQWHUUXSWURXWLQHDQGDOO= SHULSKHUDOFKLSVUHFRJQL]HWKHH[HFXWLRQRIWKLVLQVWUXFWLRQIRUSURSHU FRQWURORIQHVWHGSULRULW\LQWHUUXSWKDQGOLQJ7KLVLQVWUXFWLRQFRXSOHG ZLWKWKH=SHULSKHUDOGHYLFHVLPSOHPHQWDWLRQVLPSOLILHVWKHQRUPDO UHWXUQIURPQHVWHGLQWHUUXSW:LWKRXWWKLVIHDWXUHWKHIROORZLQJVRIWZDUH VHTXHQFHLVQHFHVVDU\WRLQIRUPWKHLQWHUUXSWLQJGHYLFHWKDWWKHLQWHUUXSW URXWLQHLVFRPSOHWHG Disable Interrupt Prevent interrupt before routine is exited. LD A, n Notify peripheral that service OUT n, A routine is complete. Enable Interrupt Return

7KLVVHYHQE\WHVHTXHQFHFDQEHUHSODFHGZLWKWKHRQHE\WHEILQVWUXFWLRQ DQGWKHWZRE\WHRETILQVWUXFWLRQLQWKH=7KLVLVLPSRUWDQWEHFDXVH LQWHUUXSWVHUYLFHWLPHRIWHQPXVWEHPLQLPL]HG

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



7DEOH%LW0DQLSXODWLRQ*URXS

5HJLVWHUÃ$GGUHVVLQJ 5HJÃ,QGLU ,QGH[HG

A 8 C D E H L (HL) (IX+d) (IY+d) Bit DD FD Test 0 C8C8C8C8C8C8C8C8C8C8 Bit 47 40 41 42 43 44 45 46 d d 46 46 DD FD 1 C8C8C8C8C8C8C8C8C8C8 4F 48 49 4A 48 4C 4D 4E d d 4E 4E DD FD 2 C8C8C8C8C8C8C8C8C8C8 57 50 51 52 53 54 55 56 d d 56 56 DD FD 3 C8C8C8C8C8C8C8C8C8C8 5F 58 59 5A 5B 5C 5D 5E d d 46 46 DD FD 4 C8C8C8C8C8C8C8C8C8C8 67 60 61 62 63 64 65 66 d d 66 66 DD FD 5 C8C8C8C8C8C8C8C8C8C8 6F 68 69 6A 68 6C 6D 6E d d 6E 6E DD FD 6 C8C8C8C8C8C8C8C8C8C8 77 70 71 72 73 74 75 76 d d 76 76 DD DD 7 C8C8C8C8C8C8CSC8C8C8 7F 78 79 7A 78 7C 7D 7E d d 46 46

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



7DEOH%LW0DQLSXODWLRQ*URXS &RQWLQXHG

5HJLVWHUÃ$GGUHVVLQJ 5HJÃ,QGLU ,QGH[HG

Rest DD FD Bit 0 C8C8C8C8C8C8C8C8C8C8 RES 87 80 81 82 83 84 85 86 d d 86 86 DD FD 1 C8C8C8C8C8C8C8C8C8C8 8F 88 89 8A 88 8C 8D 8E d d 8E 8E DD FD 2 C8C8CSC8C8C8C8C8C8C8 97 90 91 92 93 94 95 96 d d 96 96 DD FD 3 C8C8C8C8CSC8C8C8C8C8 9F 98 99 9A 98 90 90 9E d d 9E 9E DD FD 4 C8C8C8C8C6C8C8C8C8C8 A7 AO AI A2 A3 A4 A5 A6 d d A6 A6 DD FD 5 C8C8C8C808C8C8C8C8C8 AF A8 A9 AA AB AC AD AE d d AE AE DD FD 6 C8C8C8C8C8C8C8C8C8C8 B7 B0 B1 82 B3 B4 B5 B6 d d B6 B6 DD DD 7 C8C8C8C8C8C8C8C8C8C8 BF B8 89 8A B8 8C BD 9E d d BE BE

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



7DEOH%LW0DQLSXODWLRQ*URXS &RQWLQXHG

5HJLVWHUÃ$GGUHVVLQJ 5HJÃ,QGLU ,QGH[HG

Set DD FD Bit 0 C8C8C8C8C8C8C8C8C8C8 SET C7 C0 C1 C2 C3 C4 C5 C6 d d C6 C6 DD FD 1 C8C8C8C8C8C8C8C8C8C8 CF C8 C9 CA C8 CC CD CE d d CE CE DD FD 2 C8C8C8C8C8C8C8C8C8C8 D7 DO D1 D2 D3 D4 DS D6 d d D6 D6 DD FD 3 C8C8C8C8C8C8C8C8C8C8 DF D8 09 DA DS DC DD DE d d DE DE DD FD 4 C8C8C8C8C8C8C8C8C8C8 E7 E0 E1 E2 E3 E4 E5 E6 d d E6 E6 DD FD 5 C8C8C8C8C8C8C8C8C8C8 EF E8 E9 EA EB EC ED EE d d EE EE DD FD 6 C8C8C8C8C8C8C8C8C8C8 F7 FO F1 F2 F3 F4 FS F6 d d F6 F6 DD FD 7 C8C8C8C8C8C8C8C8C8C8 FF F8 F9 FA FB FC FD FE d d FE FE

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



7DEOH-XPS&DOODQG5HWXUQ*URXS

&RQGLWLRQ

Un- Carry Non Zero Non Parity Parity Sign Sign Reg Cond. Carry Zero Even Odd Neg Pos Bž0 JUMP JP IMMED. nn C3 D8 D2 CA C2 EA E2 FA F2 EXT. n n n n n n n n n n n n n n n n n n JUMP JR RELATIVE PC+e 18 38 30 28 20 e-2 e-2 e-2 e-2 e-2 JUMP JP Register (HL) EB INDIR. (IX) DD E9 (IY) FD E9 CALL IMMED. nn CD DC D4 CC C4 EC E4 FC F4 EXT. n n n n n n n n n n n n n n n n n n Decrement B, Jump RELATIVE PC+e 10 If Non Zero DJNZ e-2 Return RE REGISTER (SP) C9 D8 D0 C8 C0 E8 E0 F8 F0 INDIR. (SP+1) Return From ED INT RETI 4D Return From ED Non Maskable 45 INT RETN

7KHLQVWUXFWLRQDJNZLVXVHGWRIDFLOLWDWHSURJUDPORRSFRQWURO7KLVWZR E\WHUHODWLYHMXPSLQVWUXFWLRQGHFUHPHQWVWKH%UHJLVWHUDQGWKHMXPS RFFXUVLIWKH%UHJLVWHUKDVQRWEHHQGHFUHPHQWHGWR]HUR7KHUHODWLYH GLVSODFHPHQWLVH[SUHVVHGDVDVLJQHGWZR¶VFRPSOHPHQWQXPEHU$ VLPSOHH[DPSOHRILWVXVHLV

$GGUHVV ,QVWUXFWLRQ &RPPHQWV N, N+1 LD B, 7 : set B register to count of 7 N+2 to N+9 (Perform a sequence of instructions) : loop to be performed 7 times N+10,N+11 DJNZ -8 : to jump from N+12 to N+2 N + 12 (Next Instruction)

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



7DEOH OLVWVWKHHLJKW2S&RGHVIRUWKHUHVWDUWLQVWUXFWLRQ7KLV LQVWUXFWLRQLVDVLQJOHE\WHFDOOWRDQ\RIWKHHLJKWDGGUHVVHVOLVWHG7KH VLPSOHPQHPRQLFIRUWKHVHHLJKWFDOOVLVDOVROLVWHG7KLVLQVWUXFWLRQLV XVHIXOIRUIUHTXHQWO\XVHGURXWLQHVEHFDXVHPHPRU\FRQVXPSWLRQLV PLQLPL]HG

7DEOH5HVWDUW*URXS

2S &RGH CALL 0000H C7 RST 0 Address 0008H CF RST 8 0010H D7 RST 16 0018H DF RST 24 0020H E7 RST 32 0028H EF RST 40 0030H F7 RST 48 0038H FF RST 56

,QSXW2XWSXW

7KH=KDVDQH[WHQVLYHVHWRILQSXWDQGRXWSXWLQVWUXFWLRQVDVVKRZQLQ 7DEOH DQG7DEOH 7KHDGGUHVVLQJRIWKHLQSXWRURXWSXWGHYLFHFDQ EHHLWKHUDEVROXWHRUUHJLVWHULQGLUHFWXVLQJWKH&UHJLVWHU,QWKHUHJLVWHU LQGLUHFWDGGUHVVLQJPRGHGDWDFDQEHWUDQVIHUUHGEHWZHHQWKH,2GHYLFHV DQGDQ\RIWKHLQWHUQDOUHJLVWHUV,QDGGLWLRQHLJKWEORFNWUDQVIHU LQVWUXFWLRQVKDYHEHHQLPSOHPHQWHG7KHVHLQVWUXFWLRQVDUHVLPLODUWRWKH PHPRU\EORFNWUDQVIHUVH[FHSWWKDWWKH\XVHUHJLVWHUSDLU+/IRUDSRLQWHU WRWKHPHPRU\VRXUFH RXWSXWFRPPDQGV RUGHVWLQDWLRQ LQSXW FRPPDQGV ZKLOHUHJLVWHU%LVXVHGDVDE\WHFRXQWHU5HJLVWHU&KROGV WKHDGGUHVVRIWKHSRUWIRUZKLFKWKHLQSXWRURXWSXWFRPPDQGLVUHTXLUHG %HFDXVHUHJLVWHU%LVHLJKWELWVLQOHQJWKWKH,2EORFNWUDQVIHUFRPPDQG KDQGOHVXSWRE\WHV

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



,QWKHLQVWUXFWLRQVINADQGOUTnAWKH,2GHYLFHDGGUHVVQDSSHDUVLQ WKHORZHUKDOIRIWKHDGGUHVVEXV $$ ZKLOHWKHDFFXPXODWRUFRQWHQW LVWUDQVIHUUHGLQWKHXSSHUKDOIRIWKHDGGUHVVEXV,QDOOUHJLVWHULQGLUHFW LQSXWRXWSXWLQVWUXFWLRQVLQFOXGLQJEORFN,2WUDQVIHUVWKHFRQWHQWRI UHJLVWHU&LVWUDQVIHUUHGWRWKHORZHUKDOIRIWKHDGGUHVVEXV GHYLFH DGGUHVV ZKLOHWKHFRQWHQWRIUHJLVWHU%LVWUDQVIHUUHGWRWKHXSSHUKDOIRI WKHDGGUHVVEXV

&38&RQWURO*URXS

7DEOH LOOXVWUDWHVWKHVL[JHQHUDOSXUSRVH&38FRQWUROLQVWUXFWLRQV7KH NOPLVDGRQRWKLQJLQVWUXFWLRQ7KHHALTLQVWUXFWLRQVXVSHQGV&38 RSHUDWLRQXQWLODVXEVHTXHQWLQWHUUXSWLVUHFHLYHGZKLOHWKHDIDQGE1DUH XVHGWRORFNRXWDQGHQDEOHLQWHUUXSWV7KHWKUHHLQWHUUXSWPRGH FRPPDQGVVHWWKH&38WRDQ\RIWKHWKUHHDYDLODEOHLQWHUUXSWUHVSRQVH PRGHVDVIROORZV,I0RGHLVVHWWKHLQWHUUXSWLQJGHYLFHFDQLQVHUWDQ\ LQVWUXFWLRQRQWKHGDWDEXVDQGDOORZWKH&38WRH[HFXWHLW0RGHLVD VLPSOLILHGPRGHZKHUHWKH&38DXWRPDWLFDOO\H[HFXWHVDUHVWDUW RST WR ORFDWLRQ0038HVRWKDWQRH[WHUQDOKDUGZDUHLVUHTXLUHG WKHROG3& FRQWHQWLVSXVKHGRQWRWKHVWDFN 0RGHLVWKHPRVWSRZHUIXOEHFDXVHLW DOORZVIRUDQLQGLUHFWFDOOWRDQ\ORFDWLRQLQPHPRU\:LWKWKLVPRGHWKH &38IRUPVDELWPHPRU\DGGUHVVZKHUHWKHXSSHUHLJKWELWVDUHWKH FRQWHQWRIUHJLVWHU,DQGWKHORZHUHLJKWELWVDUHVXSSOLHGE\WKH LQWHUUXSWLQJGHYLFH7KLVDGGUHVVSRLQWVWRWKHILUVWRIWZRVHTXHQWLDOE\WHV LQDWDEOHZKHUHWKHDGGUHVVRIWKHVHUYLFHURXWLQHLVORFDWHG7KH&38 DXWRPDWLFDOO\REWDLQVWKHVWDUWLQJDGGUHVVDQGSHUIRUPVDCALL LQVWUXFWLRQWRWKLVDGGUHVV

Pointer to Interrupt Table, Address of Interrupt Register I is Upper Address, Service Routine Peripheral Supplies Lower Address

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



7DEOH,QSXW*URXS

5HJLVWHU ,PPHG ,QGLU (n) (c) Input Input IN Register A DB ED Destination Address n 7B BED 40 CED 48 DED 50 EED 58 HED 60 LED 68 INI - input & Register (HL) ED Block inc HL, Dec B Indir A2 Input INIR - INP, Inc HL, ED Commands Dec B, repeat IF Bž0 B2 IND - input & Inc ED Dec HL, Dec B AA INDR - input, Dec HL, ED Dec B, repeat IF Bž0 BA

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



7DEOH%LW$ULWKPHWLFDQG/RJLF

6RXUFH Register Register Indir. AB CDE HL(HL) 11OUT Immed (n) D3 . n Reg (c) ED ED ED ED ED ED ED Ind. 79 41 49 51 59 61 69 11OUT - output ED Block inc HL, dec B A3 Output 11OUT - output ED Command dec B, repeat if Bž0 B3 11OUT - output ED dec HL and B AB 11OUTDR - output, dec ED HL and B, repeat IF Bž0 BB Port Destination Address

7DEOH0LVFHOODQHRXV&38&RQWURO

NOP 00 HALT 76 Disable INT (EI) F3 Enable INT (EI) FB Set INT mode 0 ED 8080A mode IM0 46 Set INT mode 1 ED Call to location 0038H IM1 56 Set INT mode 2 ED indirect call using register I and B IM2 5E bits from INTER device as a pointer

80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



80 =&38,QVWUXFWLRQ'HVFULSWLRQ <%27 7UGT U/CPWCN



=,QVWUXFWLRQ6HW

=$VVHPEO\/DQJXDJH

7KHDVVHPEO\ODQJXDJHDOORZVWKHXVHUWRZULWHDSURJUDPZLWKRXWFRQFHUQ IRUPHPRU\DGGUHVVHVRUPDFKLQHLQVWUXFWLRQIRUPDWV,WXVHVV\PEROLF DGGUHVVHVWRLGHQWLI\PHPRU\ORFDWLRQVDQGPQHPRQLFFRGHV 2S&RGHV DQGRSHUDQGV WRUHSUHVHQWWKHLQVWUXFWLRQV/DEHOV V\PEROV DUHDVVLJQHG WRDSDUWLFXODULQVWUXFWLRQVWHSLQDVRXUFHSURJUDPWRLGHQWLI\WKDWVWHSDV DQHQWU\SRLQWIRUXVHLQVXEVHTXHQWLQVWUXFWLRQV2SHUDQGVIROORZLQJHDFK LQVWUXFWLRQUHSUHVHQWVWRUDJHORFDWLRQVUHJLVWHUVRUFRQVWDQWYDOXHV7KH DVVHPEO\ODQJXDJHDOVRLQFOXGHVDVVHPEOHUGLUHFWLYHVWKDWVXSSOHPHQWWKH PDFKLQHLQVWUXFWLRQ$SVHXGRRSIRUH[DPSOHLVDVWDWHPHQWWKDWLVQRW WUDQVODWHGWRDPDFKLQHLQVWUXFWLRQEXWUDWKHULVLQWHUSUHWHGDVDGLUHFWLYH WKDWFRQWUROVWKHDVVHPEO\SURFHVV $SURJUDPZULWWHQLQDVVHPEO\ODQJXDJHLVFDOOHGDVRXUFHSURJUDPZKLFK FRQVLVWVRIV\PEROLFFRPPDQGVFDOOHGVWDWHPHQWV(DFKVWDWHPHQWLV ZULWWHQRQDVLQJOHOLQHDQGPD\FRQVLVWRIIURPRQHWRIRXUHQWULHV$ODEHO ILHOGDQRSHUDWLRQILHOGDQRSHUDQGILHOGDQGDFRPPHQWILHOG7KHVRXUFH SURJUDPLVSURFHVVHGE\WKHDVVHPEOHUWRREWDLQDPDFKLQHODQJXDJH SURJUDP REMHFWSURJUDP WKDWFDQEHH[HFXWHGGLUHFWO\E\WKH=&38 =L/2*SURYLGHVVHYHUDODVVHPEOHUVWKDWGLIIHULQWKHIHDWXUHVRIIHUHG %RWKDEVROXWHDQGUHORFDWDEOHDVVHPEOHUVDUHDYDLODEOHZLWKWKH 'HYHORSPHQWDQG0LFURFRPSXWHU6\VWHPV7KHDEVROXWHDVVHPEOHULV FRQWDLQHGLQEDVHOHYHOVRIWZDUHRSHUDWLQJLQDIPHPRU\VSDFHZKLOH WKHUHORFDWLQJDVVHPEOHULVSDUWRIWKH5,2HQYLURQPHQWRSHUDWLQJLQD IPHPRU\VSDFH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



=6WDWXV,QGLFDWRU)ODJV

7KHIODJUHJLVWHUV )DQG) VXSSO\LQIRUPDWLRQWRWKHXVHUDERXWWKHVWDWXV RIWKH=DWDQ\JLYHQWLPH7KHELWSRVLWLRQVIRUHDFKIODJLVOLVWHGEHORZ

 S ZXNXP/VNC

6\PERO )LHOG1DPH C Carry Flag N Add/Subtract P/V Parity/ H Half Carry Flag Z SSign Flag XNot Used

(DFKRIWKHWZRIODJUHJLVWHUVFRQWDLQVELWVRIVWDWXVLQIRUPDWLRQWKDWDUH VHWRUFOHDUHGE\&38RSHUDWLRQV %LWVDQGDUHQRWXVHG )RXURIWKHVH ELWV &39=DQG6 PD\EHWHVWHGIRUXVHZLWKFRQGLWLRQDOJUMPCALL RURETURNLQVWUXFWLRQV7ZRIODJVPD\QRWEHWHVWHG +1 DQGDUHXVHG IRU%&'DULWKPHWLF

&DUU\)ODJ

7KH&DUU\)ODJ & LVVHWRUFOHDUHGGHSHQGLQJRQWKHRSHUDWLRQSHUIRUPHG )RUADDLQVWUXFWLRQVWKDWJHQHUDWHD&DUU\DQGSUBLQVWUXFWLRQVWKDW JHQHUDWHD%RUURZWKH&DUU\)ODJVHWV7KH&DUU\)ODJLVUHVHWE\DQADD LQVWUXFWLRQWKDWGRHVQRWJHQHUDWHD&DUU\DQGE\DSUBLQVWUXFWLRQWKDW GRHVQRWJHQHUDWHD%RUURZ7KLVVDYHG&DUU\IDFLOLWDWHVVRIWZDUHURXWLQHV

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



IRUH[WHQGHGSUHFLVLRQDULWKPHWLF$OVRWKHDAALQVWUXFWLRQVHWVWKH&DUU\ )ODJLIWKHFRQGLWLRQVIRUPDNLQJWKHGHFLPDODGMXVWPHQWDUHPHW

)RULQVWUXFWLRQVRLA RRARLSDQGRRSWKH&DUU\ELWLVXVHGDVDOLQN EHWZHHQWKHOHDVWVLJQLILFDQWE\WH /6% DQGPRVWVLJQLILFDQWE\WH 06%  IRUDQ\UHJLVWHURUPHPRU\ORFDWLRQ'XULQJLQVWUXFWLRQVRLCARLCDQG SLAWKH&DUU\FRQWDLQVWKHODVWYDOXHVKLIWHGRXWRI%LWRIDQ\UHJLVWHU RUPHPRU\ORFDWLRQ'XULQJLQVWUXFWLRQVRRCARRCSRADQGSRLWKH &DUU\FRQWDLQVWKHODVWYDOXHVKLIWHGRXWRI%LW0RIDQ\UHJLVWHURU PHPRU\ORFDWLRQ

)RUWKHORJLFDOLQVWUXFWLRQVANDORDQGXORWKH&DUU\LVUHVHW 7KH&DUU\)ODJFDQDOVREHVHWE\WKH6HW&DUU\)ODJ SCF DQG FRPSOHPHQWHGE\WKH&RPSOLPHQW&DUU\)ODJ CCF LQVWUXFWLRQV

$GG6XEWUDFW)ODJ

7KH$GG6XEWUDFW)ODJ 1 LVXVHGE\WKHDecimalAdjust AccumulatorLQVWUXFWLRQ '$$ WRGLVWLQJXLVKEHWZHHQADDDQGSUB LQVWUXFWLRQV)RUADDLQVWUXFWLRQV1LVFOHDUHGWR)RU68%LQVWUXFWLRQV 1LVVHWWR

$GG6XEWUDFW)ODJ

7KHDecimalAdjustAccumulatorLQVWUXFWLRQ DAA XVHVWKLVIODJWR GLVWLQJXLVKEHWZHHQADDDQGSUBTRACTLQVWUXFWLRQV)RUDOOADD LQVWUXFWLRQV1VHWVWR)RUDOOSUBTRACTLQVWUXFWLRQV1VHWVWR

3DULW\2YHUIORZ)ODJ 39

7KLVIODJLVVHWWRDVSHFLILFVWDWHGHSHQGLQJRQWKHRSHUDWLRQSHUIRUPHG )RUDULWKPHWLFRSHUDWLRQVWKLVIODJLQGLFDWHVDQ2YHUIORZFRQGLWLRQZKHQ WKHUHVXOWLQWKH$FFXPXODWRULVJUHDWHUWKDQWKHPD[LPXPSRVVLEOHQXPEHU

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



+127 RULVOHVVWKDQWKHPLQLPXPSRVVLEOHQXPEHU ±128 7KLV2YHUIORZ FRQGLWLRQLVGHWHUPLQHGE\H[DPLQLQJWKHVLJQELWVRIWKHRSHUDQGV )RUDGGLWLRQRSHUDQGVZLWKGLIIHUHQWVLJQVQHYHUFDXVH2YHUIORZ:KHQ DGGLQJRSHUDQGVZLWKOLNHVLJQVDQGWKHUHVXOWKDVDGLIIHUHQWVLJQWKH 2YHUIORZ)ODJLVVHWIRUH[DPSOH

+120 = 0111 1000 ADDEND +105 = 0110 1001 AUGEND +225 = 1110 0001 (-95) SUM

7KHWZRQXPEHUVDGGHGWRJHWKHUUHVXOWHGLQDQXPEHUWKDWH[FHHGV+127 DQGWKHWZRSRVLWLYHRSHUDQGVKDYHUHVXOWHGLQDQHJDWLYHQXPEHU 95  ZKLFKLVLQFRUUHFW7KH2YHUIORZ)ODJLVWKHUHIRUHVHW )RUVXEWUDFWLRQ2YHUIORZFDQRFFXUIRURSHUDQGVRIXQOLNHVLJQV2SHUDQGV RIOLNHVLJQVQHYHUFDXVH2YHUIORZ)RUH[DPSOH

+127 0111 1111 MINUEND (-) -64 1100 0000 SUBTRAHEND +191 1011 1111 DIFFERENCE

7KHPLQXHQGVLJQKDVFKDQJHGIURPD3RVLWLYHWRDQHJDWLYHJLYLQJDQ LQFRUUHFWGLIIHUHQFH2YHUIORZLVVHW $QRWKHUPHWKRGIRULGHQWLI\LQJDQ2YHUIORZLVWRREVHUYHWKH&DUU\WRDQG RXWRIWKHVLJQELW,IWKHUHLVD&DUU\LQDQGQR&DUU\RXWRULIWKHUHLVQR &DUU\LQDQGD&DUU\RXWWKHQ2YHUIORZKDVRFFXUUHG 7KLVIODJLVDOVRXVHGZLWKORJLFDORSHUDWLRQVDQGURWDWHLQVWUXFWLRQVWR LQGLFDWHWKHUHVXOWLQJSDULW\LV(YHQ7KHQXPEHURI1ELWVLQDE\WHDUH FRXQWHG,IWKHWRWDOLV2GG2''SDULW\LVIODJJHG 3 0 ,IWKHWRWDOLV (YHQ(9(1SDULW\LVIODJJHG 3 1  'XULQJVHDUFKLQVWUXFWLRQV CPICPIRCPDCPDR DQGEORFNWUDQVIHU LQVWUXFWLRQV LDILDIRLDDLDDR WKH39)ODJPRQLWRUVWKHVWDWHRIWKH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



%\WH&RXQW5HJLVWHU BC :KHQGHFUHPHQWLQJLIWKHE\WHFRXQWHU GHFUHPHQWVWR0WKHIODJLVFOHDUHGWR0RWKHUZLVHWKHIODJLVVHWWR1 'XULQJLDA,IDQGLDA,RLQVWUXFWLRQVWKH39)ODJLVVHWZLWKWKHYDOXH RIWKHLQWHUUXSWHQDEOHIOLSIORS IFF2 IRUVWRUDJHRUWHVWLQJ :KHQLQSXWWLQJDE\WHIURPDQ,2GHYLFHZLWKDQIN r C LQVWUXFWLRQ WKH39)ODJLVDGMXVWHGWRLQGLFDWHWKHGDWDSDULW\

+DOI&DUU\)ODJ

7KH+DOI&DUU\)ODJ + LVVHW 1 RUFOHDUHG 0 GHSHQGLQJRQWKH&DUU\ DQG%RUURZVWDWXVEHWZHHQ%LWVDQGRIDQELWDULWKPHWLFRSHUDWLRQ 7KLVIODJLVXVHGE\WKHDecimalAdjustAccumulatorLQVWUXFWLRQ DAA WRFRUUHFWWKHUHVXOWRIDSDFNHG%&'DGGRUVXEWUDFWRSHUDWLRQ7KH +)ODJLVVHW 1 RUFOHDUHG 0 DFFRUGLQJWRWKHIROORZLQJWDEOH

+)ODJ $GG 6XEWUDFW 1 A Carry occurs from Bit 3 to Bit 4 A Borrow from Bit 4 occurs 0 No Carry occurs from Bit 3 to Bit 4 No Borrow from Bit 4 occurs

=HUR)ODJ

7KH=HUR)ODJ = LVVHW  RUFOHDUHG  LIWKHUHVXOWJHQHUDWHGE\WKH H[HFXWLRQRIFHUWDLQLQVWUXFWLRQVLV

)RUELWDULWKPHWLFDQGORJLFDORSHUDWLRQVWKH=IODJLVVHWWRD1LIWKH UHVXOWLQJE\WHLQWKH$FFXPXODWRULV0,IWKHE\WHLVQRW0WKH=IODJLV UHVHWWR0 )RUFRPSDUH 6HDUFK LQVWUXFWLRQVWKH=IODJLVVHWWR1LIWKHYDOXHLQWKH $FFXPXODWRULVHTXDOWRWKHYDOXHLQWKHPHPRU\ORFDWLRQLQGLFDWHGE\WKH YDOXHRIWKH5HJLVWHUSDLU+/ :KHQWHVWLQJDELWLQDUHJLVWHURUPHPRU\ORFDWLRQWKH=IODJFRQWDLQVWKH FRPSOHPHQWHGVWDWHRIWKHLQGLFDWHGELW VHH³%LWEV´ 

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



:KHQLQSXWWLQJRURXWSXWWLQJDE\WHEHWZHHQDPHPRU\ORFDWLRQDQGDQ,2 GHYLFH INIINDOUTIDQGOUTD LIWKHUHVXOWRIGHFUHPHQWLQJWKHB 5HJLVWHULV0WKH=IODJLV1RWKHUZLVHWKH=IODJLV0$OVRIRUE\WHLQSXWV IURP,2GHYLFHVXVLQJIN r C WKH=IODJLVVHWWRLQGLFDWHDE\WHLQSXW

6LJQ)ODJ

7KH6LJQ)ODJ 6 VWRUHVWKHVWDWHRIWKHPRVWVLJQLILFDQWELWRIWKH $FFXPXODWRU ELW :KHQWKH=SHUIRUPVDULWKPHWLFRSHUDWLRQVRQ VLJQHGQXPEHUVWKHELQDU\WZRVFRPSOHPHQWQRWDWLRQLVXVHGWRUHSUHVHQW DQGSURFHVVQXPHULFLQIRUPDWLRQ$SRVLWLYHQXPEHULVLGHQWLILHGE\D0LQ %LW$QHJDWLYHQXPEHULVLGHQWLILHGE\D7KHELQDU\HTXLYDOHQWRIWKH PDJQLWXGHRIDSRVLWLYHQXPEHULVVWRUHGLQELWVWRIRUDWRWDOUDQJHRI IURP0WR127$QHJDWLYHQXPEHULVUHSUHVHQWHGE\WKHWZRVFRPSOHPHQW RIWKHHTXLYDOHQWSRVLWLYHQXPEHU7KHWRWDOUDQJHIRUQHJDWLYHQXPEHUVLV IURP±1 WR ±128 :KHQLQSXWWLQJDE\WHIURPDQ,2GHYLFHWRDUHJLVWHUXVLQJDQ,1U &  LQVWUXFWLRQWKH6)ODJLQGLFDWHVHLWKHUSRVLWLYH 6  RUQHJDWLYH 6   GDWD

=,QVWUXFWLRQ'HVFULSWLRQ

([HFXWLRQWLPH (7 IRUHDFKLQVWUXFWLRQLVJLYHQLQPLFURVHFRQGVIRUDQ DVVXPHG0+]FORFN7RWDOPDFKLQHF\FOHV 0 DUHLQGLFDWHGZLWKWRWDO FORFNSHULRGV 76WDWHV $OVRLQGLFDWHGDUHWKHQXPEHURI76WDWHVIRUHDFK 0F\FOH)RUH[DPSOH 0&\FOHV76WDWHV  0+](7 LQGLFDWHVWKDWWKHLQVWUXFWLRQFRQVLVWVRIPDFKLQHF\FOHV7KHILUVWF\FOH FRQWDLQVFORFNSHULRGV 76WDWHV 7KHVHFRQGF\FOHFRQWDLQVFORFN SHULRGVIRUDWRWDORIFORFNSHULRGVRU76WDWHV7KHLQVWUXFWLRQH[HFXWHVLQ PLFURVHFRQGV 5HJLVWHUIRUPDWLVLQGLFDWHGIRUHDFKLQVWUXFWLRQZLWKWKHPRVWVLJQLILFDQW ELWWRWKHOHIWDQGWKHOHDVWVLJQLILFDQWELWWRWKHULJKW

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



%LW/RDG*URXS

/'UU 1RGTCVKQP U‘U

1R%QFG /'

1RGTCPFU UU

01 r r‡

&GUETKRVKQP 7KHFRQWHQWVRIDQ\UHJLVWHUU DUHORDGHGWRDQ\RWKHUUHJLVWHUUUU  LGHQWLILHVDQ\RIWKHUHJLVWHUV$%&'(+RU/DVVHPEOHGDVIROORZV LQWKHREMHFWFRGH 5HJLVWHU U& A 111 B 000 C 001 D 010 E 011 H 100 L 101 0&\FOHV 76WDWHV 0+](7 141.0 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKH+UHJLVWHUFRQWDLQVWKHQXPEHU8AHDQGWKH(UHJLVWHUFRQWDLQV10H WKHLQVWUXFWLRQLDHE UHVXOWVLQERWKUHJLVWHUVFRQWDLQLQJ10H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/'UQ 1RGTCVKQP U‘Q

1R%QFG /'

1RGTCPFU UQ

00 r1 10

n

&GUETKRVKQP 7KHELWLQWHJHUQLVORDGHGWRDQ\UHJLVWHUUZKHUHULGHQWLILHVUHJLVWHU$ %&'(+RU/DVVHPEOHGDVIROORZVLQWKHREMHFWFRGH 5HJLVWHU U A 111 B 000 C 001 D 010 E 011 H 100 L 101 0&\FOHV 76WDWHV 0+](7 2 7 (4, 3) 1.75 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG $WH[HFXWLRQRILDEA5H WKHFRQWHQWVRIUHJLVWHU(DUHA5H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/'U +/ 1RGTCVKQP U‘ +/

1R%QFG /'

1RGTCPFU U +/

01 r1 10

&GUETKRVKQP 7KHELWFRQWHQWVRIPHPRU\ORFDWLRQ +/ DUHORDGHGWRUHJLVWHUU ZKHUHULGHQWLILHVUHJLVWHU$%&'(+RU/DVVHPEOHGDVIROORZVLQ WKHREMHFWFRGH 5HJLVWHU U A 111 B 000 C 001 D 010 E 011 H 100 L 101 0&\FOHV 76WDWHV 0+](7 2 7 (4,6) 1.75 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IUHJLVWHUSDLU+/FRQWDLQVWKHQXPEHU75A1HDQGPHPRU\DGGUHVV $+FRQWDLQVE\WH+WKHH[HFXWLRQRILDC(HL) UHVXOWVLQ58HLQ UHJLVWHU&

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/'U ,;G 1RGTCVKQP U‘ ,;G

1R%QFG /'

1RGTCPFU U ,;G

1101 11 01DD

01 r1 10

d

&GUETKRVKQP 7KHRSHUDQG ,;G  WKHFRQWHQWVRIWKH,QGH[5HJLVWHU,;VXPPHGZLWK DWZR¶VFRPSOHPHQWGLVSODFHPHQWLQWHJHUG LVORDGHGWRUHJLVWHUUZKHUH ULGHQWLILHVUHJLVWHU$%&'(+RU/DVVHPEOHGDVIROORZVLQWKH REMHFWFRGH 5HJLVWHU U A 111 B 000 C 001 D 010 E 011 H 100 L 101 0&\FOHV 76WDWHV 0+](7 5 19 (4, 4, 3, 5, 3) 2.50 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKH,QGH[5HJLVWHU,;FRQWDLQVWKHQXPEHU25AFHWKHLQVWUXFWLRQLDB, (IX+19H) FDXVHVWKHFDOFXODWLRQRIWKHVXP25AFH19HZKLFKSRLQWV WRPHPRU\ORFDWLRQ25C8H,IWKLVDGGUHVVFRQWDLQVE\WH39HWKH LQVWUXFWLRQUHVXOWVLQUHJLVWHU%DOVRFRQWDLQLQJ39H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/'U ,<G 1RGTCVKQP U‘ ,<'

1R%QFG /'

1RGTCPFU U O<G

1111 11 11FD

01 r1 10

d

&GUETKRVKQP 7KHRSHUDQG O<G  WKHFRQWHQWVRIWKH,QGH[5HJLVWHU,<VXPPHGZLWKD WZR¶VFRPSOHPHQWGLVSODFHPHQWLQWHJHU G LVORDGHGWRUHJLVWHUUZKHUHU LGHQWLILHVUHJLVWHU$%&'(+RU/DVVHPEOHGDVIROORZVLQWKH REMHFWFRGH 5HJLVWHU U A 111 B 000 C 001 D 010 E 011 H 100 L 101 0&\FOHV 76WDWHV 0+](7 5 19 (4, 4, 3, 5, 3) 4.75 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKH,QGH[5HJLVWHU,<FRQWDLQVWKHQXPEHU$)+WKHLQVWUXFWLRQ LD B(IY+19H) FDXVHVWKHFDOFXODWLRQRIWKHVXP25AFH19HZKLFK SRLQWVWRPHPRU\ORFDWLRQ25C8H,IWKLVDGGUHVVFRQWDLQVE\WH39HWKH LQVWUXFWLRQUHVXOWVLQUHJLVWHU%DOVRFRQWDLQLQJ39H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/' +/ U 1RGTCVKQP +/ ‘U

1R%QFG /'

1RGTCPFU +/ U

0110 1 r

&GUETKRVKQP 7KHFRQWHQWVRIUHJLVWHUUDUHORDGHGWRWKHPHPRU\ORFDWLRQVSHFLILHGE\ WKHFRQWHQWVRIWKH+/UHJLVWHUSDLU7KHV\PEROULGHQWLILHVUHJLVWHU$% &'(+RU/DVVHPEOHGDVIROORZVLQWKHREMHFWFRGH 5HJLVWHU U A 111 B 000 C 001 D 010 E 011 H 100 L 101 0&\FOHV 76WDWHV 0+](7 2 7 (4, 3) 1.75 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKHFRQWHQWVRIUHJLVWHUSDLU+/VSHFLILHVPHPRU\ORFDWLRQ2146HDQG WKH%UHJLVWHUFRQWDLQVE\WH29HDWH[HFXWLRQRILD(HL)B PHPRU\ DGGUHVV2146HDOVRFRQWDLQV29H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/' ,;G U 1RGTCVKQP ,;G ‘U

1R%QFG /'

1RGTCPFU ,;G U

1101 11 01DD

0110 1 r

d

&GUETKRVKQP 7KHFRQWHQWVRIUHJLVWHUUDUHORDGHGWRWKHPHPRU\DGGUHVVVSHFLILHGE\WKH FRQWHQWVRI,QGH[5HJLVWHU,;VXPPHGZLWKGDWZR¶VFRPSOHPHQW GLVSODFHPHQWLQWHJHU7KHV\PEROULGHQWLILHVUHJLVWHU$%&'(+RU /DVVHPEOHGDVIROORZVLQWKHREMHFWFRGH 5HJLVWHU U A 111 B 000 C 001 D 010 E 011 H 100 L 101 0&\FOHV 76WDWHV 0+](7 5 19 (4, 4, 3, 5, 3) 4.75 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKH&UHJLVWHUFRQWDLQVE\WH1CHDQGWKH,QGH[5HJLVWHU,;FRQWDLQV 3100HWKHQWKHLQVWUXFWLRQLID(IX+6H)C SHUIRUPVWKHVXP3100H 6HDQGORDGV1CHWRPHPRU\ORFDWLRQ3106H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/' ,<G U 1RGTCVKQP O<G ‘U

1R%QFG /'

1RGTCPFU O<G U

1111 11 01FD

0110 1 r

d

&GUETKRVKQP 7KHFRQWHQWVRIUHVLVWHUUDUHORDGHGWRWKHPHPRU\DGGUHVVVSHFLILHGE\ WKHVXPRIWKHFRQWHQWVRIWKH,QGH[5HJLVWHU,<DQGGDWZR¶V FRPSOHPHQWGLVSODFHPHQWLQWHJHU7KHV\PEROULVVSHFLILHGDFFRUGLQJWR WKHIROORZLQJWDEOH 5HJLVWHU U A 111 B 000 C 001 D 010 E 011 H 100 L 101 0&\FOHV 76WDWHV 0+](7 5 19 (4, 4, 3, 5, 3) 4.75 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKH&UHJLVWHUFRQWDLQVE\WH48HDQGWKH,QGH[5HJLVWHU,<FRQWDLQV 2A11HWKHQWKHLQVWUXFWLRQLD(IY+4H)C SHUIRUPVWKHVXP2A11H 4HDQGORDGV48HWRPHPRU\ORFDWLRQ2A15

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/' +/ Q 1RGTCVKQP +/ ‘Q

1R%QFG /'

1RGTCPFU +/ Q

0010 11 1036

n

&GUETKRVKQP ,QWHJHUnLVORDGHGWRWKHPHPRU\DGGUHVVVSHFLILHGE\WKHFRQWHQWVRIWKH +/UHJLVWHUSDLU 0&\FOHV 76WDWHV 0+](7 3 10 (4, 3, 3) 2.50 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKH+/UHJLVWHUSDLUFRQWDLQV4444HWKHLQVWUXFWLRQ LD (HL), 28H UHVXOWVLQWKHPHPRU\ORFDWLRQ4444HFRQWDLQLQJE\WH28H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/' ,;G Q 1RGTCVKQP ,;G ‘Q

1R%QFG /'

1RGTCPFU ,;G Q

1101 11 01DD

0010 11 1036

d

n

&GUETKRVKQP 7KHnRSHUDQGLVORDGHGWRWKHPHPRU\DGGUHVVVSHFLILHGE\WKHVXPRIWKH ,QGH[5HJLVWHU,;DQGWKHWZR¶VFRPSOHPHQWGLVSODFHPHQWRSHUDQGG 0&\FOHV 76WDWHV 0+](7 5 19 (4, 4, 3.5.3) 4.75 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKH,QGH[5HJLVWHU,;FRQWDLQVWKHQXPEHU219AHWKHLQVWUXFWLRQ LD(IX+5H)5AH UHVXOWVLQE\WH5AHLQWKHPHPRU\DGGUHVV219FH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/' ,<G Q 1RGTCVKQP O<G ‘Q

1R%QFG /'

1RGTCPFU O<G Q

1111 11 01FD

0010 11 1036

d

n

&GUETKRVKQP ,QWHJHUQLVORDGHGWRWKHPHPRU\ORFDWLRQVSHFLILHGE\WKHFRQWHQWVRIWKH ,QGH[5HJLVWHUVXPPHGZLWKWKHWZR¶VFRPSOHPHQWGLVSODFHPHQWLQWHJHUG 0&\FOHV 76WDWHV 0+](7 5 19 (4, 4, 3, 5, 3) 2.50 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKH,QGH[5HJLVWHU,<FRQWDLQVWKHQXPEHUA940HWKHLQVWUXFWLRQ LD(IY+10H)97H UHVXOWVLQE\WH97HLQPHPRU\ORFDWLRQA950H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/'$ %& 1RGTCVKQP $‘ %&

1R%QFG /'

1RGTCPFU $ %&

0001 00 100A

&GUETKRVKQP 7KHFRQWHQWVRIWKHPHPRU\ORFDWLRQVSHFLILHGE\WKHFRQWHQWVRIWKH%& UHJLVWHUSDLUDUHORDGHGWRWKH$FFXPXODWRU 0&\FOHV 76WDWHV 0+](7 2 7 (4, 3) 1.75 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKH%&UHJLVWHUSDLUFRQWDLQVWKHQXPEHU4747HDQGPHPRU\DGGUHVV 4747HFRQWDLQVE\WH12HWKHQWKHLQVWUXFWLRQ LDA(BC) UHVXOWVLQE\WH 12HLQUHJLVWHU$

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/'$ '( 1RGTCVKQP $‘ '(

1R%QFG /'

1RGTCPFU $ '(

0001 10 101A

&GUETKRVKQP 7KHFRQWHQWVRIWKHPHPRU\ORFDWLRQVSHFLILHGE\WKHUHJLVWHUSDLU'(DUH ORDGHGWRWKH$FFXPXODWRU 0&\FOHV 76WDWHV 0+](7 2 7 (4, 3) 1.75 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKH'(UHJLVWHUSDLUFRQWDLQVWKHQXPEHU30A2HDQGPHPRU\DGGUHVV 30A2HFRQWDLQVE\WH22HWKHQWKHLQVWUXFWLRQ LDA(DE) UHVXOWVLQE\WH 22HLQUHJLVWHU$

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/'$ QQ 1RGTCVKQP $‘ QQ

1R%QFG /'

1RGTCPFU $ QQ

0011 10 103A

n

n

&GUETKRVKQP 7KHFRQWHQWVRIWKHPHPRU\ORFDWLRQVSHFLILHGE\WKHRSHUDQGVnnDUH ORDGHGWRWKH$FFXPXODWRU7KHILUVWnRSHUDQGDIWHUWKH2S&RGHLVWKHORZ RUGHUE\WHRIDE\WHPHPRU\DGGUHVV 0&\FOHV 76WDWHV 0+](7 4 13 (4, 3, 3, 3) 3.25 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKHFRQWHQWVRInnLVQXPEHU8832HDQGWKHFRQWHQWRIPHPRU\DGGUHVV 8832HLVE\WH04HDWLQVWUXFWLRQLDA(nn)E\WH04HLVLQWKH $FFXPXODWRU

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/' %& $ 1RGTCVKQP %& ‘$

1R%QFG /'

1RGTCPFU %& $

0000 00 1002

&GUETKRVKQP 7KHFRQWHQWVRIWKH$FFXPXODWRUDUHORDGHGWRWKHPHPRU\ORFDWLRQ VSHFLILHGE\WKHFRQWHQWVRIWKHUHJLVWHUSDLU%& 0&\FOHV 76WDWHV 0+](7 2 7 (4, 3) 1.75 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKH$FFXPXODWRUFRQWDLQV7AHDQGWKH%&UHJLVWHUSDLUFRQWDLQV1212H WKHLQVWUXFWLRQLD(BC)A UHVXOWVLQ7AHLQPHPRU\ORFDWLRQ1212H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/' '( $ 1RGTCVKQP '( ‘$

1R%QFG /'

1RGTCPFU '( $

0000 10 1012

&GUETKRVKQP 7KHFRQWHQWVRIWKH$FFXPXODWRUDUHORDGHGWRWKHPHPRU\ORFDWLRQ VSHFLILHGE\WKHFRQWHQWVRIWKH'(UHJLVWHUSDLU 0F\FOHV 76WDWHV 0+](7 2 7 (4, 3) 1.75 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKHFRQWHQWVRIUHJLVWHUSDLU'(DUH1128HDQGWKH$FFXPXODWRUFRQWDLQV E\WHA0HWKHLQVWUXFWLRQLD(DE),A UHVXOWVLQA0HLQPHPRU\ORFDWLRQ 1128H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/' QQ $ 1RGTCVKQP QQ ‘$

1R%QFG /'

1RGTCPFU QQ $

0010 10 1032

n

n

&GUETKRVKQP 7KHFRQWHQWVRIWKH$FFXPXODWRUDUHORDGHGWRWKHPHPRU\DGGUHVV VSHFLILHGE\WKHRSHUDQGnn7KHILUVWnRSHUDQGDIWHUWKH2S&RGHLVWKH ORZRUGHUE\WHRInn 0&\FOHV 76WDWHV 0+](7 4 13 (4, 3, 3, 3) 3.25 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKHFRQWHQWVRIWKH$FFXPXODWRUDUHE\WHD7HDWH[HFXWLRQRI LD(3141H)AD7H UHVXOWVLQPHPRU\ORFDWLRQ3141H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/'$, 1RGTCVKQP $‘

1R%QFG /'

1RGTCPFU $,

1111 01 01ED

0100 11 1157

&GUETKRVKQP 7KHFRQWHQWVRIWKH,QWHUUXSW9HFWRU5HJLVWHU,DUHORDGHGWRWKH$FFXPXODWRU 0&\FOHV 76WDWHV 0+](7 2 9 (4, 5) 2.25 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLI,5HJLVWHULVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLI,5HJLVWHULV]HURUHVHWRWKHUZLVH +LVUHVHW 39FRQWDLQVFRQWHQWVRI,)) 1LVUHVHW &LVQRWDIIHFWHG If an interrupt occurs during execution of this instruction, the Parity flag contains a 0.

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/'$5 1RGTCVKQP $‘5

1R%QFG /'

1RGTCPFU $5

1111 01 01ED

0101 11 115F

&GUETKRVKQP 7KHFRQWHQWVRI0HPRU\5HIUHVK5HJLVWHU5DUHORDGHGWRWKH$FFXPXODWRU 0&\FOHV 76WDWHV 0+](7 2 9 (4, 5) 2.25 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLI55HJLVWHULVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLI55HJLVWHULV]HURUHVHWRWKHUZLVH +LVUHVHW 39FRQWDLQVFRQWHQWVRI,)) 1LVUHVHW &LVQRWDIIHFWHG If an interrupt occurs during execution of this instruction, the parity flag contains a 0.

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/',$ 1RGTCVKQP ,‘$

1R%QFG /'

1RGTCPFU ,$

1111 01 01ED

0100 01 1147

&GUETKRVKQP 7KHFRQWHQWVRIWKH$FFXPXODWRUDUHORDGHGWRWKH,QWHUUXSW&RQWURO9HFWRU 5HJLVWHU, 0&\FOHV 76WDWHV 0+](7 2 9 (4, 5) 2.25 %QPFKVKQP$KVU#HHGEVGF1RQH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/'5$ 1RGTCVKQP 5‘$

1R%QFG /'

1RGTCPFU 5$

1111 01 01ED

0101 01 114F

&GUETKRVKQP 7KHFRQWHQWVRIWKH$FFXPXODWRUDUHORDGHGWRWKH0HPRU\5HIUHVK UHJLVWHU5 0&\FOHV 76WDWHV 0+](7 2 9 (4, 5) 2.25 %QPFKVKQP$KVU#HHGEVGF1RQH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



%LW/RDG*URXS

/'GGQQ 1RGTCVKQP GG‘QQ

1R%QFG /'

1RGTCPFU GGQQ

00d0 d0 01

n

n

&GUETKRVKQP 7KHE\WHLQWHJHUnnLVORDGHGWRWKHddUHJLVWHUSDLUZKHUHGGGHILQHVWKH %&'(+/RU63UHJLVWHUSDLUVDVVHPEOHGDVIROORZVLQWKHREMHFWFRGH 3DLU GG BC 00 DE 01 HL 10 SP 11 7KHILUVWnRSHUDQGDIWHUWKH2S&RGHLVWKHORZRUGHUE\WH 0&\FOHV 76WDWHV 0+](7 2 10 (4. 3, 3) 2.50 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG $WH[HFXWLRQRILDHL5000H WKHFRQWHQWVRIWKH+/UHJLVWHUSDLULV5000H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/',;QQ 1RGTCVKQP ,[‘QQ

1R%QFG /'

1RGTCPFU ,;QQ

1101 11 01DD

0010 00 0121

n

n

&GUETKRVKQP ,QWHJHUnnLVORDGHGWRWKH,QGH[5HJLVWHU,;7KHILUVWnRSHUDQGDIWHUWKH 2S&RGHLVWKHORZRUGHUE\WH 0&\FOHV 76WDWHV 0+](7 4 14 (4, 4, 3, 3) 3.50 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG $WLQVWUXFWLRQLDIX45A2H WKH,QGH[5HJLVWHUFRQWDLQVLQWHJHU45A2H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/',<QQ 1RGTCVKQP ,<‘QQ

1R%QFG /'

1RGTCPFU ,<QQ

1111 11 01FD

0010 00 0121

n

n

&GUETKRVKQP ,QWHJHUnnLVORDGHGWRWKH,QGH[5HJLVWHU,<7KHILUVWnRSHUDQGDIWHUWKH 2S&RGHLVWKHORZRUGHUE\WH 0&\FOHV 76WDWHV 0+](7 4 14 (4, 4, 3, 3) 3.50 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG $WLQVWUXFWLRQLDIY7733H WKH,QGH[5HJLVWHU,<FRQWDLQVWKHLQWHJHU 7733H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/'+/ QQ 1RGTCVKQP +‘ QQ /‘ QQ

1R%QFG /'

1RGTCPFU +/ QQ

0011 00 102A

n

n

&GUETKRVKQP 7KHFRQWHQWVRIPHPRU\DGGUHVV nn DUHORDGHGWRWKHORZRUGHUSRUWLRQRI UHJLVWHUSDLU+/ UHJLVWHU/ DQGWKHFRQWHQWVRIWKHQH[WKLJKHVWPHPRU\ DGGUHVV nn DUHORDGHGWRWKHKLJKRUGHUSRUWLRQRI+/ UHJLVWHU+ 7KH ILUVWnRSHUDQGDIWHUWKH2S&RGHLVWKHORZRUGHUE\WHRInn 0&\FOHV 76WDWHV 0+](7 5 16 (4, 3, 3, 3, 3) 4.00 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IDGGUHVV4545HFRQWDLQV37HDQGDGGUHVV4546HFRQWDLQVA1HDW LQVWUXFWLRQLDHL(4545H) WKH+/UHJLVWHUSDLUFRQWDLQVA137H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/'GG QQ 1RGTCVKQP GGK‘ QQ GGO‘ QQ

1R%QFG /'

1RGTCPFU GG QQ

1111 01 01ED

01d1 d0 11

n

n

&GUETKRVKQP 7KHFRQWHQWVRIDGGUHVV nn DUHORDGHGWRWKHORZRUGHUSRUWLRQRIUHJLVWHU SDLUGGDQGWKHFRQWHQWVRIWKHQH[WKLJKHVWPHPRU\DGGUHVV nn DUH ORDGHGWRWKHKLJKRUGHUSRUWLRQRIGG5HJLVWHUSDLUGGGHILQHV%&'( +/RU63UHJLVWHUSDLUVDVVHPEOHGDVIROORZVLQWKHREMHFWFRGH 3DLU GG BC 00 DE 01 HL 10 SP 11 7KHILUVWnRSHUDQGDIWHUWKH2S&RGHLVWKHORZRUGHUE\WHRI nn  0&\FOHV 76WDWHV 0+](7 6 20 (4, 4, 3, 3, 3, 3) 5.00 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,I$GGUHVV2130HFRQWDLQV65HDQGDGGUHVV2131MFRQWDLQV78HDW LQVWUXFWLRQLDBC(2130H) WKH%&UHJLVWHUSDLUFRQWDLQV7865H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/',; QQ 1RGTCVKQP ,;K‘ QQ ,;,‘ QQ

1R%QFG /'

1RGTCPFU ,; QQ

1101 11 01DD

0011 00 102A

n

n

&GUETKRVKQP 7KHFRQWHQWVRIWKHDGGUHVV nn DUHORDGHGWRWKHORZRUGHUSRUWLRQRI ,QGH[5HJLVWHU,;DQGWKHFRQWHQWVRIWKHQH[WKLJKHVWPHPRU\DGGUHVV nn DUHORDGHGWRWKHKLJKRUGHUSRUWLRQRI,;7KHILUVWnRSHUDQGDIWHU WKH2S&RGHLVWKHORZRUGHUE\WHRInn 0&\FOHV 76WDWHV 0+](7 6 20 (4, 4, 3, 3, 3, 3) 5.00 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IDGGUHVV6666HFRQWDLQV92HDQGDGGUHVV6667HFRQWDLQVDAHDW LQVWUXFWLRQLDIX(6666H) WKH,QGH[5HJLVWHU,;FRQWDLQVDA92H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/',< QQ 1RGTCVKQP ,

1R%QFG /'

1RGTCPFU ,< QQ

1111 11 01FD

0011 00 102A

n

n

&GUETKRVKQP 7KHFRQWHQWVRIDGGUHVV nn DUHORDGHGWRWKHORZRUGHUSRUWLRQRI,QGH[ 5HJLVWHU,<DQGWKHFRQWHQWVRIWKHQH[WKLJKHVWPHPRU\DGGUHVV nn  DUHORDGHGWRWKHKLJKRUGHUSRUWLRQRI,<7KHILUVWnRSHUDQGDIWHUWKH2S &RGHLVWKHORZRUGHUE\WHRInn 0&\FOHV 76WDWHV 0+](7 6 20 (4, 4, 3, 3, 3, 3) 5.00 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IDGGUHVV6666HFRQWDLQV92HDQGDGGUHVV6667HFRQWDLQVDAHDW LQVWUXFWLRQLDIY(6666H) WKH,QGH[5HJLVWHU,<FRQWDLQVDA92H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/' QQ +/ 1RGTCVKQP QQ ‘+ QQ ‘/

1R%QFG /'

1RGTCPFU QQ +/

0010 00 1022

n

n

&GUETKRVKQP 7KHFRQWHQWVRIWKHORZRUGHUSRUWLRQRIUHJLVWHUSDLU+/ UHJLVWHU/ DUH ORDGHGWRPHPRU\DGGUHVV nn DQGWKHFRQWHQWVRIWKHKLJKRUGHUSRUWLRQ RI+/ UHJLVWHU+ DUHORDGHGWRWKHQH[WKLJKHVWPHPRU\DGGUHVV nn  7KHILUVWnRSHUDQGDIWHUWKH2S&RGHLVWKHORZRUGHUE\WHRInn 0&\FOHV 76WDWHV 0+](7 6 20 (4, 4, 3, 3, 3, 3) 5.00 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKHFRQWHQWRIUHJLVWHUSDLU+/LV483AHDWLQVWUXFWLRQ LD (B2291-1), HL DGGUHVVB229HFRQWDLQV3AHDQGDGGUHVVB22AH FRQWDLQV48H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/' QQ GG 1RGTCVKQP QQ ‘GGK QQ ‘GGO

1R%QFG /'

1RGTCPFU QQ GG

1111 01 01ED

00d0 d0 11

n

n

&GUETKRVKQP 7KHORZRUGHUE\WHRIUHJLVWHUSDLUGGLVORDGHGWRPHPRU\DGGUHVV nn WKH XSSHUE\WHLVORDGHGWRPHPRU\DGGUHVV nn 5HJLVWHUSDLUGGGHILQHV HLWKHU%&'(+/RU63DVVHPEOHGDVIROORZVLQWKHREMHFWFRGH 3DLU GG BC 00 DE 01 HL 10 SP 11 7KHILUVWnRSHUDQGDIWHUWKH2S&RGHLVWKHORZRUGHUE\WHRIDWZRE\WH PHPRU\DGGUHVV 0&\FOHV 76WDWHV 0+](7 6 20 (4, 4, 3, 3, 3, 3) 5.00 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IUHJLVWHUSDLU%&FRQWDLQVWKHQXPEHU4644HWKHLQVWUXFWLRQLD 1000H %&UHVXOWVLQ44HLQPHPRU\ORFDWLRQ1000HDQG46HLQ PHPRU\ORFDWLRQ1001H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/' QQ ,; 1RGTCVKQP QQ ‘,;K QQ ‘,;,

1R%QFG /'

1RGTCPFU QQ ,;

1101 11 01DD

0010 00 1022

n

n

&GUETKRVKQP 7KHORZRUGHUE\WHLQ,QGH[5HJLVWHU,;LVORDGHGWRPHPRU\DGGUHVV nn  WKHXSSHURUGHUE\WHLVORDGHGWRWKHQH[WKLJKHVWDGGUHVV nn 7KHILUVW nRSHUDQGDIWHUWKH2S&RGHLVWKHORZRUGHUE\WHRInn 0&\FOHV 76WDWHV 0+](7 6 20 (4, 4, 3, 3, 3, 3) 5.00 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKH,QGH[5HJLVWHU,;FRQWDLQV5A30HDWLQVWUXFWLRQ LD(4392H)IX PHPRU\ORFDWLRQ4392HFRQWDLQVQXPEHU30HDQGORFDWLRQ4393H FRQWDLQV5AH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/' QQ ,< 1RGTCVKQP QQ ‘,

1R%QFG /'

1RGTCPFU QQ ,<

1111 11 01FD

0010 00 1022

n

n

&GUETKRVKQP 7KHORZRUGHUE\WHLQ,QGH[5HJLVWHU,<LVORDGHGWRPHPRU\DGGUHVV nn  WKHXSSHURUGHUE\WHLVORDGHGWRPHPRU\ORFDWLRQ nn 7KHILUVWn RSHUDQGDIWHUWKH2S&RGHLVWKHORZRUGHUE\WHRInn 0&\FOHV 76WDWHV 0+](7 6 20 (4, 4, 3, 3, 3, 3) 5.00 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKH,QGH[5HJLVWHU,<FRQWDLQV4174HDWLQVWUXFWLRQ LD(8838H)IY PHPRU\ORFDWLRQ8838HFRQWDLQVQXPEHU74HDQGPHPRU\ORFDWLRQ 8839HFRQWDLQV41H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/'63+/ 1RGTCVKQP 63‘+/

1R%QFG /'

1RGTCPFU 63+/

1111 r0 01F9

&GUETKRVKQP 7KHFRQWHQWVRIWKHUHJLVWHUSDLU+/DUHORDGHGWRWKH6WDFN3RLQWHU 63  0&\FOHV 76WDWHV 0+](7 6 20 (4, 4, 3, 3, 3, 3) 5.00 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKHUHJLVWHUSDLU+/FRQWDLQV442EHDWLQVWUXFWLRQLDSPHL WKH6WDFN 3RLQWHUDOVRFRQWDLQV442EH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/'63,; 1RGTCVKQP 63‘,;

1R%QFG /'

1RGTCPFU 63;

1101 11 01DD

1111 10 01F9

&GUETKRVKQP 7KHE\WHFRQWHQWVRI,QGH[5HJLVWHU,;DUHORDGHGWRWKH6WDFN3RLQWHU 63  0&\FOHV 76WDWHV 0+](7 2 10 (4, 6) 2.50 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKHFRQWHQWVRIWKH,QGH[5HJLVWHU,;DUH98DAHDWLQVWUXFWLRQ LDSPIX WKHFRQWHQWVRIWKH6WDFN3RLQWHUDUHDOVR98DAH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/'63,< 1RGTCVKQP 63‘,<

1R%QFG /'

1RGTCPFU 63O<

1111 11 01FD

1111 10 01F9

&GUETKRVKQP 7KHE\WHFRQWHQWVRI,QGH[5HJLVWHU,<DUHORDGHGWRWKH6WDFN3RLQWHU63 0&\FOHV 76WDWHV 0+](7 2 10 (4, 6) 2.50 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,I,QGH[5HJLVWHU,<FRQWDLQVWKHLQWHJHUA227HDWLQVWUXFWLRQ LDSPIY WKH6WDFN3RLQWHUDOVRFRQWDLQVA227H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



386+TT 1RGTCVKQP 63 ‘TT/ 63 ‘TT+

1R%QFG 386+

1RGTCPFU TT

11q0 q1 01

&GUETKRVKQP 7KHFRQWHQWVRIWKHUHJLVWHUSDLUTTDUHSXVKHGWRWKHH[WHUQDOPHPRU\ /,)2 ODVWLQILUVWRXW 6WDFN7KH6WDFN3RLQWHU 63 UHJLVWHUSDLUKROGVWKH ELWDGGUHVVRIWKHFXUUHQWWRSRIWKH6WDFN7KLVLQVWUXFWLRQILUVW GHFUHPHQWV63DQGORDGVWKHKLJKRUGHUE\WHRIUHJLVWHUSDLUTTWRWKH PHPRU\DGGUHVVVSHFLILHGE\WKH637KH63LVGHFUHPHQWHGDJDLQDQG ORDGVWKHORZRUGHUE\WHRITTWRWKHPHPRU\ORFDWLRQFRUUHVSRQGLQJWRWKLV QHZDGGUHVVLQWKH637KHRSHUDQGTTLGHQWLILHVUHJLVWHUSDLU%&'(+/ RU$)DVVHPEOHGDVIROORZVLQWKHREMHFWFRGH 3DLU TT BC 00 DE 01 HL 10 AF 11 0&\FOHV 76WDWHV 0+](7 3 11 (5, 3, 3) 2.75 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKH$)UHJLVWHUSDLUFRQWDLQV2233HDQGWKH6WDFN3RLQWHUFRQWDLQV +DWLQVWUXFWLRQPUSHAFPHPRU\DGGUHVV1006HFRQWDLQV22H PHPRU\DGGUHVV1005HFRQWDLQV33HDQGWKH6WDFN3RLQWHUFRQWDLQV 1005H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



386+,; 1RGTCVKQP 63 ‘,;/ 63 ‘,;+

1R%QFG 386+

1RGTCPFU ,;

1101 11 01DD

1110 01 01E5

&GUETKRVKQP 7KHFRQWHQWVRIWKH,QGH[5HJLVWHU,;DUHSXVKHGWRWKHH[WHUQDOPHPRU\ /,)2 ODVWLQILUVWRXW 6WDFN7KH6WDFN3RLQWHU 63 UHJLVWHUSDLUKROGVWKH ELWDGGUHVVRIWKHFXUUHQWWRSRIWKH6WDFN7KLVLQVWUXFWLRQILUVW GHFUHPHQWV63DQGORDGVWKHKLJKRUGHUE\WHRI,;WRWKHPHPRU\DGGUHVV VSHFLILHGE\63WKHQGHFUHPHQWV63DJDLQDQGORDGVWKHORZRUGHUE\WHWR WKHPHPRU\ORFDWLRQFRUUHVSRQGLQJWRWKLVQHZDGGUHVVLQ63 0&\FOHV 76WDWHV 0+](7 3 15 (4, 5, 3, 3) 3.75 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKH,QGH[5HJLVWHU,;FRQWDLQV2233HDQGWKH6WDFN3RLQWHUFRQWDLQV 1007HDWLQVWUXFWLRQPUSHIXPHPRU\DGGUHVV1006HFRQWDLQV22H PHPRU\DGGUHVV1005HFRQWDLQV33HDQGWKH6WDFN3RLQWHUFRQWDLQV 1005H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



386+,< 1RGTCVKQP 63 ‘,

1R%QFG 386+

1RGTCPFU ,<

1111 11 01FD

1110 01 01E5

&GUETKRVKQP 7KHFRQWHQWVRIWKH,QGH[5HJLVWHU,<DUHSXVKHGWRWKHH[WHUQDOPHPRU\ /,)2 ODVWLQILUVWRXW 6WDFN7KH6WDFN3RLQWHU 63 UHJLVWHUSDLUKROGVWKH ELWDGGUHVVRIWKHFXUUHQWWRSRIWKH6WDFN7KLVLQVWUXFWLRQILUVW GHFUHPHQWVWKH63DQGORDGVWKHKLJKRUGHUE\WHRI,<WRWKHPHPRU\ DGGUHVVVSHFLILHGE\63WKHQGHFUHPHQWV63DJDLQDQGORDGVWKHORZRUGHU E\WHWRWKHPHPRU\ORFDWLRQFRUUHVSRQGLQJWRWKLVQHZDGGUHVVLQ63 0&\FOHV 76WDWHV 0+](7 4 15 (4, 5, 3, 3) 3.75 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKH,QGH[5HJLVWHU,<FRQWDLQV2233HDQGWKH6WDFN3RLQWHU&RQWDLQV 1007HDWLQVWUXFWLRQPUSHIYPHPRU\DGGUHVV1006HFRQWDLQV22H PHPRU\DGGUHVV1005HFRQWDLQV33HDQGWKH6WDFN3RLQWHUFRQWDLQV +

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



323TT 1RGTCVKQP TT+‘ 63 TT/‘ 63

1R%QFG 323

1RGTCPFU TT

11q0 q0 01

&GUETKRVKQP 7KHWRSWZRE\WHVRIWKHH[WHUQDOPHPRU\/,)2 ODVWLQILUVWRXW 6WDFN DUHSRSSHGWRUHJLVWHUSDLUTT7KH6WDFN3RLQWHU 63 UHJLVWHUSDLUKROGV WKHELWDGGUHVVRIWKHFXUUHQWWRSRIWKH6WDFN7KLVLQVWUXFWLRQILUVW ORDGVWRWKHORZRUGHUSRUWLRQRITTWKHE\WHDWPHPRU\ORFDWLRQ FRUUHVSRQGLQJWRWKHFRQWHQWVRI63WKHQ63LVLQFULPLQDWHGDQGWKH FRQWHQWVRIWKHFRUUHVSRQGLQJDGMDFHQWPHPRU\ORFDWLRQDUHORDGHGWRWKH KLJKRUGHUSRUWLRQRITTDQGWKH63LVQRZLQFULPLQDWHGDJDLQ7KH RSHUDQGTTLGHQWLILHVUHJLVWHUSDLU%&'(+/RU$)DVVHPEOHGDV IROORZVLQWKHREMHFWFRGH 3DLU U BC 00 DE 01 HL 10 AF 11 0&\FOHV 76WDWHV 0+](7 3 10 (4, 3, 3) 2.50 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKH6WDFN3RLQWHUFRQWDLQV1000HPHPRU\ORFDWLRQ1000HFRQWDLQV55H DQGORFDWLRQ1001HFRQWDLQV33HWKHLQVWUXFWLRQPOPHLUHVXOWVLQUHJLVWHU SDLU+/FRQWDLQLQJ3355HDQGWKH6WDFN3RLQWHUFRQWDLQLQJ1002H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



323,; 1RGTCVKQP ,;+‘ 63 ,;/‘ 63

1R%QFG 323

1RGTCPFU ,;

1101 11 01DD

1110 00 01E1

&GUETKRVKQP 7KHWRSWZRE\WHVRIWKHH[WHUQDOPHPRU\/,)2 ODVWLQILUVWRXW 6WDFNDUH SRSSHGWR,QGH[5HJLVWHU,;7KH6WDFN3RLQWHU 63 UHJLVWHUSDLUKROGVWKH ELWDGGUHVVRIWKHFXUUHQWWRSRIWKH6WDFN7KLVLQVWUXFWLRQILUVWORDGVWR WKHORZRUGHUSRUWLRQRI,;WKHE\WHDWWKHPHPRU\ORFDWLRQFRUUHVSRQGLQJ WRWKHFRQWHQWVRI63WKHQ63LVLQFUHPHQWHGDQGWKHFRQWHQWVRIWKH FRUUHVSRQGLQJDGMDFHQWPHPRU\ORFDWLRQDUHORDGHGWRWKHKLJKRUGHU SRUWLRQRI,;7KH63LVLQFUHPHQWHGDJDLQ 0&\FOHV 76WDWHV 0+](7 4 14 (4, 4, 3, 3) 3.50 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKH6WDFN3RLQWHUFRQWDLQV1000HPHPRU\ORFDWLRQ1000HFRQWDLQV55H DQGORFDWLRQ1001HFRQWDLQV33HWKHLQVWUXFWLRQPOPIXUHVXOWVLQ,QGH[ 5HJLVWHU,;FRQWDLQLQJ3355HDQGWKH6WDFN3RLQWHUFRQWDLQLQJ1002H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



323,< 1RGTCVKQP ,<+‘ 63; ,

1R%QFG 323

1RGTCPFU O<

1101 11 01DD

1111 11 01FD

&GUETKRVKQP 7KHWRSWZRE\WHVRIWKHH[WHUQDOPHPRU\/,)2 ODVWLQILUVWRXW 6WDFNDUH SRSSHGWR,QGH[5HJLVWHU,<7KH6WDFN3RLQWHU 63 UHJLVWHUSDLUKROGVWKH ELWDGGUHVVRIWKHFXUUHQWWRSRIWKH6WDFN7KLVLQVWUXFWLRQILUVWORDGVWR WKHORZRUGHUSRUWLRQRI,<WKHE\WHDWWKHPHPRU\ORFDWLRQFRUUHVSRQGLQJ WRWKHFRQWHQWVRI63WKHQ63LVLQFUHPHQWHGDQGWKHFRQWHQWVRIWKH FRUUHVSRQGLQJDGMDFHQWPHPRU\ORFDWLRQDUHORDGHGWRWKHKLJKRUGHU SRUWLRQRI,<7KH63LVLQFUHPHQWHGDJDLQ 0&\FOHV 76WDWHV 0+](7 4 14 (4, 4, 3, 3) 3.50 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKH6WDFN3RLQWHU&RQWDLQV1000HPHPRU\ORFDWLRQ1000HFRQWDLQV 55HDQGORFDWLRQ1001HFRQWDLQV33HWKHLQVWUXFWLRQPOPIYUHVXOWVLQ ,QGH[5HJLVWHU,<FRQWDLQLQJ3355HDQGWKH6WDFN3RLQWHUFRQWDLQLQJ 1002H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



([FKDQJH%ORFN7UDQVIHUDQG6HDUFK*URXS

(;'(+/ 1RGTCVKQP '(+/

1R%QFG (;

1RGTCPFU '(+/

1111 00 11EB

&GUETKRVKQP 7KHE\WHFRQWHQWVRIUHJLVWHUSDLUV'(DQG+/DUHH[FKDQJHG 0&\FOHV 76WDWHV 0+](7 1 4 1.00 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKHFRQWHQWRIUHJLVWHUSDLU'(LVWKHQXPEHU2822HDQGWKHFRQWHQWRI WKHUHJLVWHUSDLU+/LVQXPEHU499AHDWLQVWUXFWLRQEXDEHL WKHFRQWHQW RIUHJLVWHUSDLU'(LV499AHDQGWKHFRQWHQWRIUHJLVWHUSDLU+/LV2822H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



(;$)$) 1RGTCVKQP $)$)

1R%QFG (;

1RGTCPFU $)$)

0001 00 0008

&GUETKRVKQP 7KHE\WHFRQWHQWVRIWKHUHJLVWHUSDLUV$)DQG$)DUHH[FKDQJHG 5HJLVWHUSDLU$)FRQVLVWVRIUHJLVWHUV$ DQG)  0&\FOHV 76WDWHV 0+](7 1 4 1.00 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKHFRQWHQWRIUHJLVWHUSDLU$)LVQXPEHU9900HDQGWKHFRQWHQWRI UHJLVWHUSDLU$)LVQXPEHU5944HDWLQVWUXFWLRQEXAFAF’WKHFRQWHQWVRI $)LV5944HDQGWKHFRQWHQWVRI$) LV9900H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



(;; 1RGTCVKQP %&  %&  '(  '(  +/  +/

1R%QFG (;;

1RGTCPFU ²

1101 10 00D9

&GUETKRVKQP (DFKE\WHYDOXHLQUHJLVWHUSDLUV%&'(DQG+/LVH[FKDQJHGZLWKWKH E\WHYDOXHLQ%& '( DQG+/ UHVSHFWLYHO\ 0&\FOHV 76WDWHV 0+](7 1 4 1.00 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKHFRQWHQWVRIUHJLVWHUSDLUV%&'(DQG+/DUHWKHQXPEHUV445AH 3DA2HDQG8859HUHVSHFWLYHO\DQGWKHFRQWHQWVRIUHJLVWHUSDLUV%&  '( DQG+/ DUH0988H9300HDQG00E7HUHVSHFWLYHO\DWLQVWUXFWLRQ EXX WKHFRQWHQWVRIWKHUHJLVWHUSDLUVDUHDVIROORZV%& FRQWDLQV+ '( FRQWDLQV9300H+/FRQWDLQV00E7H%& FRQWDLQV445AH'(  FRQWDLQV3DA2HDQG+/ FRQWDLQV8859H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



(; 63 +/ 1RGTCVKQP + 63 / 63

1R%QFG (;

1RGTCPFU 63 +/

1110 00 11E3

&GUETKRVKQP 7KHORZRUGHUE\WHFRQWDLQHGLQUHJLVWHUSDLU+/LVH[FKDQJHGZLWKWKH FRQWHQWVRIWKHPHPRU\DGGUHVVVSHFLILHGE\WKHFRQWHQWVRIUHJLVWHUSDLU63 6WDFN3RLQWHU DQGWKHKLJKRUGHUE\WHRI+/LVH[FKDQJHGZLWKWKHQH[W KLJKHVWPHPRU\DGGUHVV 63  0&\FOHV 76WDWHV 0+](7 5 19 (4, 3, 4, 3, 5) 4.75 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKH+/UHJLVWHUSDLUFRQWDLQV7012HWKH63UHJLVWHUSDLUFRQWDLQV8856H WKHPHPRU\ORFDWLRQ8856HFRQWDLQVE\WH11HDQGPHPRU\ORFDWLRQ 8857HFRQWDLQVE\WH22HWKHQWKHLQVWUXFWLRQEX(SP)HLUHVXOWVLQWKH +/UHJLVWHUSDLUFRQWDLQLQJQXPEHU2211HPHPRU\ORFDWLRQ8856H FRQWDLQLQJE\WH12HPHPRU\ORFDWLRQ8857HFRQWDLQLQJE\WH70HDQG 6WDFN3RLQWHUFRQWDLQLQJ8856H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



(; 63 ,; 1RGTCVKQP ,;+ 63 ,;/ 63

1R%QFG (;

1RGTCPFU 63 ,;

1101 11 01DD

1110 00 11E3

&GUETKRVKQP 7KHORZRUGHUE\WHLQ,QGH[5HJLVWHU,;LVH[FKDQJHGZLWKWKHFRQWHQWVRI WKHPHPRU\DGGUHVVVSHFLILHGE\WKHFRQWHQWVRIUHJLVWHUSDLU63 6WDFN 3RLQWHU DQGWKHKLJKRUGHUE\WHRI,;LVH[FKDQJHGZLWKWKHQH[WKLJKHVW PHPRU\DGGUHVV 63  0F\FOHV 76WDWHV 0+](7 6 23 (4, 4, 3, 4, 3, 5) 5.75 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKH,QGH[5HJLVWHU,;FRQWDLQV3988HWKH63UHJLVWHUSDLU&RQWDLQV 0100HPHPRU\ORFDWLRQ0100HFRQWDLQVE\WH90HDQGPHPRU\ORFDWLRQ 0101HFRQWDLQVE\WH48HWKHQWKHLQVWUXFWLRQEX(SP)IXUHVXOWVLQWKH ,;UHJLVWHUSDLUFRQWDLQLQJQXPEHU4890HPHPRU\ORFDWLRQ0100H FRQWDLQLQJ88HPHPRU\ORFDWLRQ0101HFRQWDLQLQJ39HDQGWKH6WDFN 3RLQWHUFRQWDLQLQJ0100H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



(; 63 ,< 1RGTCVKQP ,<+ 63 ,

1R%QFG (;

1RGTCPFU 63 ,<

1111 11 01FD

1110 00 11E3

&GUETKRVKQP 7KHORZRUGHUE\WHLQ,QGH[5HJLVWHU,<LVH[FKDQJHGZLWKWKHFRQWHQWVRI WKHPHPRU\DGGUHVVVSHFLILHGE\WKHFRQWHQWVRIUHJLVWHUSDLU63 6WDFN 3RLQWHU DQGWKHKLJKRUGHUE\WHRI,<LVH[FKDQJHGZLWKWKHQH[WKLJKHVW PHPRU\DGGUHVV 63  0&\FOHV 76WDWHV 0+](7 6 23 (4, 4, 3, 4, 3, 5) 5.75 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKH,QGH[5HJLVWHU,<FRQWDLQV3988HWKH63UHJLVWHUSDLUFRQWDLQV 0100HPHPRU\ORFDWLRQ0100HFRQWDLQVE\WH90HDQGPHPRU\ORFDWLRQ 0101HFRQWDLQVE\WH48HWKHQWKHLQVWUXFWLRQEX(SP)IYUHVXOWVLQWKH ,<UHJLVWHUSDLUFRQWDLQLQJQXPEHU4890HPHPRU\ORFDWLRQ0100H FRQWDLQLQJ88HPHPRU\ORFDWLRQ0101HFRQWDLQLQJ39HDQGWKH6WDFN 3RLQWHUFRQWDLQLQJ0100H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/', 1RGTCVKQP '( ‘ +/ '(‘'(+/‘+/%&‘%&

1R%QFG /',

1RGTCPFU 63 +/

1111 01 01ED

1010 00 00A0

&GUETKRVKQP $E\WHRIGDWDLVWUDQVIHUUHGIURPWKHPHPRU\ORFDWLRQDGGUHVVHGE\WKH FRQWHQWVRIWKH+/UHJLVWHUSDLUWRWKHPHPRU\ORFDWLRQDGGUHVVHGE\WKH FRQWHQWVRIWKH'(UHJLVWHUSDLU7KHQERWKWKHVHUHJLVWHUSDLUVDUH LQFUHPHQWHGDQGWKH%& %\WH&RXQWHU UHJLVWHUSDLULVGHFUHPHQWHG 0&\FOHV 76WDWHV 0+](7 4 16 (4, 4, 3, 5) 4.00 %QPFKVKQP$KVU#HHGEVGF 6LVQRWDIIHFWHG =LVQRWDIIHFWHG +LVUHVHW 39LVVHWLI%&žUHVHWRWKHUZLVH 1LVUHVHW &LVQRWDIIHFWHG 'ZCORNG ,IWKH+/UHJLVWHUSDLUFRQWDLQV1111HPHPRU\ORFDWLRQ1111HFRQWDLQV E\WH88HWKH'(UHJLVWHUSDLUFRQWDLQV2222HWKHPHPRU\ORFDWLRQ2222H FRQWDLQVE\WH66HDQGWKH%&UHJLVWHUSDLUFRQWDLQV7HWKHQWKHLQVWUXFWLRQ LDI UHVXOWVLQWKHIROORZLQJFRQWHQWVLQUHJLVWHUSDLUVDQGPHPRU\DGGUHVVHV +/ FRQWDLQV1112H +  FRQWDLQV88H '( FRQWDLQV2223H +  FRQWDLQV88H %& FRQWDLQV6H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/',5 1RGTCVKQP '( ‘ +/ '(‘'(+/‘+/%&)%&

1R%QFG /',5

1RGTCPFU %

1111 01 01ED

1010 10 00B0

&GUETKRVKQP 7KLVE\WHLQVWUXFWLRQWUDQVIHUVDE\WHRIGDWDIURPWKHPHPRU\ORFDWLRQ DGGUHVVHGE\WKHFRQWHQWVRIWKH+/UHJLVWHUSDLUWRWKHPHPRU\ORFDWLRQ DGGUHVVHGE\WKH'(UHJLVWHUSDLU%RWKWKHVHUHJLVWHUSDLUVDUHLQFUHPHQWHG DQGWKH%& %\WH&RXQWHU UHJLVWHUSDLULVGHFUHPHQWHG,IGHFUHPHQWLQJ FDXVHVWKH%&WRJRWR]HURWKHLQVWUXFWLRQLVWHUPLQDWHG,I%&LVQRW]HUR WKHSURJUDPFRXQWHULVGHFUHPHQWHGE\WZRDQGWKHLQVWUXFWLRQLVUHSHDWHG ,QWHUUXSWVDUHUHFRJQL]HGDQGWZRUHIUHVKF\FOHVDUHH[HFXWHGDIWHUHDFK GDWDWUDQVIHU:KHQ%&LVVHWWR]HURSULRUWRLQVWUXFWLRQH[HFXWLRQWKH LQVWUXFWLRQORRSVWKURXJKIE\WHV )RU%&ž 0&\FOHV 76WDWHV 0+](7 5 21 (4, 4, 4, 3, 5, 5) 5.25 )RU%&  0&\FOHV 76WDWHV 0+](7 4 16 (4, 4, 3, 5) 4.00 %QPFKVKQP$KVU#HHGEVGF 6LVQRWDIIHFWHG =LVQRWDIIHFWHG +LVUHVHW 39LVUHVHW 1LVUHVHW &LVQRWDIIHFWHG

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



'ZCORNG ,IWKH+/UHJLVWHUSDLUFRQWDLQV11111HWKH'(UHJLVWHUSDLUFRQWDLQV 2222HWKH%&UHJLVWHUSDLUFRQWDLQV0003HDQGPHPRU\ORFDWLRQVKDYH WKHVHFRQWHQWV

+  FRQWDLQV 88H + FRQWDLQV66H +  FRQWDLQV 36H + FRQWDLQV59H +  FRQWDLQV A5H + FRQWDLQVC5H

WKHQDWH[HFXWLRQRI LDIR WKHFRQWHQWVRIUHJLVWHUSDLUVDQGPHPRU\ ORFDWLRQVDUH

+/ FRQWDLQV 1114H '( FRQWDLQV 2225H %& FRQWDLQV 0000H +  FRQWDLQV 88H + FRQWDLQV88H +  FRQWDLQV 36H + FRQWDLQV36H +  FRQWDLQV A5H + FRQWDLQVA5H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/'' 1RGTCVKQP '( ‘ +/ '(‘'(+/‘+/%&‘%&

1R%QFG /''

1RGTCPFU ²

1111 01 01ED

1011 00 00A8

&GUETKRVKQP 7KLVE\WHLQVWUXFWLRQWUDQVIHUVDE\WHRIGDWDIURPWKHPHPRU\ORFDWLRQ DGGUHVVHGE\WKHFRQWHQWVRIWKH+/UHJLVWHUSDLUWRWKHPHPRU\ORFDWLRQ DGGUHVVHGE\WKHFRQWHQWVRIWKH'(UHJLVWHUSDLU7KHQERWKRIWKHVHUHJLVWHU SDLUVLQFOXGLQJWKH%& %\WH&RXQWHU UHJLVWHUSDLUDUHGHFUHPHQWHG 0&\FOHV 76WDWHV 0+](7 4 16 (4, 4, 3, 5) 4.00 %QPFKVKQP$KVU#HHGEVGF 6LVQRWDIIHFWHG =LVQRWDIIHFWHG +LVUHVHW 39LVVHWLI%&žUHVHWRWKHUZLVH 1LVUHVHW &LVQRWDIIHFWHG 'ZCORNG ,IWKH+/UHJLVWHUSDLUFRQWDLQV1111HPHPRU\ORFDWLRQ1111HFRQWDLQV E\WH88HWKH'(UHJLVWHUSDLUFRQWDLQV2222HPHPRU\ORFDWLRQ2222H FRQWDLQVE\WH66HDQGWKH%&UHJLVWHUSDLUFRQWDLQV7HWKHQLQVWUXFWLRQ LDD UHVXOWVLQWKHIROORZLQJFRQWHQWVLQUHJLVWHUSDLUVDQGPHPRU\ DGGUHVVHV

+/ FRQWDLQV1110H +  FRQWDLQV88H '( FRQWDLQV2221H +  FRQWDLQV88H %& FRQWDLQV6H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/''5 1RGTCVKQP '( ‘ +/ '(‘'‘+/‘+/%&‘%&

1R%QFG /''5

1RGTCPFU ²

1111 01 01ED

1011 10 00B8

&GUETKRVKQP 7KLVE\WHLQVWUXFWLRQWUDQVIHUVDE\WHRIGDWDIURPWKHPHPRU\ ORFDWLRQDGGUHVVHGE\WKHFRQWHQWVRIWKH+/UHJLVWHUSDLUWRWKHPHPRU\ ORFDWLRQDGGUHVVHGE\WKHFRQWHQWVRIWKH'(UHJLVWHUSDLU7KHQERWKRI WKHVHUHJLVWHUVDVZHOODVWKH%& %\WH&RXQWHU DUHGHFUHPHQWHG,I GHFUHPHQWLQJFDXVHV%&WRJRWR]HURWKHLQVWUXFWLRQLVWHUPLQDWHG,I %&LVQRW]HURWKHSURJUDPFRXQWHULVGHFUHPHQWHGE\WZRDQGWKH LQVWUXFWLRQLVUHSHDWHG,QWHUUXSWVDUHUHFRJQL]HGDQGWZRUHIUHVKF\FOHV H[HFXWHDIWHUHDFKGDWDWUDQVIHU :KHQ%&LVVHWWR]HURSULRUWRLQVWUXFWLRQH[HFXWLRQWKHLQVWUXFWLRQORRSV WKURXJKIE\WHV )RU%&ž 0&\FOHV 76WDWHV 0+](7 5 21 (4, 4, 3, 5, 5) 5.25 )RU%&  0&\FOHV 76WDWHV 0+](7 5 21 (4, 4, 3, 5, 5) 5.25 %QPFKVKQP$KVU#HHGEVGF 6LVQRWDIIHFWHG =LVQRWDIIHFWHG +LVUHVHW 39LVUHVHW 1LVUHVHW

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



'ZCORNG ,IWKH+/UHJLVWHUSDLUFRQWDLQV1114HWKH'(UHJLVWHUSDLUFRQWDLQV 2225HWKH%&UHJLVWHUSDLUFRQWDLQV0003HDQGPHPRU\ORFDWLRQVKDYH WKHVHFRQWHQWV

1114H  FRQWDLQV A5H 2225H  FRQWDLQV C5H 1113H  FRQWDLQV 36H 2224H  FRQWDLQV 59H 1112H  FRQWDLQV 88H 2223H  FRQWDLQV 66H

7KHQDWH[HFXWLRQRI LDDR WKHFRQWHQWVRIUHJLVWHUSDLUVDQGPHPRU\ ORFDWLRQVDUH

+/ FRQWDLQV 1111H '( FRQWDLQV 2222H '& FRQWDLQV 0000H 1114H  FRQWDLQV A5H 2225H  FRQWDLQV A5H 1113H  FRQWDLQV 36H 2224H  FRQWDLQV 36H 1112H  FRQWDLQV 88H 2223H  FRQWDLQV 88H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



&3, 1RGTCVKQP $ +/ +/‘+/%&‘%&

1R%QFG &3,

1RGTCPFU ²

1111 01 01ED

1010 00 00A1

&GUETKRVKQP 7KHFRQWHQWVRIWKHPHPRU\ORFDWLRQDGGUHVVHGE\WKH+/UHJLVWHULV FRPSDUHGZLWKWKHFRQWHQWVRIWKH$FFXPXODWRU,QFDVHRIDWUXHFRPSDUH DFRQGLWLRQELWLVVHW7KHQ+/LVLQFUHPHQWHGDQGWKH%\WH&RXQWHU UHJLVWHUSDLU%& LVGHFUHPHQWHG 0&\FOHV 76WDWHV 0+](7 4 16 (4, 4, 3, 5) 4.00 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLI$LV +/ UHVHWRWKHUZLVH +LVVHWLIERUURZIURPELWUHVHWRWKHUZLVH 39LVVHWLI%&LVQRWUHVHWRWKHUZLVH 1LVVHW &LVQRWDIIHFWHG

'ZCORNG ,IWKH+/UHJLVWHUSDLUFRQWDLQV1111HPHPRU\ORFDWLRQ1111HFRQWDLQV 3BHWKH$FFXPXODWRUFRQWDLQV3BHDQGWKH%\WH&RXQWHUFRQWDLQV0001H $WH[HFXWLRQRI CPI WKH%\WH&RXQWHUFRQWDLQV0000HWKH+/UHJLVWHU SDLUFRQWDLQV1112HWKH=IODJLQWKH)UHJLVWHUVHWVDQGWKH39IODJLQWKH )UHJLVWHUUHVHWV7KHUHLVQRHIIHFWRQWKHFRQWHQWVRIWKH$FFXPXODWRURU DGGUHVV1111H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



&3,5 1RGTCVKQP $ +/ +/‘+/%&‘%&

1R%QFG &3,5

1RGTCPFU ²

1111 01 01ED

1010 10 01B1

&GUETKRVKQP 7KHFRQWHQWVRIWKHPHPRU\ORFDWLRQDGGUHVVHGE\WKH+/UHJLVWHUSDLULV FRPSDUHGZLWKWKHFRQWHQWVRIWKH$FFXPXODWRU,QFDVHRIDWUXHFRPSDUHD FRQGLWLRQELWLVVHW+/LVLQFUHPHQWHGDQGWKH%\WH&RXQWHU UHJLVWHUSDLU %& LVGHFUHPHQWHG,IGHFUHPHQWLQJFDXVHV%&WRJRWR]HURRULI$  +/  WKHLQVWUXFWLRQLVWHUPLQDWHG,I%&LVQRW]HURDQG$ž +/ WKHSURJUDP FRXQWHULVGHFUHPHQWHGE\WZRDQGWKHLQVWUXFWLRQLVUHSHDWHG,QWHUUXSWVDUH UHFRJQL]HGDQGWZRUHIUHVKF\FOHVDUHH[HFXWHGDIWHUHDFKGDWDWUDQVIHU ,I%&LVVHWWR]HUREHIRUHLQVWUXFWLRQH[HFXWLRQWKHLQVWUXFWLRQORRSV WKURXJKIE\WHVLIQRPDWFKLVIRXQG )RU%&žDQG$ž +/  0F\FOHV 76WDWHV 0+](7 5 21 (4, 4, 3, 5, 5) 5.25 )RU%& DQG$  +/  0&\FOHV 76WDWHV 0+](7 4 16 (4, 4, 3, 5) 4.00 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLI$HTXDOV +/ UHVHWRWKHUZLVH +LVVHWLIERUURZIURPELWUHVHWRWKHUZLVH 39LVVHWLI%&GRHVQRWHTXDOUHVHWRWKHUZLVH 1LVVHW &LVQRWDIIHFWHG

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



'ZCORNG ,IWKH+/UHJLVWHUSDLUFRQWDLQV1111HWKH$FFXPXODWRUFRQWDLQVF3HWKH %\WH&RXQWHUFRQWDLQV0007HDQGPHPRU\ORFDWLRQVKDYHWKHVHFRQWHQWV 1111H  FRQWDLQV 52H 1112H  FRQWDLQV 00H 1113H  FRQWDLQV F3H

7KHQDWH[HFXWLRQRI CPIR WKHFRQWHQWVRIUHJLVWHUSDLU+/LV1114HWKH FRQWHQWVRIWKH%\WH&RXQWHULV0004HWKH39IODJLQWKH)UHJLVWHUVHWV DQGWKH=IODJLQWKH)UHJLVWHUVHWV

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



&3' 1RGTCVKQP $ +/ +/‘+/%&‘%&

1R%QFG &3'

1RGTCPFU ²

1111 01 01ED

1011 00 01A9

&GUETKRVKQP 7KHFRQWHQWVRIWKHPHPRU\ORFDWLRQDGGUHVVHGE\WKH+/UHJLVWHUSDLULV FRPSDUHGZLWKWKHFRQWHQWVRIWKH$FFXPXODWRU,QFDVHRIDWUXH FRPSDUHDFRQGLWLRQELWLVVHW7KH+/DQG%\WH&RXQWHU UHJLVWHUSDLU %& DUHGHFUHPHQWHG 0&\FOHV 76WDWHV 0+](7 4 16 (4, 4, 3, 5) 4.00 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLI$HTXDOV +/ UHVHWRWKHUZLVH +LVVHWLIERUURZIURPELWUHVHWRWKHUZLVH 39LVVHWLI%&[UHVHWRWKHUZLVH 1LVVHW &LVQRWDIIHFWHG 'ZCORNG ,IWKH+/UHJLVWHUSDLUFRQWDLQV1111HPHPRU\ORFDWLRQ1111HFRQWDLQV 3BHWKH$FFXPXODWRUFRQWDLQV3BHDQGWKH%\WH&RXQWHUFRQWDLQV0001H $WH[HFXWLRQRI CPD WKH%\WH&RXQWHUFRQWDLQV0000HWKH+/UHJLVWHU SDLUFRQWDLQV1110HWKHIODJLQWKH)UHJLVWHUVHWVDQGWKH39IODJLQWKH) UHJLVWHUUHVHWV7KHUHLVQRHIIHFWRQWKHFRQWHQWVRIWKH$FFXPXODWRURU DGGUHVV1111H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



&3'5 1RGTCVKQP $ +/ +/‘+/%&‘%&

1R%QFG &3'5

1RGTCPFU ²

1111 01 01ED

1011 10 01B9

&GUETKRVKQP 7KHFRQWHQWVRIWKHPHPRU\ORFDWLRQDGGUHVVHGE\WKH+/UHJLVWHUSDLULV FRPSDUHGZLWKWKHFRQWHQWVRIWKH$FFXPXODWRU,QFDVHRIDWUXHFRPSDUH DFRQGLWLRQELWLVVHW7KH+/DQG%& %\WH&RXQWHU UHJLVWHUSDLUVDUH GHFUHPHQWHG,IGHFUHPHQWLQJFDXVHVWKH%&WRJRWR]HURRULI$  +/  WKHLQVWUXFWLRQLVWHUPLQDWHG,I%&LVQRW]HURDQG$  +/ WKHSURJUDP FRXQWHULVGHFUHPHQWHGE\WZRDQGWKHLQVWUXFWLRQLVUHSHDWHG,QWHUUXSWVDUH UHFRJQL]HGDQGWZRUHIUHVKF\FOHVH[HFXWHDIWHUHDFKGDWDWUDQVIHU:KHQ %&LVVHWWR]HURSULRUWRLQVWUXFWLRQH[HFXWLRQWKHLQVWUXFWLRQORRSV WKURXJKIE\WHVLIQRPDWFKLVIRXQG )RU%&žDQG$ž +/  0&\FOHV 76WDWHV 0+](7 5 21 (4, 4, 3, 5, 5) 5.25 )RU%& DQG$  +/  0&\FOHV 76WDWHV 0+](7 4 16 (4, 4, 3, 5) 4.00 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLI$  +/ UHVHWRWKHUZLVH +LVVHWLIERUURZIRUPELWUHVHWRWKHUZLVH 39LVVHWLI%&žUHVHWRWKHUZLVH 1LVVHW &LVQRWDIIHFWHG

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



'ZCORNG ,IWKH+/UHJLVWHUSDLUFRQWDLQV1118HWKH$FFXPXODWRUFRQWDLQVF3HWKH %\WH&RXQWHUFRQWDLQV0007HDQGPHPRU\ORFDWLRQVKDYHWKHVHFRQWHQWV 1118H FRQWDLQV52H 1117H FRQWDLQV00H 1116H FRQWDLQVF3H

7KHQDWH[HFXWLRQRI CPDR WKHFRQWHQWVRIUHJLVWHUSDLU+/DUH1115H WKHFRQWHQWVRIWKH%\WH&RXQWHUDUH0004HWKH39IODJLQWKH)UHJLVWHU VHWVDQGWKH=IODJLQWKH)UHJLVWHUVHWV

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



%LW$ULWKPHWLF*URXS

$''$U 1RGTCVKQP $‘$U

1R%QFG $''

1RGTCPFU $U

1000 0 r

&GUETKRVKQP 7KHFRQWHQWVRIUHJLVWHUUDUHDGGHGWRWKHFRQWHQWVRIWKH$FFXPXODWRUDQG WKHUHVXOWLVVWRUHGLQWKH$FFXPXODWRU7KHV\PEROULGHQWLILHVWKHUHJLVWHUV $%&'(+RU/DVVHPEOHGDVIROORZVLQWKHREMHFWFRGH 5HJLVWHU U A 111 B 000 C 001 D 010 E011 H 100 L 101 0&\FOHV 76WDWHV 0+](7 1 4 1.00 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVVHWLIFDUU\IURPELWUHVHWRWKHUZLVH 39LVVHWLIRYHUIORZUHVHWRWKHUZLVH 1LVUHVHW &LVVHWLIFDUU\IURPELWUHVHWRWKHUZLVH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



'ZCORNG ,IWKHFRQWHQWVRIWKH$FFXPXODWRUDUH44HDQGWKHFRQWHQWVRIUHJLVWHU& DUH11HDWH[HFXWLRQRI ADD A,C WKHFRQWHQWVRIWKH$FFXPXODWRUDUH 55H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



$''$Q 1RGTCVKQP $‘$Q

1R%QFG $''

1RGTCPFU $Q

1100 01 10C6

n

&GUETKRVKQP 7KHLQWHJHUQLVDGGHGWRWKHFRQWHQWVRIWKH$FFXPXODWRUDQGWKHUHVXOWV DUHVWRUHGLQWKH$FFXPXODWRU 0&\FOHV 76WDWHV 0+](7 2 7 (4, 3) 1.75 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVVHWLIFDUU\IURPELWUHVHWRWKHUZLVH 39LVVHWLIRYHUIORZUHVHWRWKHUZLVH 1LVUHVHW &LVVHWLIFDUU\IURPELWUHVHWRWKHUZLVH

'ZCORNG ,IWKHFRQWHQWVRIWKH$FFXPXODWRUDUH23HDWH[HFXWLRQRI ADD A, 33H WKHFRQWHQWVRIWKH$FFXPXODWRUDUH56H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



$''$ +/ 1RGTCVKQP $‘$ +/

1R%QFG $''

1RGTCPFU $ +/

1000 01 1086

&GUETKRVKQP 7KHE\WHDWWKHPHPRU\DGGUHVVVSHFLILHGE\WKHFRQWHQWVRIWKH+/UHJLVWHU SDLULVDGGHGWRWKHFRQWHQWVRIWKH$FFXPXODWRUDQGWKHUHVXOWLVVWRUHGLQ WKH$FFXPXODWRU 0&\FOHV 76WDWHV 0+](7 2 7 (4, 3) 1.75 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVVHWLIFDUU\IURPELWUHVHWRWKHUZLVH 39LVVHWLIRYHUIORZUHVHWRWKHUZLVH 1LVUHVHW &LVVHWLIFDUU\IURPELWUHVHWRWKHUZLVH 'ZCORNG ,IWKHFRQWHQWVRIWKH$FFXPXODWRUDUHA0HDQGWKHFRQWHQWRIWKHUHJLVWHU SDLU+/LV2323HDQGPHPRU\ORFDWLRQ2323HFRQWDLQVE\WH08HDW H[HFXWLRQRIADDA(HL) WKH$FFXPXODWRUFRQWDLQVA8H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



$''$ ,;G 1RGTCVKQP $‘$ ,;G

1R%QFG $''

1RGTCPFU $ ,;G

1101 11 01DD

1000 01 1086

d

&GUETKRVKQP 7KHFRQWHQWVRIWKH,QGH[5HJLVWHU UHJLVWHUSDLU,; LVDGGHGWRDWZR¶V FRPSOHPHQWGLVSODFHPHQWGWRSRLQWWRDQDGGUHVVLQPHPRU\7KHFRQWHQWV RIWKLVDGGUHVVLVWKHQDGGHGWRWKHFRQWHQWVRIWKH$FFXPXODWRUDQGWKH UHVXOWLVVWRUHGLQWKH$FFXPXODWRU 0&\FOHV 76WDWHV 0+](7 5 16 (4, 4, 3, 5, 3) 4.75 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVVHWLIFDUU\IURPELWUHVHWRWKHUZLVH 39LVVHWLIRYHUIORZUHVHWRWKHUZLVH 1LVUHVHW &LVVHWLIFDUU\IURPELWUHVHWRWKHUZLVH 'ZCORNG ,IWKH$FFXPXODWRUFRQWHQWVDUH11HWKH,QGH[5HJLVWHU,;FRQWDLQV +DQGLIWKHFRQWHQWVRIPHPRU\ORFDWLRQ1005HLV22HDWH[HFXWLRQ RIADDA(IX + 5H) WKHFRQWHQWVRIWKH$FFXPXODWRUDUH33H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



$''$ ,<G 1RGTCVKQP $‘$ ,'G

1R%QFG $''

1RGTCPFU $ ,<G

1111 11 01FD

1000 01 1086

d

&GUETKRVKQP 7KHFRQWHQWVRIWKH,QGH[5HJLVWHU UHJLVWHUSDLU,< LVDGGHGWRDWZR¶V FRPSOHPHQWGLVSODFHPHQWGWRSRLQWWRDQDGGUHVVLQPHPRU\7KHFRQWHQWV RIWKLVDGGUHVVLVWKHQDGGHGWRWKHFRQWHQWVRIWKH$FFXPXODWRUDQGWKH UHVXOWLVVWRUHGLQWKH$FFXPXODWRU 0&\FOHV 76WDWHV 0+](7 5 16 (4, 4, 3, 5, 3) 4.75 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVVHWLIFDUU\IURPELWUHVHWRWKHUZLVH 39LVVHWLIRYHUIORZUHVHWRWKHUZLVH 1LVUHVHW &LVVHWLIFDUU\IURPELWUHVHWRWKHUZLVH 'ZCORNG ,IWKH$FFXPXODWRUFRQWHQWVDUH+WKH,QGH[5HJLVWHU3DLU,<FRQWDLQV 1000HDQGLIWKHFRQWHQWRIPHPRU\ORFDWLRQ1005HLV22HDWH[HFXWLRQ RI ADD A, (IY + 5H) WKHFRQWHQWVRIWKH$FFXPXODWRUDUH33H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



$'&$V 1RGTCVKQP $‘$V&<

1R%QFG $'&

1RGTCPFU $V 7KLVVRSHUDQGLVDQ\RIUQ +/  ,;G RU O<G DVGHILQHGIRUWKH DQDORJRXV$''LQVWUXFWLRQ7KHVHSRVVLEOH2S&RGHRSHUDQG FRPELQDWLRQVDUHDVVHPEOHGDVIROORZVLQWKHREMHFWFRGH

ADC A,r 1001 0 r*

ADC A,n 1101 01 10CE

n

ADC A, (HL) 1001 01 108E

ADC A, (IX+d) 1101 11 10DD

1001 01 108E

d

ADC A, (IY+d) 1111 11 01FD

1001 01 108E

d

ULGHQWLILHVUHJLVWHUV%&'(+/RU$DVVHPEOHGDVIROORZVLQWKH REMHFWFRGHILHOGDERYH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



5HJLVWHU U B 000 C 001 D 010 E 011 H 100 L 101 A 111 &GUETKRVKQP 7KHVRSHUDQGDORQJZLWKWKH&DUU\)ODJ &LQWKH)UHJLVWHU LVDGGHGWRWKH FRQWHQWVRIWKH$FFXPXODWRUDQGWKHUHVXOWLVVWRUHGLQWKH$FFXPXODWRU ,QVWUXFWLRQ 0&\FOH 76WDWHV 0+](7 ADC A, r 1 4 1.00 ADC A, n 2 7 (4, 3) 1.75 ADC A, (HL) 2 7 (4, 3) 1.75 ADC A, (IX+d) 5 19 (4, 4, 3, 5, 3) 4.75 ADC A, (lY+d) 5 19 (4, 4, 3, 5, 3) 4.75 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVVHWLIFDUU\IURPELWUHVHWRWKHUZLVH 39LVVHWLIRYHUIORZUHVHWRWKHUZLVH 1LVUHVHW &LVVHWLIFDUU\IURPELWUHVHWRWKHUZLVH 'ZCORNG ,IWKH$FFXPXODWRUFRQWHQWVDUH+WKH&DUU\)ODJLVVHWWKH+/UHJLVWHU SDLUFRQWDLQV6666HDQGDGGUHVV6666HFRQWDLQV10HDWH[HFXWLRQRI ADCA,(HL) WKH$FFXPXODWRUFRQWDLQV27H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



68%V 1RGTCVKQP $‘$V

1R%QFG 68%

1RGTCPFU V 7KLVVRSHUDQGLVDQ\RIUQ +/  ,;G RU O<G DVGHILQHGIRUWKH DQDORJRXV$''LQVWUXFWLRQ7KHVHSRVVLEOH2S&RGHRSHUDQG FRPELQDWLRQVDUHDVVHPEOHGDVIROORZVLQWKHREMHFWFRGH

SUB r 1000 1 r*

SUB n 1100 11 10D6

n

SUB (HL) 1000 11 1096

SUB (IX+d) 1101 11 01DD

1000 11 1096

d

SUB (IY+d) 1111 11 01FD

1000 11 1096

d

ULGHQWLILHVUHJLVWHUV%&'(+/RU$DVVHPEOHGDVIROORZVLQWKH REMHFWFRGHILHOGDERYH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



5HJLVWHU U B 000 C 001 D 010 E 011 H 100 L 101 A 111 &GUETKRVKQP 7KHVRSHUDQGLVVXEWUDFWHGIURPWKHFRQWHQWVRIWKH$FFXPXODWRUDQGWKH UHVXOWLVVWRUHGLQWKH$FFXPXODWRU ,QVWUXFWLRQ 0&\FOH 76WDWHV 0+](7 SUB r 1 4 1.00 SUB n 2 7 (4, 3) 1.75 SUB (HL) 2 7 (4, 3) 1.75 SUB (IX+d) 5 19 (4, 4, 3, 5, 3) 4.75 SUB (lY+d) 5 19 (4, 4, 3, 5, 3) 4.75 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVVHWLIERUURZIURPELWUHVHWRWKHUZLVH 39LVVHWLIRYHUIORZUHVHWRWKHUZLVH 1LVVHW &LVVHWLIERUURZUHVHWRWKHUZLVH 'ZCORNG ,IWKH$FFXPXODWRUFRQWHQWVDUH29HDQGUHJLVWHU'FRQWDLQV11HDW H[HFXWLRQRI SUB D WKH$FFXPXODWRUFRQWDLQV18H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



6%&$V 1RGTCVKQP $‘$V&<

1R%QFG 6%&

1RGTCPFU $V 7KHVRSHUDQGLVDQ\RIUQ +/  ,;G RU O<G DVGHILQHGIRUWKH DQDORJRXV$''LQVWUXFWLRQV7KHVHSRVVLEOH2S&RGHRSHUDQG FRPELQDWLRQVDUHDVVHPEOHGDVIROORZVLQWKHREMHFWFRGH

SBC A, r 1001 1 r*

SBC A, n 1101 11 10DE

n

SBC A, (HL) 1001 11 109E

SBC A, (IX+d) 1101 11 01DD

1001 11 109E

d

SBC A, (IY+d) 1111 11 01FD

1001 11 109E

d

ULGHQWLILHVUHJLVWHUV%&'(+/RU$DVVHPEOHGDVIROORZVLQWKH REMHFWFRGHILHOGDERYH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



5HJLVWHU U B 000 C 001 D 010 E011 H 100 L 101 A 111 &GUETKRVKQP 7KHVRSHUDQGDORQJZLWKWKH&DUU\IODJ &LQWKH)UHJLVWHU LVVXEWUDFWHG IURPWKHFRQWHQWVRIWKH$FFXPXODWRUDQGWKHUHVXOWLVVWRUHGLQWKH $FFXPXODWRU ,QVWUXFWLRQ 0&\FOHV 76WDWHV 0+](7 SBC A, r 1 4 1.00 SBC A, n 2 7(4, 3) 1.75 SBC A, (HL) 2 7 (4, 3) 1,75 SBC A, (IX+d) 5 19 (4, 4, 3, 5, 3) 4.75 SBC A, (lY+d) 5 19 (4, 4, 3, 5, 3) 4.75 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVVHWLIERUURZIURPELWUHVHWRWKHUZLVH 39LVUHVHWLIRYHUIORZUHVHWRWKHUZLVH 1LVVHW &LVVHWLIERUURZUHVHWRWKHUZLVH 'ZCORNG ,IWKH$FFXPXODWRUFRQWDLQV16HWKHFDUU\IODJLVVHWWKH+/UHJLVWHUSDLU FRQWDLQV3433HDQGDGGUHVV3433HFRQWDLQV05HDWH[HFXWLRQRI SBC A, (HL) WKH$FFXPXODWRUFRQWDLQV10H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



$1'V 1RGTCVKQP $‘$¾V

1R%QFG $1'

1RGTCPFU V 7KHVRSHUDQGLVDQ\RIUQ +/  ,;G RU O<G DVGHILQHGIRUWKH DQDORJRXV$''LQVWUXFWLRQV7KHVHSRVVLEOH2S&RGHRSHUDQG FRPELQDWLRQVDUHDVVHPEOHGDVIROORZVLQWKHREMHFWFRGH

AND r* 1010 0 r*

AND n 1110 01 10E6

n

AND (HL) 1010 01 10A6

AND (IX+d) 1101 11 01DD

1010 01 10A6

d

AND (IY+d) 1111 11 01FD

1010 01 10A6

d

ULGHQWLILHVUHJLVWHUV%&'(+/RU$VSHFLILHGDVIROORZVLQWKH DVVHPEOHGREMHFWFRGHILHOGDERYH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



5HJLVWHU U B 000 C 001 D 010 E 011 H 100 L 101 A 111 &GUETKRVKQP $ORJLFDO$1'RSHUDWLRQLVSHUIRUPHGEHWZHHQWKHE\WHVSHFLILHGE\WKHV RSHUDQGDQGWKHE\WHFRQWDLQHGLQWKH$FFXPXODWRUWKHUHVXOWLVVWRUHGLQ WKH$FFXPXODWRU ,QVWUXFWLRQ 0&\FOHV 76WDWHV 0+](7 AND r 1 4 1.00 AND n 2 7 (4, 3) 1.75 AND (HL) 2 7 (4, 3) 1.75 AND (IX+d) 5 19 (4, 4, 3, 5, 3) 4.75 AND (IX+d) 5 19 (4, 4, 3. 5, 3) 4.75 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVVHW 39LVUHVHWLIRYHUIORZUHVHWRWKHUZLVH 1LVUHVHW &LVUHVHW 'ZCORNG ,IWKH%UHJLVWHUFRQWDLQV7BH 01111011 DQGWKH$FFXPXODWRUFRQWDLQV C3H 11000011 DWH[HFXWLRQRI AND B WKH$FFXPXODWRUFRQWDLQV43H 01000011 

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



25V 1RGTCVKQP $‘$¿V

1R%QFG 25

1RGTCPFU V 7KHVRSHUDQGLVDQ\RIUQ +/  ,;G RU O<G DVGHILQHGIRUWKH DQDORJRXV$''LQVWUXFWLRQV7KHVHSRVVLEOH2S&RGHRSHUDQG FRPELQDWLRQVDUHDVVHPEOHGDVIROORZVLQWKHREMHFWFRGH

OR r* 1010 1 r*

OR n 1110 11 10F6

n

OR (HL) 1010 11 10B6

OR (IX+d) 1101 11 01DD

1010 11 10B6

d

OR (IY+d) 1111 11 01FD

1010 11 10B6

d

ULGHQWLILHVUHJLVWHUV%&'(+/RU$VSHFLILHGDVIROORZVLQWKH DVVHPEOHGREMHFWFRGHILHOGDERYH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



5HJLVWHU U B 000 C 001 D 010 E 011 H 100 L 101 A 111 &GUETKRVKQP $ORJLFDO25RSHUDWLRQLVSHUIRUPHGEHWZHHQWKHE\WHVSHFLILHGE\WKHV RSHUDQGDQGWKHE\WHFRQWDLQHGLQWKH$FFXPXODWRUWKHUHVXOWLVVWRUHGLQ WKH$FFXPXODWRU ,QVWUXFWLRQ 0F\FOHV 76WDWHV 0+](7 OR r 1 4 1.00 OR n 2 7 (4, 3) 1.75 OR (HL) 2 7 (4, 3) 1.75 OR (IX+d) 5 19 (4, 4, 3, 5, 3) 4.75 OR (lY+d) 5 19 (4, 4, 3, 5, 3) 4.75 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVUHVHW 39LVVHWLIRYHUIORZUHVHWRWKHUZLVH 1LVUHVHW &LVUHVHW 'ZCORNG ,IWKH+UHJLVWHUFRQWDLQV48H 01000100 DQGWKH$FFXPXODWRUFRQWDLQV 12H 00010010 DWH[HFXWLRQRI OR H WKH$FFXPXODWRUFRQWDLQV5AH 01011010 

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



;25V 1RGTCVKQP $‘$ªV

1R%QFG ;25

1RGTCPFU V 7KHVRSHUDQGLVDQ\RIUQ +/  ,;G RU O<G DVGHILQHGIRUWKH DQDORJRXV$''LQVWUXFWLRQV7KHVHSRVVLEOH2S&RGHRSHUDQG FRPELQDWLRQVDUHDVVHPEOHGDVIROORZVLQWKHREMHFWFRGH

OR r* 1010 1 r*

OR n 1110 11 10F6

n

OR (HL) 1010 11 10B6

OR (IX+d) 1101 11 01DD

1010 11 10B6

d

OR (IY+d) 1111 11 01FD

1010 11 10B6

d

ULGHQWLILHVUHJLVWHUV%&'(+/RU$VSHFLILHGDVIROORZVLQWKH DVVHPEOHGREMHFWFRGHILHOGDERYH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



5HJLVWHU U B 000 C 001 D 010 E 011 H 100 L 101 A 1l1 &GUETKRVKQP 7KHORJLFDOH[FOXVLYH25RSHUDWLRQLVSHUIRUPHGEHWZHHQWKHE\WH VSHFLILHGE\WKHVRSHUDQGDQGWKHE\WHFRQWDLQHGLQWKH$FFXPXODWRUWKH UHVXOWLVVWRUHGLQWKH$FFXPXODWRU ,QVWUXFWLRQ 0&\FOHV 76WDWHV 0+](7 XOR r 1 4 1.00 XOR n 2 7 (4, 3) 1.75 XOR (HL) 2 7 (4, 3) 1.75 XOR (IX+d) 5 19 (4, 4, 3, 5, 3) 4.75 XOR (lY+d) 5 19 (4, 4, 3, 5, 3) 4.75 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVUHVHW 39LVVHWLISDULW\HYHQUHVHWRWKHUZLVH 1LVUHVHW &LVUHVHW 'ZCORNG ,IWKH$FFXPXODWRUFRQWDLQV96H 10010110 DWH[HFXWLRQRI XOR 5DH 5DH 01011101 WKH$FFXPXODWRUFRQWDLQVCBH 11001011 

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



&3V 1RGTCVKQP $V

1R%QFG &3

1RGTCPFU V 7KHVRSHUDQGLVDQ\RIUQ +/  ,;G RU O<G DVGHILQHGIRUWKH DQDORJRXV$''LQVWUXFWLRQV7KHVHSRVVLEOH2S&RGHRSHUDQG FRPELQDWLRQVDUHDVVHPEOHGDVIROORZVLQWKHREMHFWFRGH

CP r* 1011 1 r*

CP n 1111 11 10FE

n

CP (HL) 1011 11 10BE

CP (IX+d) 1101 11 01DD

1011 11 10BE

d

CP (IY+d) 1111 11 01FD

1011 11 10BE

d

ULGHQWLILHVUHJLVWHUV%&'(+/RU$VSHFLILHGDVIROORZVLQWKH DVVHPEOHGREMHFWFRGHILHOGDERYH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



5HJLVWHU U B 000 C 001 D 010 E 011 H 100 L 101 A 111 &GUETKRVKQP 7KHFRQWHQWVRIWKHVRSHUDQGDUHFRPSDUHGZLWKWKHFRQWHQWVRIWKH $FFXPXODWRU,IWKHUHLVDWUXHFRPSDUHWKH=IODJLVVHW7KHH[HFXWLRQRI WKLVLQVWUXFWLRQGRHVQRWDIIHFWWKHFRQWHQWVRIWKH$FFXPXODWRU ,QVWUXFWLRQ 0&\FOHV 76WDWHV 0+](7 CP r 1 4 1.00 CP n 2 7(4, 3) 1.75 CP (HL) 2 7 (4, 3) 1.75 CP (IX+d) 5 19 (4, 4, 3, 5, 3) 4.75 CP (lY+d) 5 19 (4, 4, 3, 5, 3) 4.75 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVVHWLIERUURZIURPELWUHVHWRWKHUZLVH 39LVVHWLIRYHUIORZUHVHWRWKHUZLVH 1LVVHW &LVVHWLIERUURZUHVHWRWKHUZLVH 'ZCORNG ,IWKH$FFXPXODWRUFRQWDLQV63HWKH+/UHJLVWHUSDLUFRQWDLQV6000HDQG PHPRU\ORFDWLRQ6000HFRQWDLQV60HWKHLQVWUXFWLRQ CP(HL) UHVXOWVLQ WKH31IODJLQWKH)UHJLVWHUUHVHWWLQJ

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



,1&U 1RGTCVKQP U‘U

1R%QFG ,1&

1RGTCPFU U

00 r1 00

&GUETKRVKQP 5HJLVWHUULVLQFUHPHQWHGDQGUHJLVWHUULGHQWLILHVDQ\RIWKHUHJLVWHUV$% &'(+RU/DVVHPEOHGDVIROORZVLQWKHREMHFWFRGH 5HJLVWHU U A 111 B 000 C 001 D 010 E 011 H 100 L 101 0&\FOHV 76WDWHV 0+](7 1 4 1.00 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVVHWLIFDUU\IURPELWUHVHWRWKHUZLVH 39LVVHWLIUZDV)+EHIRUHRSHUDWLRQUHVHWRWKHUZLVH 1LVUHVHW &LVQRWDIIHFWHG 'ZCORNG ,IWKHFRQWHQWVRIUHJLVWHU'DUH28HDWH[HFXWLRQRI INCD WKHFRQWHQWVRI UHJLVWHU'DUH29H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



,1& +/ 1RGTCVKQP +/ ‘ +/ 

1R%QFG ,1&

1RGTCPFU +/

0010 11 0034

&GUETKRVKQP 7KHE\WHFRQWDLQHGLQWKHDGGUHVVVSHFLILHGE\WKHFRQWHQWVRIWKH+/ UHJLVWHUSDLULVLQFUHPHQWHG 0&\FOHV 76WDWHV 0+](7 3 11 (4, 4, 3) 2.75 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVVHWLIFDUU\IURPELWUHVHWRWKHUZLVH 39LVVHWLI +/ ZDV)+EHIRUHRSHUDWLRQUHVHWRWKHUZLVH 1LVUHVHW &LVQRWDIIHFWHG 'ZCORNG ,IWKHFRQWHQWVRIWKH+/UHJLVWHUSDLUDUH3434HDQGWKHFRQWHQWVRI DGGUHVV3434HDUH82HDWH[HFXWLRQ ofINC(HL)PHPRU\ORFDWLRQ 3434HFRQWDLQV83H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



,1& ,;G 1RGTCVKQP ,;G ‘ ,;G 

1R%QFG ,1&

1RGTCPFU ,;G

1101 11 01DD

0010 11 0034

d

&GUETKRVKQP 7KHFRQWHQWVRIWKH,QGH[5HJLVWHU,; UHJLVWHUSDLU,; DUHDGGHGWRDWZR¶V FRPSOHPHQWGLVSODFHPHQWLQWHJHUGWRSRLQWWRDQDGGUHVVLQPHPRU\7KH FRQWHQWVRIWKLVDGGUHVVDUHWKHQLQFUHPHQWHG 0&\FOHV 76WDWHV 0+](7 6 23 (4, 4, 3, 5, 4, 3) 5.75 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVVHWLIFDUU\IURPELWUHVHWRWKHUZLVH 39LVVHWLI ,;G ZDV)+EHIRUHRSHUDWLRQUHVHWRWKHUZLVH 1LVUHVHW &LVQRWDIIHFWHG 'ZCORNG ,IWKHFRQWHQWVRIWKH,QGH[5HJLVWHUSDLU,;DUH2020HDQGWKHPHPRU\ ORFDWLRQ2030HFRQWDLQVE\WH34HDWH[HFXWLRQRIINC(IX+10H) WKH FRQWHQWVRIPHPRU\ORFDWLRQ2030HLV35H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



,1& ,<G 1RGTCVKQP O<G ‘ O<G 

1R%QFG ,1&

1RGTCPFU O<G

1111 11 01FD

0010 11 0034

d

&GUETKRVKQP 7KHFRQWHQWVRIWKH,QGH[5HJLVWHU,< UHJLVWHUSDLU,< DUHDGGHGWRDWZR¶V FRPSOHPHQWGLVSODFHPHQWLQWHJHUGWRSRLQWWRDQDGGUHVVLQPHPRU\7KH FRQWHQWVRIWKLVDGGUHVVDUHWKHQLQFUHPHQWHG 0&\FOHV 76WDWHV 0+](7 6 23 (4, 4, 3, 5, 4, 3) 5.75 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVVHWLIFDUU\IURPELWUHVHWRWKHUZLVH 39LVVHWLI O<G ZDV)+EHIRUHRSHUDWLRQUHVHWRWKHUZLVH 1LVUHVHW &LVQRWDIIHFWHG 'ZCORNG ,IWKHFRQWHQWVRIWKH,QGH[5HJLVWHUSDLU,<DUH2020HDQGWKHPHPRU\ ORFDWLRQ2030HFRQWDLQE\WH34HDWH[HFXWLRQRIINC(IY+10H) WKH FRQWHQWVRIPHPRU\ORFDWLRQ2030HDUH35H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



'(&P 1RGTCVKQP P‘P

1R%QFG '(&

1RGTCPFU P 7KHPRSHUDQGLVDQ\RIU +/  ,;G RU O<G DVGHILQHGIRUWKH DQDORJRXV,1&LQVWUXFWLRQV7KHVHSRVVLEOH2S&RGHRSHUDQG FRPELQDWLRQVDUHDVVHPEOHGDVIROORZVLQWKHREMHFWFRGH

DEC r* 00 r1 01

DEC (HL) 0010 11 0135

DEC (IX+d) 1101 11 01DD

0010 11 0135

d

DEC (IY+d) 1111 11 01FD

0010 11 0135

d

ULGHQWLILHVUHJLVWHUV%&'(+/RU$DVVHPEOHGDVIROORZVLQWKH REMHFWFRGHILHOGDERYH 5HJLVWHU U B 000 C 001 D 010 E 011 H 100 L 101 A 111

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



&GUETKRVKQP 7KHE\WHVSHFLILHGE\WKHPRSHUDQGLVGHFUHPHQWHG ,QVWUXFWLRQ 0&\FOHV 76WDWHV 0+](7 DEC r 1 4 1.00 DEC (HL) 3 11 (4, 4, 3) 2.75 DEC (IX+d) 6 23 (4, 4, 3, 5, 4, 3) 5.75 DEC (lY+d) 6 23 (4, 4, 3, 5, 4, 3) 5.75 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVVHWLIERUURZIURPELWUHVHWRWKHUZLVH 39LVVHWLIPZDV+EHIRUHRSHUDWLRQUHVHWRWKHUZLVH 1LVVHW &LVQRWDIIHFWHG 'ZCORNG ,IWKH'UHJLVWHUFRQWDLQVE\WH$+DWH[HFXWLRQRI DEC D UHJLVWHU' FRQWDLQV+

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



*HQHUDO3XUSRVH$ULWKPHWLFDQG&38&RQWURO *URXSV

'$$ 1RGTCVKQP

1R%QFG '$$

0010 01 1127

&GUETKRVKQP 7KLVLQVWUXFWLRQFRQGLWLRQDOO\DGMXVWVWKH$FFXPXODWRUIRU%&'DGGLWLRQDQG VXEWUDFWLRQRSHUDWLRQV)RUDGGLWLRQ ADDADCINC RUVXEWUDFWLRQ SUB SBCDECNEG WKHIROORZLQJWDEOHLQGLFDWHVWKHRSHUDWLRQSHUIRUPHG

+H[9DOXH +H[9DOXH,Q ,Q/RZHU 1XPEHU &%HIRUH 8SSHU'LJLW +%HIRUH 'LJLW $GGHG7R &$IWHU 2SHUDWLRQ '$$ ELW '$$ ELW %\WH '$$ 09-000-9000 00-80A-F060 00-910-3060 ADD 0 A-F 0 0-9 60 1 ADC 0 9-F 0 A-F 66 1 INC 0 A-F 1 0-3 66 1 10-200-9601 10-20A-F661 10-310-3661 SUB 0 0-9 0 0-9 00 0 SBC 0 0-8 1 6-F FA 0 DEC 1 7-F 0 0-9 A0 1 NEG 1 6-7 1 6-F 9A 1

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



0&\FOHV 76WDWHV 0+](7 1 4 1.00 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIPRVWVLJQLILFDQWELWRI$FFXPXODWRULVDIWHURSHUDWLRQUHVHW RWKHUZLVH =LVVHWLI$FFXPXODWRULV]HURDIWHURSHUDWLRQUHVHWRWKHUZLVH +VHHLQVWUXFWLRQ 39LVVHWLI$FFXPXODWRULVHYHQSDULW\DIWHURSHUDWLRQUHVHWRWKHUZLVH 1LVQRWDIIHFWHG &VHHLQVWUXFWLRQ

'ZCORNG ,IDQDGGLWLRQRSHUDWLRQLVSHUIRUPHGEHWZHHQ %&' DQG %&'  VLPSOHGHFLPDODULWKPHWLFJLYHVWKLVUHVXOW 15 +27 42 %XWZKHQWKHELQDU\UHSUHVHQWDWLRQVDUHDGGHGLQWKH$FFXPXODWRU DFFRUGLQJWRVWDQGDUGELQDU\DULWKPHWLF 0001 0101 + 0010 0111 0011 1100 = 3C WKHVXPLVDPELJXRXV7KH DAA LQVWUXFWLRQDGMXVWVWKLVUHVXOWVRWKDWWKH FRUUHFW%&'UHSUHVHQWDWLRQLVREWDLQHG 0011 1100 + 0000 0110 0100 0010 = 42

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



&3/ 1RGTCVKQP $‘$

1R%QFG &3/

0011 01 112F

&GUETKRVKQP 7KHFRQWHQWVRIWKH$FFXPXODWRU UHJLVWHU$ DUHLQYHUWHG RQH¶V FRPSOHPHQW  0&\FOHV 76WDWHV 0+](7 1 4 1.00 %QPFKVKQP$KVU#HHGEVGF 6LVQRWDIIHFWHG =LVQRWDIIHFWHG +LVVHW 39LVQRWDIIHFWHG 1LVVHW &LVQRWDIIHFWHG 'ZCORNG ,IWKHFRQWHQWVRIWKH$FFXPXODWRUDUH10110100DWH[HFXWLRQRI CPL WKH$FFXPXODWRUFRQWHQWVDUH01001011

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



1(* 1RGTCVKQP $‘$

1R%QFG 1(*

1111 01 01ED

0100 01 0044

&GUETKRVKQP 7KHFRQWHQWVRIWKH$FFXPXODWRUDUHQHJDWHG WZR¶VFRPSOHPHQW 7KLVLV WKHVDPHDVVXEWUDFWLQJWKHFRQWHQWVRIWKH$FFXPXODWRUIURP]HUR1RWH WKDW+LVOHIWXQFKDQJHG 0&\FOHV 76WDWHV 0+](7 2 8 (4, 4) 2.00 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVVHWLIERUURZIURPELWUHVHWRWKHUZLVH 39LVVHWLI$FFXPXODWRUZDV+EHIRUHRSHUDWLRQUHVHWRWKHUZLVH 1LVVHW &LVVHWLI$FFXPXODWRUZDVQRW+EHIRUHRSHUDWLRQUHVHWRWKHUZLVH

'ZCORNG ,IWKHFRQWHQWVRIWKH$FFXPXODWRUDUH

1001 10 00

DWH[HFXWLRQRI NEG WKH$FFXPXODWRUFRQWHQWVDUH

0111 00 00

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



&&) 1RGTCVKQP &<‘&<

1R%QFG &&)

0011 11 113F

&GUETKRVKQP 7KH&DUU\IODJLQWKH)UHJLVWHULVLQYHUWHG 0&\FOHV 76WDWHV 0+](7 1 4 1.00 %QPFKVKQP$KVU#HHGEVGF 6LVQRWDIIHFWHG =LVQRWDIIHFWHG +SUHYLRXVFDUU\LVFRSLHG 39LVQRWDIIHFWHG 1LVUHVHW &LVVHWLI&<ZDVEHIRUHRSHUDWLRQUHVHWRWKHUZLVH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



6&) 1RGTCVKQP &<‘

1R%QFG 6&)

0010 11 1137

&GUETKRVKQP 7KH&DUU\IODJLQWKH)UHJLVWHULVVHW 0&\FOHV 76WDWHV 0+](7 1 4 1.00 %QPFKVKQP$KVU#HHGEVGF 6LVQRWDIIHFWHG =LVQRWDIIHFWHG +LVUHVHW 39LVQRWDIIHFWHG 1LVUHVHW &LVVHW

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



123 1RGTCVKQP ²

1R%QFG 123

0000 00 0000

&GUETKRVKQP 7KH&38SHUIRUPVQRRSHUDWLRQGXULQJWKLVPDFKLQHF\FOH 0&\FOHV 76WDWHV 0+](7 1 4 1.00 %QPFKVKQP$KVU#HHGEVGF1RQH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



+$/7 1RGTCVKQP ²

1R%QFG +$/7

0110 11 1076

&GUETKRVKQP 7KH+$/7LQVWUXFWLRQVXVSHQGV&38RSHUDWLRQXQWLODVXEVHTXHQWLQWHUUXSW RUUHVHWLVUHFHLYHG:KLOHLQWKH+$/7VWDWHWKHSURFHVVRUH[HFXWHV123V WRPDLQWDLQPHPRU\UHIUHVKORJLF 0&\FOHV 76WDWHV 0+](7 1 4 1.00 %QPFKVKQP$KVU#HHGEVGF1RQH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



', 1RGTCVKQP ,))‘

1R%QFG ',

1110 10 11F3

&GUETKRVKQP ',GLVDEOHVWKHPDVNDEOHLQWHUUXSWE\UHVHWWLQJWKHLQWHUUXSWHQDEOHIOLS IORSV ,))DQG,)) 1RWHWKDWWKLVLQVWUXFWLRQGLVDEOHVWKHPDVNDEOH LQWHUUXSWGXULQJLWVH[HFXWLRQ 0F\FOHV 76WDWHV 0+](7 1 4 1.00 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG :KHQWKH&38H[HFXWHVWKHLQVWUXFWLRQ DI WKHPDVNDEOHLQWHUUXSWLV GLVDEOHGXQWLOLWLVVXEVHTXHQWO\UHHQDEOHGE\DQ(,LQVWUXFWLRQ7KH&38 GRHVQRWUHVSRQGWRDQ,QWHUUXSW5HTXHVW ,17 VLJQDO

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



(, 1RGTCVKQP ,))‘

1R%QFG (,

1111 10 11FB

&GUETKRVKQP 7KHHQDEOHLQWHUUXSWLQVWUXFWLRQVHWVERWKLQWHUUXSWHQDEOHIOLSIORSV ,)), DQG,)) WRDORJLFDOORZLQJUHFRJQLWLRQRIDQ\PDVNDEOHLQWHUUXSW1RWH WKDWGXULQJWKHH[HFXWLRQRIWKLVLQVWUXFWLRQDQGWKHIROORZLQJLQVWUXFWLRQ PDVNDEOHLQWHUUXSWVDUHGLVDEOHG 0&\FOHV 76WDWHV 0+](7 1 4 1.00 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG :KHQWKH&38H[HFXWHVLQVWUXFWLRQ El RETI WKHPDVNDEOHLQWHUUXSWLV HQDEOHGDWH[HFXWLRQRIWKHRETILQVWUXFWLRQ

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



,0 1RGTCVKQP ²

1R%QFG ,0

1RGTCPFU 

1111 01 01ED

0100 11 1056

&GUETKRVKQP 7KH,0LQVWUXFWLRQVHWVLQWHUUXSWPRGH,QWKLVPRGHWKHLQWHUUXSWLQJ GHYLFHFDQLQVHUWDQ\LQVWUXFWLRQRQWKHGDWDEXVIRUH[HFXWLRQE\WKH &387KHILUVWE\WHRIDPXOWLE\WHLQVWUXFWLRQLVUHDGGXULQJWKHLQWHUUXSW DFNQRZOHGJHF\FOH6XEVHTXHQWE\WHVDUHUHDGLQE\DQRUPDOPHPRU\ UHDGVHTXHQFH 0&\FOHV 76WDWHV 0+](7 2 8 (4, 4) 2.00 %QPFKVKQP$KVU#HHGEVGF1RQH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



,0 1RGTCVKQP ²

1R%QFG ,0

1RGTCPFU 

1111 01 01ED

0100 11 1056

&GUETKRVKQP 7KH,0LQVWUXFWLRQVHWVLQWHUUXSWPRGH,QWKLVPRGHWKHSURFHVVRU UHVSRQGVWRDQLQWHUUXSWE\H[HFXWLQJDUHVWDUWWRORFDWLRQ+ 0&\FOHV 76WDWHV 0+](7 2 8 (4, 4) 2.00 %QPFKVKQP$KVU#HHGEVGF1RQH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



,0 1RGTCVKQP ²

1R%QFG ,0

1RGTCPFU 

1111 01 01ED

0100 11 1056

&GUETKRVKQP 7KH,0LQVWUXFWLRQVHWVWKHYHFWRUHGLQWHUUXSWPRGH7KLVPRGHDOORZV DQLQGLUHFWFDOOWRDQ\PHPRU\ORFDWLRQE\DQELWYHFWRUVXSSOLHGIURPWKH SHULSKHUDOGHYLFH7KLVYHFWRUWKHQEHFRPHVWKHOHDVWVLJQLILFDQWHLJKWELWV RIWKHLQGLUHFWSRLQWHUZKLOHWKH,UHJLVWHULQWKH&38SURYLGHVWKHPRVW VLJQLILFDQWHLJKWELWV7KLVDGGUHVVSRLQWVWRDQDGGUHVVLQDYHFWRUWDEOHWKDW LVWKHVWDUWLQJDGGUHVVIRUWKHLQWHUUXSWVHUYLFHURXWLQH 0&\FOHV 76WDWHV 0+](7 2 8 (4, 4) 2.00 %QPFKVKQP$KVU#HHGEVGF1RQH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



%LW$ULWKPHWLF*URXS

$''+/VV 1RGTCVKQP +/‘+/VV

1R%QFG $''

1RGTCPFU +/VV

00s1 s0 01

&GUETKRVKQP 7KHFRQWHQWVRIUHJLVWHUSDLUVV DQ\RIUHJLVWHUSDLUV%&'(+/RU63  DUHDGGHGWRWKHFRQWHQWVRIUHJLVWHUSDLU+/DQGWKHUHVXOWLVVWRUHGLQ+/ 2SHUDQGVVLVVSHFLILHGDVIROORZVLQWKHDVVHPEOHGREMHFWFRGH 5HJLVWHU 3DLU VV BC 00 DE 01 HL 10 SP 11 0&\FOHV 76WDWHV 0+](7 3 11 (4, 4, 3) 2.75 %QPFKVKQP$KVU#HHGEVGF 6LVQRWDIIHFWHG =LVQRWDIIHFWHG +LVVHWLIFDUU\RXWRIELWUHVHWRWKHUZLVH 39LVQRWDIIHFWHG 1LVUHVHW &LVVHWLIFDUU\IURPELWUHVHWRWKHUZLVH

'ZCORNG ,IUHJLVWHUSDLU+/FRQWDLQVWKHLQWHJHU4242HDQGUHJLVWHUSDLU'(FRQWDLQV 1111HDWH[HFXWLRQRI ADD HL, DE WKH+/UHJLVWHUSDLUFRQWDLQV5353H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



$'&+/VV 1RGTCVKQP +/‘+/VV&<

1R%QFG $'&

1RGTCPFU +/VV

1111 01 01ED

01s1 s0 10

&GUETKRVKQP 7KHFRQWHQWVRIUHJLVWHUSDLUVV DQ\RIUHJLVWHUSDLUV%&'(+/RU63  DUHDGGHGZLWKWKH&DUU\IODJ &IODJLQWKH)UHJLVWHU WRWKHFRQWHQWVRI UHJLVWHUSDLU+/DQGWKHUHVXOWLVVWRUHGLQ+/2SHUDQGVVLVVSHFLILHGDV IROORZVLQWKHDVVHPEOHGREMHFWFRGH 5HJLVWHU 3DLU VV BC 00 DE 01 HL 10 SP 11 0&\FOHV 76WDWHV 0+](7 4 15 (4, 4, 4, 3) 3.75 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH 5LVVHWLIFDUU\RXWRIELWUHVHWRWKHUZLVH 39LVVHWLIRYHUIORZUHVHWRWKHUZLVH 1LVUHVHW &LVVHWLIFDUU\IURPELWUHVHWRWKHUZLVH 'ZCORNG ,IWKHUHJLVWHUSDLU%&FRQWDLQV2222HUHJLVWHUSDLU+/FRQWDLQV5437H DQGWKH&DUU\)ODJLVVHWDWH[HFXWLRQRI ADC HL, BC WKHFRQWHQWVRI +/DUH765AH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



6%&+/VV 1RGTCVKQP +/‘+,VV&<

1R%QFG 6%&

1RGTCPFU +/VV

1111 01 01ED

01s0 s0 10

&GUETKRVKQP 7KHFRQWHQWVRIWKHUHJLVWHUSDLUVV DQ\RIUHJLVWHUSDLUV%&'(+/RU 63 DQGWKH&DUU\)ODJ &IODJLQWKH)UHJLVWHU DUHVXEWUDFWHGIURPWKH FRQWHQWVRIUHJLVWHUSDLU+/DQGWKHUHVXOWLVVWRUHGLQ+/2SHUDQGVVLV VSHFLILHGDVIROORZVLQWKHDVVHPEOHGREMHFWFRGH 5HJLVWHU 3DLU VV BC 00 DE 01 HL 10 SP 11 0&\FOHV 76WDWHV 0+](7 4 15 (4, 4, 4, 3) 3.75 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVVHWLIDERUURZIURPELWUHVHWRWKHUZLVH 39LVVHWLIRYHUIORZUHVHWRWKHUZLVH 1LVVHW &LVVHWLIERUURZUHVHWRWKHUZLVH 'ZCORNG ,IWKHFRQWHQWVRIWKH+/UHJLVWHUSDLUDUH9999HWKHFRQWHQWVRIUHJLVWHU SDLU'(DUH1111HDQGWKH&DUU\IODJLVVHW$WH[HFXWLRQRI SBC HL, DE WKHFRQWHQWVRI+/DUH8887H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



$'',;SS 1RGTCVKQP ,;‘,;SS

1R%QFG $''

1RGTCPFU ,;SS

1101 11 01DD

01p1 p0 01

&GUETKRVKQP 7KHFRQWHQWVRIUHJLVWHUSDLUSS DQ\RIUHJLVWHUSDLUV%&'(,;RU63 DUH DGGHGWRWKHFRQWHQWVRIWKH,QGH[5HJLVWHU,;DQGWKHUHVXOWVDUHVWRUHGLQ ,;2SHUDQGSSLVVSHFLILHGDVIROORZVLQWKHDVVHPEOHGREMHFWFRGH 5HJLVWHU 3DLU SS BC 00 DE 01 IX 10 SP 11 0&\FOHV 76WDWHV 0+](7 4 15 (4, 4, 4, 3) 3.75 %QPFKVKQP$KVU#HHGEVGF 6LVQRWDIIHFWHG =LVQRWDIIHFWHG +LVVHWLIFDUU\RXWRIELWUHVHWRWKHUZLVH 39LVQRWDIIHFWHG 1LVUHVHW &LVVHWLIFDUU\IURPELWUHVHWRWKHUZLVH

'ZCORNG ,IWKHFRQWHQWVRI,QGH[5HJLVWHU,;DUH333HDQGWKHFRQWHQWVRIUHJLVWHUSDLU %&DUH5555HDWH[HFXWLRQRI ADD IX, BC WKHFRQWHQWVRI,;DUH8888H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



$'',<UU 1RGTCVKQP ,<‘,<UU

1R%QFG $''

1RGTCPFU ,<UU

1111 11 01FD

00r1 r0 01

&GUETKRVKQP 7KHFRQWHQWVRIUHJLVWHUSDLUUU DQ\RIUHJLVWHUSDLUV%&'(,<RU63 DUH DGGHGWRWKHFRQWHQWVRI,QGH[5HJLVWHU,<DQGWKHUHVXOWLVVWRUHGLQ,< 2SHUDQGUULVVSHFLILHGDVIROORZVLQWKHDVVHPEOHGREMHFWFRGH 5HJLVWHU 3DLU UU BC 00 DE 01 IY 10 SP 11 0&\FOHV 76WDWHV 0+](7 4 15 (4, 4, 4, 3) 3.75 %QPFKVKQP$KVU#HHGEVGF 6LVQRWDIIHFWHG =LVQRWDIIHFWHG +LVVHWLIFDUU\RXWRIELWUHVHWRWKHUZLVH 39LVQRWDIIHFWHG 1LVUHVHW &LVVHWLIFDUU\IURPELWUHVHWRWKHUZLVH

'ZCORNG ,IWKHFRQWHQWVRI,QGH[5HJLVWHU,<DUH333HDQGWKHFRQWHQWVRIUHJLVWHUSDLU %&DUH555HDWH[HFXWLRQRI ADD IY, BC WKHFRQWHQWVRI,<DUH8888H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



,1&VV 1RGTCVKQP VV‘VV

1R%QFG ,1&

1RGTCPFU VV

00s0 s0 11

&GUETKRVKQP 7KHFRQWHQWVRIUHJLVWHUSDLUVV DQ\RIUHJLVWHUSDLUV%&'(+/RU63  DUHLQFUHPHQWHG2SHUDQGVVLVVSHFLILHGDVIROORZVLQWKHDVVHPEOHG REMHFWFRGH 5HJLVWHU 3DLU VV BC 00 DE 01 HL 10 SP 11 0&\FOHV 76WDWHV 0+](7 1 6 1.50 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKHUHJLVWHUSDLUFRQWDLQV1000HDIWHUWKHH[HFXWLRQRI INC HL, HL FRQWDLQV1001H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



,1&,; 1RGTCVKQP ,;‘,;

1R%QFG ,1&

1RGTCPFU ,;

1101 11 01DD

0010 00 1123

&GUETKRVKQP 7KHFRQWHQWVRIWKH,QGH[5HJLVWHU,;DUHLQFUHPHQWHG 0&\FOHV 76WDWHV 0+](7 2 10 (4, 6) 2.60 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKH,QGH[5HJLVWHU,;FRQWDLQVWKHLQWHJHU3300HDWH[HFXWLRQRI INC IX WKHFRQWHQWVRI,QGH[5HJLVWHU,;DUH3301H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



,1&,< 1RGTCVKQP ,<‘,<

1R%QFG ,1&

1RGTCPFU ,<

1111 11 01FD

0010 00 1123

&GUETKRVKQP 7KHFRQWHQWVRIWKH,QGH[5HJLVWHU,<DUHLQFUHPHQWHG 0&\FOHV 76WDWHV 0+](7 2 10 (4, 6) 2.50 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKHFRQWHQWVRIWKH,QGH[5HJLVWHUDUH2977HDWH[HFXWLRQRI INC IY WKHFRQWHQWVRI,QGH[5HJLVWHU,<DUH2978H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



'(&VV 1RGTCVKQP VV‘VV

1R%QFG '(&

1RGTCPFU VV

00s1 s0 11

&GUETKRVKQP 7KHFRQWHQWVRIUHJLVWHUSDLUVV DQ\RIWKHUHJLVWHUSDLUV%&'(+/RU 63 DUHGHFUHPHQWHG2SHUDQGssLVVSHFLILHGDVIROORZVLQWKHDVVHPEOHG REMHFWFRGH 5HJLVWHU 3DLU VV BC 00 DE 01 HL 10 SP 11 0&\FOHV 76WDWHV 0+](7 1 6 1.50 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IUHJLVWHUSDLU+/FRQWDLQV1001HDWH[HFXWLRQRI DEC HL WKHFRQWHQWV RI+/DUH1000H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



'(&,; 1RGTCVKQP ,;‘,;

1R%QFG '(&

1RGTCPFU ,;

1101 11 01DD

0011 00 112B

&GUETKRVKQP 7KHFRQWHQWVRI,QGH[5HJLVWHU,;DUHGHFUHPHQWHG 0&\FOHV 76WDWHV 0+](7 2 10 (4, 6) 2.50 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKHFRQWHQWVRI,QGH[5HJLVWHU,;DUH2006HDWH[HFXWLRQRI DEC IX WKHFRQWHQWVRI,QGH[5HJLVWHU,;DUH2005H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



'(&,< 1RGTCVKQP ,<‘,<

1R%QFG '(&

1RGTCPFU ,<

1111 11 01FD

0011 00 112B

&GUETKRVKQP 7KHFRQWHQWVRIWKH,QGH[5HJLVWHU,<DUHGHFUHPHQWHG 0&\FOHV 76WDWHV 0+](7 2 10 (4, 6) 2.50 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKHFRQWHQWVRIWKHLQGH[5HJLVWHU,<DUH7649HDWH[HFXWLRQRI DEC IY WKHFRQWHQWVRILQGH[5HJLVWHU,<DUH7648H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



5RWDWHDQG6KLIW*URXS

5/&$ 1RGTCVKQP

CY 70 A 1R%QFG 5/&$

1RGTCPFU ²

0000 01 1107

&GUETKRVKQP 7KHFRQWHQWVRIWKH$FFXPXODWRU UHJLVWHU$ DUHURWDWHGOHIWELWSRVLWLRQ 7KHVLJQELW ELW LVFRSLHGWRWKH&DUU\IODJDQGDOVRWRELW%LWLVWKH OHDVWVLJQLILFDQWELW 0F\FOHV 76WDWHV 0+](7 1 4 1.00 %QPFKVKQP$KVU#HHGEVGF 6LVQRWDIIHFWHG =LVQRWDIIHFWHG +LVUHVHW 39LVQRWDIIHFWHG 1LVUHVHW &LVGDWDIURPELWRI$FFXPXODWRU 'ZCORNG ,IWKHFRQWHQWVRIWKH$FFXPXODWRUDUH 7653 42 10 1001 00 00

DWH[HFXWLRQRI RLCA WKHFRQWHQWVRIWKH$FFXPXODWRUDQG&DUU\IODJDUH C 7653 42 10 1 0000 10 01

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



5/$ 1RGTCVKQP

7 0 CY A 1R%QFG 5/$

1RGTCPFU ²

0000 11 1117

&GUETKRVKQP 7KHFRQWHQWVRIWKH$FFXPXODWRU UHJLVWHU$ DUHURWDWHGOHIWELWSRVLWLRQ WKURXJKWKH&DUU\IODJ7KHSUHYLRXVFRQWHQWRIWKH&DUU\IODJLVFRSLHGWR ELW%LWLVWKHOHDVWVLJQLILFDQWELW 0&\FOHV 76WDWHV 0+](7 1 4 1.00 %QPFKVKQP$KVU#HHGEVGF&RQGLWLRQ%LWV$IIHFWHG 6LVQRWDIIHFWHG =LVQRWDIIHFWHG +LVUHVHW 39LVQRWDIIHFWHG 1LVUHVHW &LVGDWDIURPELWRI$FFXPXODWRU

'ZCORNG ,IWKHFRQWHQWVRIWKH$FFXPXODWRUDQGWKH&DUU\IODJDUH C 7653 42 10

1 0110 11 10

DWH[HFXWLRQRI RLA WKHFRQWHQWVRIWKH$FFXPXODWRUDQGWKH&DUU\IODJDUH C 7653 42 10

0 1111 01 01

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



55&$ 1RGTCVKQP

7 0 CY A 1R%QFG 55&$

1RGTCPFU ²

0001 01 110F

&GUETKRVKQP 7KHFRQWHQWVRIWKH$FFXPXODWRU UHJLVWHU$ DUHURWDWHGULJKWELW SRVLWLRQ%LWLVFRSLHGWRWKH&DUU\IODJDQGDOVRWRELW%LWLVWKHOHDVW VLJQLILFDQWELW 0&\FOHV 76WDWHV 0+](7 1 4 1.00 %QPFKVKQP$KVU#HHGEVGF 6LVQRWDIIHFWHG =LVQRWDIIHFWHG +LVUHVHW 39LVQRWDIIHFWHG 1LVUHVHW &LVGDWDIURPELWRI$FFXPXODWRU

'ZCORNG ,IWKHFRQWHQWVRIWKH$FFXPXODWRUDUH 7 64532 10 0 0010 0 01

DWH[HFXWLRQRI RRCA WKHFRQWHQWVRIWKH$FFXPXODWRUDQGWKH&DUU\IODJDUH 7 64532 10C 1 0010 1 00 1

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



55$ 1RGTCVKQP

7 0 CY A 1R%QFG 55$

1RGTCPFU ²

0001 11 111F

&GUETKRVKQP 7KHFRQWHQWVRIWKH$FFXPXODWRU UHJLVWHU$ DUHURWDWHGULJKWELWSRVLWLRQ WKURXJKWKH&DUU\IODJ7KHSUHYLRXVFRQWHQWRIWKH&DUU\IODJLVFRSLHGWR ELW%LWLVWKHOHDVWVLJQLILFDQWELW 0&\FOHV 76WDWHV 0+](7 1 4 1.00 %QPFKVKQP$KVU#HHGEVGF 6LVQRWDIIHFWHG =LVQRWDIIHFWHG +LVUHVHW 39LVQRWDIIHFWHG 1LVUHVHW &LVGDWDIURPELWRI$FFXPXODWRU

'ZCORNG ,IWKHFRQWHQWVRIWKH$FFXPXODWRUDQGWKH&DUU\)ODJDUH 7653 42 10 C

111 0 0 00 1 0

DWH[HFXWLRQRI RRA WKHFRQWHQWVRIWKH$FFXPXODWRUDQGWKH&DUU\IODJDUH 7653 42 10 C

011 1 0 00 0 1

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



5/&U 1RGTCVKQP

CY 70 r 1R%QFG 5/&

1RGTCPFU U

1101 00 11CB

0000 0 r

&GUETKRVKQP 7KHFRQWHQWVRIUHJLVWHUUDUHURWDWHGOHIWELWSRVLWLRQ7KHFRQWHQWRIELW LVFRSLHGWRWKH&DUU\IODJDQGDOVRWRELW2SHUDQGULVVSHFLILHGDV IROORZVLQWKHDVVHPEOHGREMHFWFRGH 5HJLVWHU U B 000 C 001 D 010 E 011 H 100 L 101 A 111 0&\FOHV 76WDWHV 0+](7 2 8 (4, 4) 2.00 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVUHVHW 39LVVHWLISDULW\HYHQUHVHWRWKHUZLVH 1LVUHVHW &LVGDWDIURPELWRIVRXUFHUHJLVWHU

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



'ZCORNG ,IWKHFRQWHQWVRIUHJLVWHUUDUH

7653 42 10

100 0 1 00 0

DWH[HFXWLRQRI RLC r WKHFRQWHQWVRIUHJLVWHUUDQGWKH&DUU\IODJDUH

C 7653 42 10

1 0000 10 01

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



5/& +/ 1RGTCVKQP

CY 70 (HL) 1R%QFG 5/&

1RGTCPFU +/

1101 00 11CB

0000 01 1006

&GUETKRVKQP 7KHFRQWHQWVRIWKHPHPRU\DGGUHVVVSHFLILHGE\WKHFRQWHQWVRIUHJLVWHU SDLU+/DUHURWDWHGOHIWELWSRVLWLRQ7KHFRQWHQWRIELWLVFRSLHGWRWKH &DUU\IODJDQGDOVRWRELW%LWLVWKHOHDVWVLJQLILFDQWELW 0&\FOHV 76WDWHV 0+](7 4 15 (4, 4, 4, 3) 3.75 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVUHVHW 39LVVHWLISDULW\HYHQUHVHWRWKHUZLVH 1LVUHVHW &LVGDWDIURPELWRIVRXUFHUHJLVWHU

'ZCORNG ,IWKHFRQWHQWVRIWKH+/UHJLVWHUSDLUDUH2828HDQGWKHFRQWHQWVRI PHPRU\ORFDWLRQ2828HDUH 7653 42 10

1001 00 00

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



DWH[HFXWLRQRI RLC(HL) WKHFRQWHQWVRIPHPRU\ORFDWLRQ+DQGWKH &DUU\IODJDUH C 7653 42 10

1 0000 10 01

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



5/& ,;G 1RGTCVKQP

CY 70 (IX+d) 1R%QFG 5/&

1RGTCPFU ,;G

1101 11 01DD

1101 00 11CB

d

0000 01 1006

&GUETKRVKQP 7KHFRQWHQWVRIWKHPHPRU\DGGUHVVVSHFLILHGE\WKHVXPRIWKHFRQWHQWVRI WKH,QGH[5HJLVWHU,;DQGDWZR¶VFRPSOHPHQWGLVSODFHPHQWLQWHJHUGDUH URWDWHGOHIWELWSRVLWLRQ7KHFRQWHQWRIELWLVFRSLHGWRWKH&DUU\IODJ DQGDOVRWRELW%LWLVWKHOHDVWVLJQLILFDQWELW 0&\FOHV 76WDWHV 0+](7 6 23 (4, 4, 3, 5, 4, 3) 5.75 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVUHVHW 39LVVHWLISDULW\HYHQUHVHWRWKHUZLVH 1LVUHVHW &LVGDWDIURPELWRIVRXUFHUHJLVWHU 'ZCORNG ,IWKHFRQWHQWVRIWKH,QGH[5HJLVWHU,;DUH1000HDQGWKHFRQWHQWVRI PHPRU\ORFDWLRQ1022HDUH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



7653 42 10

1001 00 00

DWH[HFXWLRQRI RLC (IX+2H) WKHFRQWHQWVRIPHPRU\ORFDWLRQ1002H DQGWKH&DUU\IODJDUH

C 7653 42 10

1 0000 10 01

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



5/& ,<G 1RGTCVKQP

CY 70 (IY+d) 1R%QFG 5/&

1RGTCPFU O<G

1111 11 01FD

1101 00 11CB

d

0000 01 1006

&GUETKRVKQP 7KHFRQWHQWVRIWKHPHPRU\DGGUHVVVSHFLILHGE\WKHVXPRIWKHFRQWHQWVRI WKH,QGH[5HJLVWHU,<DQGDWZR¶VFRPSOHPHQWGLVSODFHPHQWLQWHJHUGDUH URWDWHGOHIWELWSRVLWLRQ7KHFRQWHQWRIELWLVFRSLHGWRWKH&DUU\IODJ DQGDOVRWRELW%LWLVWKHOHDVWVLJQLILFDQWELW 0&\FOHV 76WDWHV 0+](7 6 23 (4, 4, 3, 5, 4, 3) 5.75 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVUHVHW 39LVVHWLISDULW\HYHQUHVHWRWKHUZLVH 1LVUHVHW &LVGDWDIURPELWRIVRXUFHUHJLVWHU 'ZCORNG ,IWKHFRQWHQWVRIWKH,QGH[5HJLVWHU,<DUH1000HDQGWKHFRQWHQWVRI PHPRU\ORFDWLRQ1002HDUH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



7653 42 10

1001 00 00

DWH[HFXWLRQRI RLC (IY+2H) WKHFRQWHQWVRIPHPRU\ORFDWLRQ1002H DQGWKH&DUU\IODJDUH

C 7653 42 10

1 0000 10 01

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



5/P 1RGTCVKQP

CY 70 m 1R%QFG 3/

1RGTCPFU P 7KHPRSHUDQGLVDQ\RIU +/  ,;G RU O<G DVGHILQHGIRUWKH DQDORJRXV3/&LQVWUXFWLRQV7KHVHSRVVLEOH2S&RGHRSHUDQG FRPELQDWLRQVDUHVSHFLILHGDVIROORZVLQWKHDVVHPEOHGREMHFWFRGH

RL r* 1101 00 11CB

0000 1 r*

RL (HL) 1101 00 11CB

0000 11 1016

RL (IX+d) 1101 11 01DD

1101 00 11CB

d

0000 11 1016

RL (IY+d) 1111 11 01FB

1101 00 11CB

d

0000 11 1016

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



ULGHQWLILHVUHJLVWHUV%&'(+/RU$DVVHPEOHGDVIROORZVLQWKH REMHFWFRGHILHOGDERYH 5HJLVWHU U B 000 C 001 D 010 E 011 H 100 L 101 A 111 &GUETKRVKQP 7KHFRQWHQWVRIWKHPRSHUDQGDUHURWDWHGOHIWELWSRVLWLRQ7KHFRQWHQWRI ELWLVFRSLHGWRWKH&DUU\IODJDQGWKHSUHYLRXVFRQWHQWRIWKH&DUU\IODJLV FRSLHGWRELW ,QVWUXFWLRQ 0&\FOHV 76WDWHV 0+](7 RL r 2 8 (4, 4) 2.00 RL(HL) 4 15 (4, 4, 4, 3) 3.75 RL(IX+d) 6 23 (4, 4, 3, 5, 4, 3) 5.75 RL(IY+d) 6 23 (4, 4, 3, 5, 4, 3) 5.75 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVUHVHW 39LVVHWLISDULW\HYHQUHVHWRWKHUZLVH 1LVUHVHW &LVGDWDIURPELWRIVRXUFHUHJLVWHU 'ZCORNG ,IWKHFRQWHQWVRIUHJLVWHU'DQGWKH&DUU\IODJDUH C 7653 42 10

0 1001 01 11

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



DWH[HFXWLRQRI RLD WKHFRQWHQWVRIUHJLVWHU'DQGWKH&DUU\IODJDUH C 7653 42 10

1 0001 11 10

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



55&P 1RGTCVKQP

7 0 CY m 1R%QFG 55&

1RGTCPFU P 7KHPRSHUDQGLVDQ\RIU +/  ,;G RU O<G DVGHILQHGIRUWKH DQDORJRXV5/&LQVWUXFWLRQV7KHVHSRVVLEOH2S&RGHRSHUDQG FRPELQDWLRQVDUHVSHFLILHGDVIROORZVLQWKHDVVHPEOHGREMHFWFRGH

RRC r* 1101 00 11CB

0001 0 r*

RRC (HL) 1101 00 11CB

0001 01 10OE

RRC (IX+d) 1101 11 01DD

1101 00 11CB

d

0001 01 10OE

RRC (IY+d) 1111 11 01FB

1101 00 11CB

d

0001 01 10OE

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



ULGHQWLILHVUHJLVWHUV%&'(+/RU$DVVHPEOHGDVIROORZVLQWKH REMHFWFRGHILHOGDERYH 5HJLVWHU U B 000 C 001 D 010 E 011 H 100 L 101 A 111 &GUETKRVKQP 7KHFRQWHQWVRIWKHPRSHUDQGDUHURWDWHGULJKWELWSRVLWLRQ7KHFRQWHQW RIELWLVFRSLHGWRWKH&DUU\IODJDQGDOVRWRELW%LWLVWKHOHDVW VLJQLILFDQWELW ,QVWUXFWLRQ 0F\FOHV 76WDWHV 0+](7 RRC r 2 8 (4, 4) 2.00 RRC (HL) 4 15 (4, 4, 4, 3) 3.75 RRC (IX+d) 6 23 (4, 4, 3, 5, 4, 3) 5.75 RRC (lY+d) 6 23 (4, 4, 3, 5, 4, 3) 5.75 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVUHVHW 39LVVHWLISDULW\HYHQUHVHWRWKHUZLVH 1LVUHVHW &LVGDWDIURPELWRIVRXUFHUHJLVWHU

'ZCORNG ,IWKHFRQWHQWVRIUHJLVWHU$DUH

7653 42 10 0010 10 01

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



DWH[HFXWLRQRI RRC A WKHFRQWHQWVRIUHJLVWHU$DQGWKH&DUU\IODJDUH

7653 42 10 C 100 1 1 00 0 1

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



55P 1RGTCVKQP

7 0 CY m 1R%QFG 55

1RGTCPFU P 7KHPRSHUDQGLVDQ\RIU +/  ,;G RU O<G DVGHILQHGIRUWKH DQDORJRXV5/&LQVWUXFWLRQV7KHVHSRVVLEOH2S&RGHRSHUDQG FRPELQDWLRQVDUHVSHFLILHGDVIROORZVLQWKHDVVHPEOHGREMHFWFRGH

RR r* 1101 00 11CB

0001 0 r*

RR (HL) 1101 00 11CB

0001 01 101E

RR (IX+d) 1101 11 01DD

1101 00 11CB

d

0001 11 101E

RR (IY+d) 1111 11 01FD

1101 00 11CB

d

0001 11 101E

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



ULGHQWLILHVUHJLVWHUV%&'(+/RU$DVVHPEOHGDVIROORZVLQWKH REMHFWFRGHILHOGDERYH 5HJLVWHU U B 000 C 001 D 010 E 011 H 100 L 101 A 111 &GUETKRVKQP 7KHFRQWHQWVRIRSHUDQGPDUHURWDWHGULJKWELWSRVLWLRQWKURXJKWKH&DUU\ IODJ7KHFRQWHQWRIELWLVFRSLHGWRWKH&DUU\IODJDQGWKHSUHYLRXV FRQWHQWRIWKH&DUU\IODJLVFRSLHGWRELW%LWLVWKHOHDVWVLJQLILFDQWELW ,QVWUXFWLRQ 0&\FOHV 76WDWHV 0+](7 RR r 2 8 (4, 4) 2.00 RR (HL) 4 15 (4, 4, 4, 3) 3.75 RR (IX+d) 6 23 (4, 4, 3, 5, 4, 3) 5.75 RR (lY+d) 6 23 (4, 4, 3, 5, 4, 3) 5.75 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVUHVHW 39LVVHWLISDULW\HYHQUHVHWRWKHUZLVH 1LVUHVHW &LVGDWDIURPELWRIVRXUFHUHJLVWHU 'ZCORNG ,IWKHFRQWHQWVRIWKH+/UHJLVWHUSDLUDUH4343HDQGWKHFRQWHQWVRI PHPRU\ORFDWLRQ4343HDQGWKH&DUU\IODJDUH

7653 42 10 C

101 1 1 10 1 0

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



DWH[HFXWLRQRIRR (HL) WKHFRQWHQWVRIORFDWLRQ+DQGWKH&DUU\ IODJDUH

7653 42 10 C

011 0 1 11 0 1

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



6/$P 1RGTCVKQP

CY 700 m 1R%QFG 6/$

1RGTCPFU P 7KHPRSHUDQGLVDQ\RIU +/  ,;G RU O<G DVGHILQHGIRUWKH DQDORJRXV5/&LQVWUXFWLRQV7KHVHSRVVLEOH2S&RGHRSHUDQG FRPELQDWLRQVDUHVSHFLILHGDVIROORZVLQWKHDVVHPEOHGREMHFWFRGH 

SLA r* 1101 00 11CB

0010 0 r*

SLA (HL) 1101 00 11CB

0010 01 1026

SLA (IX+d) 1101 11 01DD

1101 00 11CB

d

0010 01 1026

SLA (IY+d) 1111 11 01FD

1101 00 11CB

d

0010 01 1026

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



ULGHQWLILHVUHJLVWHUV%&'(+/RU$DVVHPEOHGDVIROORZVLQWKH REMHFWFRGHILHOGDERYH 5HJLVWHU U B 000 C 001 D 010 E 011 H 100 L 101 A 111 &GUETKRVKQP $QDULWKPHWLFVKLIWOHIWELWSRVLWLRQLVSHUIRUPHGRQWKHFRQWHQWVRI RSHUDQGP7KHFRQWHQWRIELWLVFRSLHGWRWKH&DUU\IODJ%LWLVWKH OHDVWVLJQLILFDQWELW ,QVWUXFWLRQ 0&\FOHV 76WDWHV 0+](7 SLAr 2 8 (4, 4) 2.00 SLA(HL) 4 15 (4, 4, 4, 3) 3.75 SLA(IX+d) 6 23 (4, 4, 3, 5, 4, 3) 5.75 SLA(IY+d) 6 23 (4, 4, 3, 5, 4, 3) 5.75 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVUHVHW 39LVVHWLISDULW\LVHYHQUHVHWRWKHUZLVH 1LVUHVHW &LVGDWDIURPELW 'ZCORNG ,IWKHFRQWHQWVRIUHJLVWHU/DUH

7653 42 10

1010 10 01

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



DWH[HFXWLRQRI SLA L WKHFRQWHQWVRIUHJLVWHU/DQGWKH&DUU\IODJDUH

C 7653 42 10

1 0110 00 10

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



65$P 1RGTCVKQP

7 0 CY m

1R%QFG 65$

1RGTCPFU P 7KHPRSHUDQGLVDQ\RIU +/  ,;G RU O<G DVGHILQHGIRUWKH DQDORJRXV3/&LQVWUXFWLRQV7KHVHSRVVLEOH2S&RGHRSHUDQG FRPELQDWLRQVDUHVSHFLILHGDVIROORZVLQWKHDVVHPEOHGREMHFWFRGH

SRA r* 1101 00 11CB

0010 0 r*

SRA (HL) 1101 00 11CB

0011 01 102E

SRA (IX+d) 1101 11 01DD

1101 00 11CB

d

0011 01 102E

SRA (IY+d) 1111 11 01FD

1101 00 11CB

d

0011 01 102E

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



ULGHQWLILHVUHJLVWHUV%&'(+/RU$DVVHPEOHGDVIROORZVLQWKH REMHFWFRGHILHOGDERYH 5HJLVWHU U B 000 C 001 D 010 E 011 H 100 L 101 A 111 &GUETKRVKQP $QDULWKPHWLFVKLIWULJKWELWSRVLWLRQLVSHUIRUPHGRQWKHFRQWHQWVRI RSHUDQGP7KHFRQWHQWRIELWLVFRSLHGWRWKH&DUU\IODJDQGWKHSUHYLRXV FRQWHQWRIELWLVXQFKDQJHG%LWLVWKHOHDVWVLJQLILFDQWELW ,QVWUXFWLRQ 0&\FOHV 76WDWHV 0+](7 SRA r 2 8 (4, 4) 2.00 SRA (HL) 4 15 (4, 4, 4, 3) 3.75 SRA (IX+d) 6 23 (4, 4, 3, 5, 4, 3) 5.75 SRA (lY+d) 6 23 (4, 4, 3, 5, 4, 3) 5.75 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLIUHVXOWLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVUHVHW 39LVVHWLISDULW\LVHYHQUHVHWRWKHUZLVH 1LVUHVHW &LVGDWDIURPELWRIVRXUFHUHJLVWHU 'ZCORNG ,IWKHFRQWHQWVRIWKH,QGH[5HJLVWHU,;DUH1000HDQGWKHFRQWHQWVRI PHPRU\ORFDWLRQ1003HDUH

7653 42 10

1011 10 00

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



DWH[HFXWLRQRI SRA (IX+3H) WKHFRQWHQWVRIPHPRU\ORFDWLRQ+ DQGWKH&DUU\IODJDUH

7653 42 10 C

101 1 1 10 0 0

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



65/P 1RGTCVKQP

0 7 0 CY m 1R%QFG 65/

1RGTCPFU P 7KHRSHUDQGPLVDQ\RIU +/  ,;G RU O<G DVGHILQHGIRUWKH DQDORJRXV5/&LQVWUXFWLRQV7KHVHSRVVLEOH2S&RGHRSHUDQG FRPELQDWLRQVDUHVSHFLILHGDVIROORZVLQWKHDVVHPEOHGREMHFWFRGH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



SRL r* 1101 00 11CB

0011 1 r*

SRL (HL) 1101 00 11CB

0011 11 103E

SRL (IX+d) 1101 11 01DD

1101 00 11CB

d

0011 11 103E

SRL (IY+d) 1111 11 01FD

1101 00 11CB

d

0011 11 103E

ULGHQWLILHVUHJLVWHUV%&'(+/RU$DVVHPEOHGDVIROORZVLQWKH REMHFWFRGHILHOGDERYH

&GUETKRVKQP 7KHFRQWHQWVRIRSHUDQGPDUHVKLIWHGULJKWELWSRVLWLRQ7KHFRQWHQWRI ELWLVFRSLHGWRWKH&DUU\IODJDQGELWLVUHVHW%LWLVWKHOHDVW VLJQLILFDQWELW ,QVWUXFWLRQ 0&\FOHV 76WDWHV 0+](7 SRL r 2 8 (4, 4) 2.00 SRL (HL) 4 15 (4, 4, 4, 3) 3.75 SRL (1X+d) 6 23 (4, 4, 3, 5, 4, 3) 5.75

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



SRL (lY+d) 6 23 (4, 4, 3, 5, 4, 3) 5.75 %QPFKVKQP$KVU#HHGEVGF 6LVUHVHW =LVVHWLIUHVXOWLV]HURUHVHWRWKHUZLVH +LVUHVHW 39LVVHWLISDULW\LVHYHQUHVHWRWKHUZLVH 1LVUHVHW &LVGDWDIURPELWRIVRXUFHUHJLVWHU

'ZCORNG ,IWKHFRQWHQWVRIUHJLVWHU%DUH

7653 42 10

1001 01 11

DWH[HFXWLRQRI SRL B WKHFRQWHQWVRIUHJLVWHU%DQGWKH&DUU\IODJDUH

7653 42 10 C

001 0 0 11 1 1

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



5/' 1RGTCVKQP

A 7 4 3 0 7 4 3 0

1R%QFG 5/'

1RGTCPFU ²

1111 01 01ED

0111 01 116F

&GUETKRVKQP 7KHFRQWHQWVRIWKHORZRUGHUIRXUELWV ELWVDQG RIWKHPHPRU\ ORFDWLRQ +/ DUHFRSLHGWRWKHKLJKRUGHUIRXUELWV DQG RIWKDW VDPHPHPRU\ORFDWLRQWKHSUHYLRXVFRQWHQWVRIWKRVHKLJKRUGHUIRXUELWV DUHFRSLHGWRWKHORZRUGHUIRXUELWVRIWKH$FFXPXODWRU UHJLVWHU$ DQG WKHSUHYLRXVFRQWHQWVRIWKHORZRUGHUIRXUELWVRIWKH$FFXPXODWRUDUH FRSLHGWRWKHORZRUGHUIRXUELWVRIPHPRU\ORFDWLRQ +/ 7KHFRQWHQWVRI WKHKLJKRUGHUELWVRIWKH$FFXPXODWRUDUHXQDIIHFWHG

Note: (HL) means the memory location specified by the contents of the HL register pair. 0&\FOHV 76WDWHV 0+](7 5 18 (4, 4, 3, 4, 3) 4.50 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLI$FFXPXODWRULVQHJDWLYHDIWHURSHUDWLRQUHVHWRWKHUZLVH =LVVHWLI$FFXPXODWRULV]HURDIWHURSHUDWLRQUHVHWRWKHUZLVH +LVUHVHW 39LVVHWLISDULW\RI$FFXPXODWRULVHYHQDIWHURSHUDWLRQUHVHWRWKHUZLVH 1LVUHVHW &LVQRWDIIHFWHG

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



'ZCORNG ,IWKHFRQWHQWVRIWKH+/UHJLVWHUSDLUDUH5000HDQGWKHFRQWHQWVRIWKH $FFXPXODWRUDQGPHPRU\ORFDWLRQ5000HDUH

7653 42 10

0111 10 10Accumulator

7653 42 10

0010 10 01(5000H)

DWH[HFXWLRQRI RLD WKHFRQWHQWVRIWKH$FFXPXODWRUDQGPHPRU\ORFDWLRQ 5000HDUH

7653 42 10

0110 10 11Accumulator

7653 42 10

0001 10 10(5000H)

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



55' 1RGTCVKQP

A 7 4 3 0 7 4 3 0 (HL)

1R%QFG 55'

1RGTCPFU ²

1111 01 01ED

0110 01 1167

&GUETKRVKQP 7KHFRQWHQWVRIWKHORZRUGHUIRXUELWV ELWVDQG RIPHPRU\ ORFDWLRQ +/ DUHFRSLHGWRWKHORZRUGHUIRXUELWVRIWKH$FFXPXODWRU UHJLVWHU$ 7KHSUHYLRXVFRQWHQWVRIWKHORZRUGHUIRXUELWVRIWKH $FFXPXODWRUDUHFRSLHGWRWKHKLJKRUGHUIRXUELWV DQG RI ORFDWLRQ +/ DQGWKHSUHYLRXVFRQWHQWVRIWKHKLJKRUGHUIRXUELWVRI +/  DUHFRSLHGWRWKHORZRUGHUIRXUELWVRI +/ 7KHFRQWHQWVRIWKHKLJKRUGHU ELWVRIWKH$FFXPXODWRUDUHXQDIIHFWHG +/ PHDQVWKHPHPRU\ORFDWLRQVSHFLILHGE\WKHFRQWHQWVRIWKH+/ UHJLVWHUSDLU 0&\FOHV 76WDWHV 0+](7 5 18 (4, 4, 3, 4, 3) 4.50 %QPFKVKQP$KVU#HHGEVGF 6LVVHWLI$FFXPXODWRULVQHJDWLYHDIWHURSHUDWLRQUHVHWRWKHUZLVH =LVVHWLI$FFXPXODWRULV]HURDIWHURSHUDWLRQUHVHWRWKHUZLVH +LVUHVHW 39LVVHWLISDULW\RI$FFXPXODWRULVHYHQDIWHURSHUDWLRQUHVHWRWKHUZLVH 1LVUHVHW &LVQRWDIIHFWHG

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



'ZCORNG ,IWKHFRQWHQWVRIWKH+/UHJLVWHUSDLUDUH5000HDQGWKHFRQWHQWVRIWKH $FFXPXODWRUDQGPHPRU\ORFDWLRQ5000HDUH 7653 42 10

1000 01 00Accumulator

7653 42 10

0010 00 00(5000H)

DWH[HFXWLRQRI RRD WKHFRQWHQWVRIWKH$FFXPXODWRUDQGPHPRU\ORFDWLRQ 5000HDUH

7653 42 10

1000 00 00Accumulator

7653 42 10

0100 00 10(5000H)

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



%LW6HW5HVHWDQG7HVW*URXS

%,7EU 1RGTCVKQP =‘UE

1R%QFG %,7

1RGTCPFU EU

1101 00 11CB

01 b r

&GUETKRVKQP 7KLVLQVWUXFWLRQWHVWVELWELQUHJLVWHUUDQGVHWVWKH=IODJDFFRUGLQJO\ 2SHUDQGVEDQGUDUHVSHFLILHGDVIROORZVLQWKHDVVHPEOHGREMHFWFRGH %LW7HVWHG E 5HJLVWHU U 0 000 B 000 1 001 C 001 2 010 D 010 3 011 E 011 4 100 H 100 5 101 L 101 6 110 A 111 7 111 0&\FOHV 76WDWHV 0+](7 2 8 (4, 4) 4.50

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



%QPFKVKQP$KVU#HHGEVGF 6LVXQNQRZQ =LVVHWLIVSHFLILHGELWLVUHVHWRWKHUZLVH +LVVHW 39LVXQNQRZQ 1LVUHVHW &LVQRWDIIHFWHG 'ZCORNG ,IELWLQUHJLVWHU%FRQWDLQVDWH[HFXWLRQRI BIT 2, B WKH=IODJLQWKH )UHJLVWHUFRQWDLQVDQGELWLQUHJLVWHU%UHPDLQV%LWLQUHJLVWHU%LV WKHOHDVWVLJQLILFDQWELW

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



%,7E +/ 1RGTCVKQP =‘ +/ E

1R%QFG %,7

1RGTCPFU E +/

1101 00 11CB

01 b1 10

&GUETKRVKQP 7KLVLQVWUXFWLRQWHVWVELWELQWKHPHPRU\ORFDWLRQVSHFLILHGE\WKHFRQWHQWV RIWKH+/UHJLVWHUSDLUDQGVHWVWKH=IODJDFFRUGLQJO\2SHUDQGELV VSHFLILHGDVIROORZVLQWKHDVVHPEOHGREMHFWFRGH %LW7HVWHG E 0 000 1 001 2 010 3 011 4 100 5 101 6 110 1 111 0&\FOHV 76WDWHV 0+](7 3 12 (4, 4, 4) 4 3.00 %QPFKVKQP$KVU#HHGEVGF 6LVXQNQRZQ =LVVHWLIVSHFLILHG%LWLVUHVHWRWKHUZLVH +LVVHW 39LVXQNQRZQ +LVUHVHW &LVQRWDIIHFWHG

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



'ZCORNG ,IWKH+/UHJLVWHUSDLUFRQWDLQV4444HDQGELWLQWKHPHPRU\ORFDWLRQ 444HFRQWDLQVDWH[HFXWLRQRI BIT4,(HL)WKH=IODJLQWKH)UHJLVWHU FRQWDLQVDQGELWLQPHPRU\ORFDWLRQ4444HVWLOOFRQWDLQV%LWLQ PHPRU\ORFDWLRQ4444HLVWKHOHDVWVLJQLILFDQWELW

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



%,7E ,;G 1RGTCVKQP =‘ ,;G E

1R%QFG %,7

1RGTCPFU E ,;G

1101 11 01DD

1101 00 11CB

d

01 b10 1

&GUETKRVKQP 7KLVLQVWUXFWLRQWHVWVELWELQWKHPHPRU\ORFDWLRQVSHFLILHGE\WKHFRQWHQWV RIUHJLVWHUSDLU,;FRPELQHGZLWKWKHWZR¶VFRPSOHPHQWGLVSODFHPHQWG DQGVHWVWKH=IODJDFFRUGLQJO\2SHUDQGELVVSHFLILHGDVIROORZVLQWKH DVVHPEOHGREMHFWFRGH %LW7HVWHG E 0 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111 0F\FOHV 76WDWHV 0+](7 5 20 (4, 4, 3, 5, 4) 5.00

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



%QPFKVKQP$KVU#HHGEVGF 6LVXQNQRZQ =LVVHWLIVSHFLILHG%LWLVUHVHWRWKHUZLVH +LVVHW 39LVXQNQRZQ 1LVUHVHW &LVQRWDIIHFWHG 'ZCORNG ,IWKHFRQWHQWVRI,QGH[5HJLVWHU,;DUH2000HDQGELWLQPHPRU\ ORFDWLRQ2004HFRQWDLQVDWH[HFXWLRQRI BIT6,(IX+4H)WKH=IODJLQ WKH)UHJLVWHUFRQWDLQVDQGELWLQPHPRU\ORFDWLRQ2004HVWLOOFRQWDLQV %LWLQPHPRU\ORFDWLRQ2004HLVWKHOHDVWVLJQLILFDQWELW

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



%,7E ,<G 1RGTCVKQP =‘ ,<G E

1R%QFG %,7

1RGTCPFU E O<G

1111 11 01FD

1101 00 11CB

d

01 b10 1

&GUETKRVKQP 7KLVLQVWUXFWLRQWHVWVELWELQWKHPHPRU\ORFDWLRQVSHFLILHGE\WKHFRQWHQW RIUHJLVWHUSDLU,<FRPELQHGZLWKWKHWZR¶VFRPSOHPHQWGLVSODFHPHQWG DQGVHWVWKH=IODJDFFRUGLQJO\2SHUDQGELVVSHFLILHGDVIROORZVLQWKH DVVHPEOHGREMHFWFRGH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



%LW7HVWHG E 0 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111 0&\FOHV 76WDWHV 0+](7 5 20 (4, 4, 3, 5, 4) 5.00 %QPFKVKQP$KVU#HHGEVGF 6LVXQNQRZQ =LVVHWLIVSHFLILHG%LWLVUHVHWRWKHUZLVH +LVVHW 39LVXQNQRZQ +LVUHVHW &LVQRWDIIHFWHG 'ZCORNG ,IWKHFRQWHQWVRI,QGH[5HJLVWHUDUH2000HDQGELWLQPHPRU\ORFDWLRQ 2004HFRQWDLQVDWH[HFXWLRQRI BIT6(IY+4H)WKH=IODJDQGWKH) UHJLVWHUVWLOOFRQWDLQDQGELWLQPHPRU\ORFDWLRQ2004HVWLOOFRQWDLQV %LWLQPHPRU\ORFDWLRQ2004HLVWKHOHDVWVLJQLILFDQWELW

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



6(7EU 1RGTCVKQP UE‘

1R%QFG 6(7

1RGTCPFU EU

1101 00 11CB

11 b r

&GUETKRVKQP %LWELQUHJLVWHUU DQ\RIUHJLVWHUV%&'(+/RU$ LVVHW2SHUDQGVE DQGUDUHVSHFLILHGDVIROORZVLQWKHDVVHPEOHGREMHFWFRGH %LW E 5HJLVWHU U 0 000 B 000 1 001 C 001 2 010 D 010 3 011 E 011 4 100 H 100 5 101 L 101 6 110 A 111 7 111 0&\FOHV 76WDWHV0+](7 2 8 (4, 4) 2.00 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG $WH[HFXWLRQRI SET 4, A ELWLQUHJLVWHU$VHWV%LWLVWKHOHDVW VLJQLILFDQWELW

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



6(7E +/ 1RGTCVKQP +/ E‘

1R%QFG 6(7

1RGTCPFU E +/

1101 00 11CB

11 b r

&GUETKRVKQP %LWELQWKHPHPRU\ORFDWLRQDGGUHVVHGE\WKHFRQWHQWVRIUHJLVWHUSDLU+/ LVVHW2SHUDQGELVVSHFLILHGDVIROORZVLQWKHDVVHPEOHGREMHFWFRGH %LW7HVWHG E 0 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111 0&\FOHV 76WDWHV 0+](7 4 15 (4, 4, 4, 3) 3.75 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKHFRQWHQWVRIWKH+/UHJLVWHUSDLUDUH3000HDWH[HFXWLRQRI SET4(HL)ELWLQPHPRU\ORFDWLRQ3000HLV%LWLQPHPRU\ ORFDWLRQ3000HLVWKHOHDVWVLJQLILFDQWELW

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



6(7E ,;G 1RGTCVKQP ,;G E‘

1R%QFG 6(7

1RGTCPFU E ,;G

&GUETKRVKQP %LWELQWKHPHPRU\ORFDWLRQDGGUHVVHGE\WKHVXPRIWKHFRQWHQWVRIWKH,; UHJLVWHUSDLUDQGWKHWZR¶VFRPSOHPHQWLQWHJHUGLVVHW2SHUDQGELV VSHFLILHGDVIROORZVLQWKHDVVHPEOHGREMHFWFRGH %LW7HVWHG E 0 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111 0&\FOHV 76WDWHV 0+](7 6 23 (4, 4, 3, 5, 4, 3) 5.75 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKHFRQWHQWVRI,QGH[5HJLVWHUDUH2000HDWH[HFXWLRQRI SET0(IX+3H) ELWLQPHPRU\ORFDWLRQ2003HLV %LWLQPHPRU\ORFDWLRQ2003HLVWKHOHDVWVLJQLILFDQWELW

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



6(7E ,<G 1RGTCVKQP ,<G E‘

1R%QFG 6(7

1RGTCPFU E ,<G

1111 11 01FD

1101 00 11CB

d

11 b10 1

&GUETKRVKQP %LWELQWKHPHPRU\ORFDWLRQDGGUHVVHGE\WKHVXPRIWKHFRQWHQWVRIWKH,< UHJLVWHUSDLUDQGWKHWZR¶VFRPSOHPHQWGLVSODFHPHQWGLVVHW2SHUDQGELV VSHFLILHGDVIROORZVLQWKHDVVHPEOHGREMHFWFRGH %LW7HVWHG E 0 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111 0&\FOHV 76WDWHV 0+](7 6 23 (4, 4, 3, 5, 4, 3) 5.75 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKHFRQWHQWVRI,QGH[5HJLVWHU,<DUH2000HDWH[HFXWLRQRI SET 0, (IY+3H) ELWLQPHPRU\ORFDWLRQ2003HLV%LWLQPHPRU\ ORFDWLRQ2003HLVWKHOHDVWVLJQLILFDQWELW

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



5(6EP 1RGTCVKQP VE‘

1R%QFG 5(6

1RGTCPFU EP 2SHUDQGELVDQ\ELW WKURXJK RIWKHFRQWHQWVRIWKHPRSHUDQG DQ\RI U +/  ,;G RU O<G DVGHILQHGIRUWKHDQDORJRXV6(7LQVWUXFWLRQV 7KHVHSRVVLEOH2S&RGHRSHUDQGFRPELQDWLRQVDUHDVVHPEOHGDVIROORZVLQ WKHREMHFWFRGH

RES b, rn 1101 00 11CB

10 b r

RES b, (HL) 1101 00 11CB

10 b10 1

RES b, (IX+d) 1101 11 01DD

1101 00 11CB

d

10 b10 1

RES b, (IY+d) 1111 11 01FD

1101 00 11CB

d

10 b10 1

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



%LW E 5HJLVWHU U 0 000 B 000 1 001 C 001 2 010 D 010 3 011 E 011 4 100 H 100 5 101 L 101 6 110 A 111 7 111 &GUETKRVKQP %LWELQRSHUDQGPLVUHVHW ,QVWUXFWLRQ 0&\FOHV 76WDWHV 0+](7 RES r 4 8 (4, 4) 2.00 RES (HL) 4 15 (4, 4, 4, 3) 3.75 RES (IX+d) 6 23 (4, 4, 3, 5, 4, 3) 5.75 RES (lY+d) 6 23 (4, 4, 3, 5, 4, 3) 5.75 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG $WH[HFXWLRQRI RES6DELWLQUHJLVWHUUHVHWV%LWLQUHJLVWHU'LVWKH OHDVWVLJQLILFDQWELW

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



-XPS*URXS

-3QQ 1RGTCVKQP 3&‘QQ

1R%QFG -3

1RGTCPFU QQ

1100 00 11C3

n

n

Note: The first operand in this assembled object code is the low order byte of a two-byte address.

&GUETKRVKQP 2SHUDQGnnLVORDGHGWRUHJLVWHUSDLU3& 3URJUDP&RXQWHU 7KHQH[W LQVWUXFWLRQLVIHWFKHGIURPWKHORFDWLRQGHVLJQDWHGE\WKHQHZFRQWHQWVRI WKH3& 0&\FOHV 76WDWHV 0+](7 3 10 (4, 3, 3) 2.50 %QPFKVKQP$KVU#HHGEVGF1RQH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



-3FFQQ 1RGTCVKQP ,)FFWUXH3&‘QQ

1R%QFG -3

1RGTCPFU FFQQ 11 0000 1

n

n

7KHILUVWnRSHUDQGLQWKLVDVVHPEOHGREMHFWFRGHLVWKHORZRUGHUE\WHRID E\WHPHPRU\DGGUHVV

&GUETKRVKQP ,IFRQGLWLRQccLVWUXHWKHLQVWUXFWLRQORDGVRSHUDQGnnWRUHJLVWHUSDLU3& 3URJUDP&RXQWHU DQGWKHSURJUDPFRQWLQXHVZLWKWKHLQVWUXFWLRQ EHJLQQLQJDWDGGUHVVnn,IFRQGLWLRQccLVIDOVHWKH3URJUDP&RXQWHULV LQFUHPHQWHGDVXVXDODQGWKHSURJUDPFRQWLQXHVZLWKWKHQH[WVHTXHQWLDO LQVWUXFWLRQ&RQGLWLRQccLVSURJUDPPHGDVRQHRIHLJKWVWDWXVWKDW FRUUHVSRQGVWRFRQGLWLRQELWVLQWKH)ODJ5HJLVWHU UHJLVWHU) 7KHVHHLJKW VWDWXVDUHGHILQHGLQWKHWDEOHEHORZWKDWDOVRVSHFLILHVWKHFRUUHVSRQGLQJ ccELWILHOGVLQWKHDVVHPEOHGREMHFWFRGH 5HOHYDQW FF &RQGLWLRQ )ODJ 000 NZ non zero Z 001 Z zero Z 010 NC no carry C 011 C carry C 100 PO parity odd P/V 101 PE parity even P/V 110 P sign positive S 111 M sign negative S

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



0&\FOHV 76WDWHV 0+](7 3 10 (4, 3, 3) 2.50 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKH&DUU\IODJ &IODJLQWKH)UHJLVWHU LVVHWDQGWKHFRQWHQWVRIDGGUHVV DUH03HDWH[HFXWLRQRI JPC1520H WKH3URJUDP&RXQWHUFRQWDLQV 1520HDQGRQWKHQH[WPDFKLQHF\FOHWKH&3'IHWFKHVE\WH03HIURP DGGUHVV1520H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



-5H 1RGTCVKQP 3&‘3&H

1R%QFG -5

1RGTCPFU H

0001 10 0018

e-2

&GUETKRVKQP 7KLVLQVWUXFWLRQSURYLGHVIRUXQFRQGLWLRQDOEUDQFKLQJWRRWKHUVHJPHQWVRI DSURJUDP7KHYDOXHRIWKHGLVSODFHPHQWeLVDGGHGWRWKH3URJUDP &RXQWHU 3& DQGWKHQH[WLQVWUXFWLRQLVIHWFKHGIURPWKHORFDWLRQ GHVLJQDWHGE\WKHQHZFRQWHQWVRIWKH3&7KLVMXPSLVPHDVXUHGIURPWKH DGGUHVVRIWKHLQVWUXFWLRQ2S&RGHDQGKDVDUDQJHRIWRE\WHV 7KHDVVHPEOHUDXWRPDWLFDOO\DGMXVWVIRUWKHWZLFHLQFUHPHQWHG3& 0&\FOHV 76WDWHV 0+](7 3 12 (4, 3, 5) 3.00 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG 7RMXPSIRUZDUGILYHORFDWLRQVIURPDGGUHVVWKHIROORZLQJDVVHPEO\ ODQJXDJHVWDWHPHQWLVXVHG JR $+5 7KHUHVXOWLQJREMHFWFRGHDQGILQDO3&YDOXHLVVKRZQEHORZ /RFDWLRQ ,QVWUXFWLRQ 480 18 481 03 482 - 483 - 484 - 485 ‘ PC after jump

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



-5&H 1RGTCVKQP ,I& FRQWLQXH ,I& 3&‘3&H

1R%QFG -5

1RGTCPFU &H

0011 10 0038

e-2

&GUETKRVKQP 7KLVLQVWUXFWLRQSURYLGHVIRUFRQGLWLRQDOEUDQFKLQJWRRWKHUVHJPHQWVRID SURJUDPGHSHQGLQJRQWKHUHVXOWVRIDWHVWRQWKH&DUU\)ODJ,IWKHIODJLV HTXDOWRDWKHYDOXHRIWKHGLVSODFHPHQWHLVDGGHGWRWKH3URJUDP &RXQWHU 3& DQGWKHQH[WLQVWUXFWLRQLVIHWFKHGIURPWKHORFDWLRQ GHVLJQDWHGE\WKHQHZFRQWHQWVRIWKH3&7KHMXPSLVPHDVXUHGIURPWKH DGGUHVVRIWKHLQVWUXFWLRQ2S&RGHDQGKDVDUDQJHRIWRE\WHV 7KHDVVHPEOHUDXWRPDWLFDOO\DGMXVWVIRUWKHWZLFHLQFUHPHQWHG3& ,IWKHIODJLVHTXDOWRDWKHQH[WLQVWUXFWLRQH[HFXWHGLVWDNHQIURPWKH ORFDWLRQIROORZLQJWKLVLQVWUXFWLRQ,IFRQGLWLRQLVPHW 0&\FOHV 76WDWHV 0+](7 3 12 (4, 3, 5) 3.00 ,IFRQGLWLRQLVQRWPHW 0&\FOHV 76WDWHV 0+](7 2 7 (4, 3) 1.75 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG 7KH&DUU\IODJLVVHWDQGLWLVUHTXLUHGWRMXPSEDFNIRXUORFDWLRQVIURP 7KHDVVHPEO\ODQJXDJHVWDWHPHQWLVJRC$-4 7KHUHVXOWLQJREMHFWFRGHDQGILQDO3&YDOXHLVVKRZQEHORZ

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/RFDWLRQ ,QVWUXFWLRQ 47C ‘ PC after jump 47D - 47E - 47F - 480 38 481 FA (two’s complement - 6)

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



-5 1& H 1RGTCVKQP ,I& FRQWLQXH ,I& 3&‘3&H

1R%QFG -5

1RGTCPFU 1&H

0010 10 0030

e-2

&GUETKRVKQP 7KLVLQVWUXFWLRQSURYLGHVIRUFRQGLWLRQDOEUDQFKLQJWRRWKHUVHJPHQWVRID SURJUDPGHSHQGLQJRQWKHUHVXOWVRIDWHVWRQWKH&DUU\)ODJ,IWKHIODJLV HTXDOWRWKHYDOXHRIWKHGLVSODFHPHQWeLVDGGHGWRWKH3URJUDP&RXQWHU 3& DQGWKHQH[WLQVWUXFWLRQLVIHWFKHGIURPWKHORFDWLRQGHVLJQDWHGE\WKH QHZFRQWHQWVRIWKH3&7KHMXPSLVPHDVXUHGIURPWKHDGGUHVVRIWKH LQVWUXFWLRQ2S&RGHDQGKDVDUDQJHRIWRE\WHV7KHDVVHPEOHU DXWRPDWLFDOO\DGMXVWVIRUWKHWZLFHLQFUHPHQWHG3& ,IWKHIODJLVHTXDOWRDWKHQH[WLQVWUXFWLRQH[HFXWHGLVWDNHQIURPWKH ORFDWLRQIROORZLQJWKLVLQVWUXFWLRQ ,IWKHFRQGLWLRQLVPHW 0&\FOHV 76WDWHV 0+](7 3 12 (4, 3, 5) 3.00 ,IWKHFRQGLWLRQLVQRWPHW 0&\FOHV 76WDWHV 0+](7 7 7 (4, 3) 1.75 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG 7KH&DUU\)ODJLVUHVHWDQGLWLVUHTXLUHGWRUHSHDWWKHMXPSLQVWUXFWLRQ7KH DVVHPEO\ODQJXDJHVWDWHPHQWLVJRNC$ 7KHUHVXOWLQJREMHFWFRGHDQG3&DIWHUWKHMXPSDUH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/RFDWLRQ ,QVWUXFWLRQ 480 30 ‘ PC after jump 481 00

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



-5=H 1RGTCVKQP ,I= FRQWLQXH ,I= 3&‘3&H

1R%QFG -5

1RGTCPFU =H

0011 00 0028

e-2

&GUETKRVKQP 7KLVLQVWUXFWLRQSURYLGHVIRUFRQGLWLRQDOEUDQFKLQJWRRWKHUVHJPHQWVRID SURJUDPGHSHQGLQJRQWKHUHVXOWVRIDWHVWRQWKH=HUR)ODJ,IWKHIODJLV HTXDOWRDWKHYDOXHRIWKHGLVSODFHPHQWHLVDGGHGWRWKH3URJUDP &RXQWHU 3& DQGWKHQH[WLQVWUXFWLRQLVIHWFKHGIURPWKHORFDWLRQ GHVLJQDWHGE\WKHQHZFRQWHQWVRIWKH3&7KHMXPSLVPHDVXUHGIURPWKH DGGUHVVRIWKHLQVWUXFWLRQ2S&RGHDQGKDVDUDQJHRIWRE\WHV 7KHDVVHPEOHUDXWRPDWLFDOO\DGMXVWVIRUWKHWZLFHLQFUHPHQWHG3& ,IWKH=HUR)ODJLVHTXDOWRDWKHQH[WLQVWUXFWLRQH[HFXWHGLVWDNHQIURP WKHORFDWLRQIROORZLQJWKLVLQVWUXFWLRQ,IWKHFRQGLWLRQLVPHW 0&\FOHV 76WDWHV 0+](7 3 12 (4. 3, 5) 3.00 If the condition is not met; 0&\FOHV 76WDWHV 0+](7 2 7 (4, 3) 1.75 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG 7KH=HUR)ODJLVVHWDQGLWLVUHTXLUHGWRMXPSIRUZDUGILYHORFDWLRQV IURPDGGUHVV7KHIROORZLQJDVVHPEO\ODQJXDJHVWDWHPHQWLVXVHG JRZ,$+5 7KHUHVXOWLQJREMHFWFRGHDQGILQDO3&YDOXHLV

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/RFDWLRQ ,QVWUXFWLRQ 300 28 301 03 302 - 303 - 304 - 305 ‘ PC after jump

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



-51=H 1RGTCVKQP ,I= FRQWLQXH ,I= 3&‘SFH

1R%QFG -5

1RGTCPFU 1=H

0010 00 0020

e-2

&GUETKRVKQP 7KLVLQVWUXFWLRQSURYLGHVIRUFRQGLWLRQDOEUDQFKLQJWRRWKHUVHJPHQWVRID SURJUDPGHSHQGLQJRQWKHUHVXOWVRIDWHVWRQWKH=HUR)ODJ,IWKHIODJLV HTXDOWRDWKHYDOXHRIWKHGLVSODFHPHQWHLVDGGHGWRWKH3URJUDP &RXQWHU 3& DQGWKHQH[WLQVWUXFWLRQLVIHWFKHGIURPWKHORFDWLRQ GHVLJQDWHGE\WKHQHZFRQWHQWVRIWKH3&7KHMXPSLVPHDVXUHGIURPWKH DGGUHVVRIWKHLQVWUXFWLRQ2S&RGHDQGKDVDUDQJHRIWRE\WHV 7KHDVVHPEOHUDXWRPDWLFDOO\DGMXVWVIRUWKHWZLFHLQFUHPHQWHG3& ,IWKH=HUR)ODJLVHTXDOWRDWKHQH[WLQVWUXFWLRQH[HFXWHGLVWDNHQIURP WKHORFDWLRQIROORZLQJWKLVLQVWUXFWLRQ ,IWKHFRQGLWLRQLVPHW 0&\FOHV 76WDWHV 0+](7 3 12 (4, 3, 5) 3.00 ,IWKHFRQGLWLRQLVQRWPHW 0&\FOHV 76WDWHV 0+](7 2 7 (4, 3) 1.75 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG 7KH=HUR)ODJLVUHVHWDQGLWLVUHTXLUHGWRMXPSEDFNIRXUORFDWLRQVIURP 7KHDVVHPEO\ODQJXDJHVWDWHPHQWLVJRNZ$-4 7KHUHVXOWLQJREMHFWFRGHDQGILQDO3&YDOXHLV

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



/RFDWLRQ ,QVWUXFWLRQ 47C ‘ PC after jump 47D - 47E - 47F - 480 20 481 FA (two’s complement - 6)

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



-3 +/ 1RGTCVKQP SF‘K/

1R%QFG -3

1RGTCPFU +/

1111 00 01E9

&GUETKRVKQP 7KH3URJUDP&RXQWHU UHJLVWHUSDLU3& LVORDGHGZLWKWKHFRQWHQWVRIWKH +/UHJLVWHUSDLU7KHQH[WLQVWUXFWLRQLVIHWFKHGIURPWKHORFDWLRQ GHVLJQDWHGE\WKHQHZFRQWHQWVRIWKH3& 0&\FOHV 76WDWHV 0+](7 1 4 1.00 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKHFRQWHQWVRIWKH3URJUDP&RXQWHUDUH1000HDQGWKHFRQWHQWVRIWKH +/UHJLVWHUSDLUDUH4800HDWH[HFXWLRQRIJP(HL)WKHFRQWHQWVRIWKH 3URJUDP&RXQWHUDUH4800H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



-3 ,; 1RGTCVKQP SF‘,;

1R%QFG -3

1RGTCPFU ,;

1101 11 01DD

1111 00 01E9

&GUETKRVKQP 7KH3URJUDP&RXQWHU UHJLVWHUSDLU3& LVORDGHGZLWKWKHFRQWHQWVRIWKH ,;5HJLVWHU3DLU7KHQH[WLQVWUXFWLRQLVIHWFKHGIURPWKHORFDWLRQ GHVLJQDWHGE\WKHQHZFRQWHQWVRIWKH3& 0&\FOHV 76WDWHV 0+](7 2 8 (4, 4) 2.00 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKHFRQWHQWVRIWKH3URJUDP&RXQWHUDUH1000HDQGWKHFRQWHQWVRIWKH ,;5HJLVWHU3DLUDUH4800HDWH[HFXWLRQRIJP(IX)WKHFRQWHQWVRIWKH 3URJUDP&RXQWHUDUH4800H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



-3 ,< 1RGTCVKQP 3&‘,<

1R%QFG -3

1RGTCPFU ,<

1111 11 01FD

1111 00 01E9

&GUETKRVKQP 7KH3URJUDP&RXQWHU UHJLVWHUSDLU3& LVORDGHGZLWKWKHFRQWHQWVRIWKH ,<5HJLVWHU3DLU7KHQH[WLQVWUXFWLRQLVIHWFKHGIURPWKHORFDWLRQ GHVLJQDWHGE\WKHQHZFRQWHQWVRIWKH3& 0&\FOHV 76WDWHV 0+](7 2 8 (4, 4) 2.00 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKHFRQWHQWVRIWKH3URJUDP&RXQWHUDUH+DQGWKHFRQWHQWVRIWKH ,<5HJLVWHU3DLUDUH+DWH[HFXWLRQRI JP (IY) WKHFRQWHQWVRIWKH 3URJUDP&RXQWHUDUH+

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



'-1=H 1RGTCVKQP 

1R%QFG '-1=

1RGTCPFU H

0000 10 0010

e2

&GUETKRVKQP 7KLVLQVWUXFWLRQLVVLPLODUWRWKHFRQGLWLRQDOMXPSLQVWUXFWLRQVH[FHSWWKDW DUHJLVWHUYDOXHLVXVHGWRGHWHUPLQHEUDQFKLQJ7KH%UHJLVWHULV GHFUHPHQWHGDQGLIDQRQ]HURYDOXHUHPDLQVWKHYDOXHRIWKH GLVSODFHPHQWDLVDGGHGWRWKH3URJUDP&RXQWHU 3& 7KHQH[W LQVWUXFWLRQLVIHWFKHGIURPWKHORFDWLRQGHVLJQDWHGE\WKHQHZFRQWHQWVRI WKH3&7KHMXPSLVPHDVXUHGIURPWKHDGGUHVVRIWKHLQVWUXFWLRQ2S &RGHDQGKDVDUDQJHRIWRE\WHV7KHDVVHPEOHUDXWRPDWLFDOO\ DGMXVWVIRUWKHWZLFHLQFUHPHQWHG3& ,IWKHUHVXOWRIGHFUHPHQWLQJOHDYHV%ZLWKD]HURYDOXHWKHQH[WLQVWUXFWLRQ H[HFXWHGLVWDNHQIURPWKHORFDWLRQIROORZLQJWKLVLQVWUXFWLRQ LI%ž 0&\FOHV 76WDWHV 0+](7 3 13 (5,3, 5) 3.25 ,I%  0&\FOHV 76WDWHV 0+](7 2 8 (5, 3) 2.00 %QPFKVKQP$KVU#HHGEVGF1RQH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



'ZCORNG $W\SLFDOVRIWZDUHURXWLQHLVXVHGWRGHPRQVWUDWHWKHXVHRIWKH'-1= LQVWUXFWLRQ7KLVURXWLQHPRYHVDOLQHIURPDQLQSXWEXIIHU ,1%8) WRDQ RXWSXWEXIIHU 287%8) ,WPRYHVWKHE\WHVXQWLOLWILQGVD&5RUXQWLOLW KDVPRYHGE\WHVZKLFKHYHURFFXUVILUVW

LD 8, 80 ;Set up counter LD HL, Inbuf ;Set up pointers LD DE, Outbuf

LOOP: LID A, (HL) ;Get next byte from ;input buffer LD (DE), A ;Store in output buffer CP ODH ;Is it a CR? JR Z, DONE ;Yes finished INC HL ;Increment pointers INC DE DJNZ LOOP ;Loop back if 80 ;bytes have not ;been moved DONE:

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



&DOO$QG5HWXUQ*URXS

&$//QQ 1RGTCVKQP 63 ‘3&+ 63 ‘3&/3&‘QQ

1R%QFG &$//

1RGTCPFU QQ

1101 01 01CD

n

n 7KHILUVWRIWKHWZRQRSHUDQGVLQWKHDVVHPEOHGREMHFWFRGHDERYHLVWKH OHDVWVLJQLILFDQWE\WHRIDE\WHPHPRU\DGGUHVV

&GUETKRVKQP 7KHFXUUHQWFRQWHQWVRIWKH3URJUDP&RXQWHU 3& DUHSXVKHGRQWRWKHWRS RIWKHH[WHUQDOPHPRU\VWDFN7KHRSHUDQGVnnDUHWKHQORDGHGWRWKH3&WR SRLQWWRWKHDGGUHVVLQPHPRU\ZKHUHWKHILUVW2S&RGHRIDVXEURXWLQHLVWR EHIHWFKHG$WWKHHQGRIWKHVXEURXWLQHD5(7XUQLQVWUXFWLRQFDQEHXVHG WRUHWXUQWRWKHRULJLQDOSURJUDPIORZE\SRSSLQJWKHWRSRIWKHVWDFNEDFN WRWKH3&7KHSXVKLVDFFRPSOLVKHGE\ILUVWGHFUHPHQWLQJWKHFXUUHQW FRQWHQWVRIWKH6WDFN3RLQWHU UHJLVWHUSDLU63 ORDGLQJWKHKLJKRUGHUE\WH RIWKH3&FRQWHQWVWRWKHPHPRU\DGGUHVVQRZSRLQWHGWRE\WKH63WKHQ GHFUHPHQWLQJ63DJDLQDQGORDGLQJWKHORZRUGHUE\WHRIWKH3&FRQWHQWV WRWKHWRSRIVWDFN %HFDXVHWKLVLVDE\WHLQVWUXFWLRQWKH3URJUDP&RXQWHUZDVLQFUHPHQWHG E\WKUHHEHIRUHWKHSXVKLVH[HFXWHG 0&\FOHV 76WDWHV 0+](7 5 17 (4, 3, 4, 3, 3) 4.25 %QPFKVKQP$KVU#HHGEVGF1RQH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



'ZCORNG ,IWKHFRQWHQWVRIWKH3URJUDP&RXQWHUDUH1A47HWKHFRQWHQWVRIWKH6WDFN 3RLQWHUDUH3002HDQGPHPRU\ORFDWLRQVKDYHWKHFRQWHQWV 1A47H contains CDH IA48H contains 35H 1A49H contains 21H ,IDQLQVWUXFWLRQIHWFKVHTXHQFHEHJLQVWKHE\WHLQVWUXFWLRQCD3521H LV IHWFKHGWRWKH&38IRUH[HFXWLRQ7KHPQHPRQLFHTXLYDOHQWRIWKLVLVCALL 2135H$WH[HFXWLRQRIWKLVLQVWUXFWLRQWKHFRQWHQWVRIPHPRU\DGGUHVV 3001HLV1AHWKHFRQWHQWVRIDGGUHVV3000HLV4AHWKHFRQWHQWVRIWKH 6WDFN3RLQWHULV3000HDQGWKHFRQWHQWVRIWKH3URJUDP&RXQWHULV2135H SRLQWLQJWRWKHDGGUHVVRIWKHILUVW2S&RGHRIWKHVXEURXWLQHQRZWREH H[HFXWHG

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



&$//FFQQ 1RGTCVKQP ,)FFWUXH VS ‘3&+ VS ‘3&/SF‘QQ

1R%QFG &$//

1RGTCPFU FFQQ

11cc 10 0

n

n

Note: The first of the two n operands in the assembled object code above is the least-significant byte of the 2-byte memory address.

&GUETKRVKQP ,IFRQGLWLRQccLVWUXHWKLVLQVWUXFWLRQSXVKHVWKHFXUUHQWFRQWHQWVRIWKH 3URJUDP&RXQWHU 3& RQWRWKHWRSRIWKHH[WHUQDOPHPRU\VWDFNWKHQ ORDGVWKHRSHUDQGVnnWR3&WRSRLQWWRWKHDGGUHVVLQPHPRU\ZKHUHWKH ILUVW2S&RGHRIDVXEURXWLQHLVWREHIHWFKHG$WWKHHQGRIWKHVXEURXWLQH D5(7XUQLQVWUXFWLRQFDQEHXVHGWRUHWXUQWRWKHRULJLQDOSURJUDPIORZE\ SRSSLQJWKHWRSRIWKHVWDFNEDFNWR3&,IFRQGLWLRQccLVIDOVHWKH 3URJUDP&RXQWHULVLQFUHPHQWHGDVXVXDODQGWKHSURJUDPFRQWLQXHVZLWK WKHQH[WVHTXHQWLDOLQVWUXFWLRQ7KHVWDFNSXVKLVDFFRPSOLVKHGE\ILUVW GHFUHPHQWLQJWKHFXUUHQWFRQWHQWVRIWKH6WDFN3RLQWHU 63 ORDGLQJWKH KLJKRUGHUE\WHRIWKH3&FRQWHQWVWRWKHPHPRU\DGGUHVVQRZSRLQWHGWR E\63WKHQGHFUHPHQWLQJ63DJDLQDQGORDGLQJWKHORZRUGHUE\WHRIWKH 3&FRQWHQWVWRWKHWRSRIWKHVWDFN %HFDXVHWKLVLVDE\WHLQVWUXFWLRQWKH3URJUDP&RXQWHUZDVLQFUHPHQWHG E\WKUHHEHIRUHWKHSXVKLVH[HFXWHG

&RQGLWLRQccLVSURJUDPPHGDVRQHRIHLJKWVWDWXVWKDWFRUUHVSRQGVWR FRQGLWLRQELWVLQWKH)ODJ5HJLVWHU UHJLVWHU) 7KHVHHLJKWVWDWXVDUH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



GHILQHGLQWKHWDEOHEHORZZKLFKDOVRVSHFLILHVWKHFRUUHVSRQGLQJFFELW ILHOGVLQWKHDVVHPEOHGREMHFWFRGH 5HOHYDQW FF &RQGLWLRQ )ODJ 000 NZ non zero Z 001 Z zero Z 010 NC non carry C 011 C carry Z 100 PO parity odd P/V 101 PE parity even P/V 110 P sign positive S 111 M sign negative S ,IccLVWUXH 0&\FOHV 76WDWHV 0+](7 5 17 (4, 3, 4, 3, 3) 4.25 ,IccLVIDOVH 0&\FOHV 76WDWHV 0+](7 3 10 (4, 3, 3) 2.50 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKH&)ODJLQWKH)UHJLVWHULVUHVHWWKHFRQWHQWVRIWKH3URJUDP&RXQWHU DUH1A47HWKHFRQWHQWVRIWKH6WDFN3RLQWHUDUH3002HDQGPHPRU\ ORFDWLRQVKDYHWKHFRQWHQWV /RFDWLRQ &RQWHQWV 1A47H D4H 1448H 35H 1A49H 21H WKHQLIDQLQVWUXFWLRQIHWFKVHTXHQFHEHJLQVWKHE\WHLQVWUXFWLRQ D43521H LVIHWFKHGWRWKH&38IRUH[HFXWLRQ7KHPQHPRQLFHTXLYDOHQWRI WKLVLV&$//1&2135H$WH[HFXWLRQRIWKLVLQVWUXFWLRQWKHFRQWHQWVRI PHPRU\DGGUHVV3001HLV1AHWKHFRQWHQWVRIDGGUHVV3000HLV4AHWKH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



FRQWHQWVRIWKH6WDFN3RLQWHULV3000HDQGWKHFRQWHQWVRIWKH3URJUDP &RXQWHULV2135HSRLQWLQJWRWKHDGGUHVVRIWKHILUVW2S&RGHRIWKH VXEURXWLQHQRZWREHH[HFXWHG

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



5(7 1RGTCVKQP S&/‘ VS S&+‘ VS

1R%QFG 5(7

1101 00 01C9

&GUETKRVKQP 7KHE\WHDWWKHPHPRU\ORFDWLRQVSHFLILHGE\WKHFRQWHQWVRIWKH6WDFN 3RLQWHU 63 UHJLVWHUSDLULVPRYHGWRWKHORZRUGHUHLJKWELWVRIWKH 3URJUDP&RXQWHU 3& 7KH63LVQRZLQFUHPHQWHGDQGWKHE\WHDWWKH PHPRU\ORFDWLRQVSHFLILHGE\WKHQHZFRQWHQWVRIWKLVLQVWUXFWLRQLVIHWFKHG IURPWKHPHPRU\ORFDWLRQVSHFLILHGE\WKH3&7KLVLQVWUXFWLRQLVQRUPDOO\ XVHGWRUHWXUQWRWKHPDLQOLQHSURJUDPDWWKHFRPSOHWLRQRIDURXWLQH HQWHUHGE\D&$//LQVWUXFWLRQ 0&\FOHV 76WDWHV 0+](7 3 10 (4, 3, 3) 2.50 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKHFRQWHQWVRIWKH3URJUDP&RXQWHUDUH3535HWKHFRQWHQWVRIWKH6WDFN 3RLQWHUDUH2000HWKHFRQWHQWVRIPHPRU\ORFDWLRQ2000HDUHB5HDQG WKHFRQWHQWVRIPHPRU\ORFDWLRQRIPHPRU\ORFDWLRQ2001HDUH18H$W H[HFXWLRQRI RET WKHFRQWHQWVRIWKH6WDFN3RLQWHULV2002HDQGWKH FRQWHQWVRIWKH3URJUDP&RXQWHULV18B5HSRLQWLQJWRWKHDGGUHVVRIWKH QH[WSURJUDP2S&RGHWREHIHWFKHG

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



5(7FF

1RGTCVKQP ,IccWUXH3&/‘ VS S&+‘ VS 1R%QFG 5(7

1RGTCPFU FF

11cc 00 0

&GUETKRVKQP ,IFRQGLWLRQFFLVWUXHWKHE\WHDWWKHPHPRU\ORFDWLRQVSHFLILHGE\WKH FRQWHQWVRIWKH6WDFN3RLQWHU 63 UHJLVWHUSDLULVPRYHGWRWKHORZRUGHU HLJKWELWVRIWKH3URJUDP&RXQWHU 3& 7KH63LVLQFUHPHQWHGDQGWKHE\WH DWWKHPHPRU\ORFDWLRQVSHFLILHGE\WKHQHZFRQWHQWVRIWKH63DUHPRYHG WRWKHKLJKRUGHUHLJKWELWVRIWKH3&7KH63LVLQFUHPHQWHGDJDLQ7KH QH[W2S&RGHIROORZLQJWKLVLQVWUXFWLRQLVIHWFKHGIURPWKHPHPRU\ ORFDWLRQVSHFLILHGE\WKH3&7KLVLQVWUXFWLRQLVQRUPDOO\XVHGWRUHWXUQWR WKHPDLQOLQHSURJUDPDWWKHFRPSOHWLRQRIDURXWLQHHQWHUHGE\DCALL LQVWUXFWLRQ,IFRQGLWLRQccLVIDOVHWKH3&LVVLPSO\LQFUHPHQWHGDVXVXDO DQGWKHSURJUDPFRQWLQXHVZLWKWKHQH[WVHTXHQWLDOLQVWUXFWLRQ&RQGLWLRQ FFLVSURJUDPPHGDVRQHRIHLJKWVWDWXVWKDWFRUUHVSRQGWRFRQGLWLRQELWVLQ WKH)ODJ5HJLVWHU UHJLVWHU) 7KHVHHLJKWVWDWXVDUHGHILQHGLQWKHWDEOH EHORZZKLFKDOVRVSHFLILHVWKHFRUUHVSRQGLQJccELWILHOGVLQWKHDVVHPEOHG REMHFWFRGH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



5HOHYDQW FF &RQGLWLRQ )ODJ 000 NZ non zero Z 001 Z zero Z 010 NC non carry C 011 C carry C 100 PO parity odd P/V 101 PE parity even P/V 110 P sign positive S 111 M sign negative S ,IccLVWUXH 0&\FOHV 76WDWHV 0+](7 3 11 (5, 3, 3) 2.75 ,IccLVIDOVH 0&\FOHV 76WDWHV 0+](7 1 5 1.25 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKH6IODJLQWKH)UHJLVWHULVVHWWKHFRQWHQWVRIWKH3URJUDP&RXQWHUDUH 3535HWKHFRQWHQWVRIWKH6WDFN3RLQWHUDUH2000HWKHFRQWHQWVRI PHPRU\ORFDWLRQ2000HDUHB5HDQGWKHFRQWHQWVRIPHPRU\ORFDWLRQ 2001HDUH18H$WH[HFXWLRQRI RET M WKHFRQWHQWVRIWKH6WDFN3RLQWHU LV2002HDQGWKHFRQWHQWVRIWKH3URJUDP&RXQWHULV18B5HSRLQWLQJWR WKHDGGUHVVRIWKHQH[WSURJUDP2S&RGHWREHIHWFKHG

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



5(7, 1RGTCVKQP 5HWXUQIURP,QWHUUXSW

1R%QFG 5(7,

1111 01 01ED

0101 01 014D

&GUETKRVKQP 7KLVLQVWUXFWLRQLVXVHGDWWKHHQGRIDPDVNDEOHLQWHUUXSWVHUYLFHURXWLQHWR • Restore the contents of the Program Counter (PC) (analogous to the RET instruction) • Signal an I/O device that the interrupt routine is completed. The RETI instruction also facilitates the nesting of interrupts, allowing higher priority devices to temporarily suspend service of lower priority service routines. However, this instruction does not enable interrupts that were disabled when the interrupt routine was entered. Before doing the RETI instruction, the enable interrupt instruction (EI) should be executed to allow recognition of interrupts after completion of the current service routine. 0&\FOHV 76WDWHV 0+](7 4 14 (4, 4, 3, 3) 3.50 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG *LYHQ7ZRLQWHUUXSWLQJGHYLFHVZLWK$DQG%FRQQHFWHGLQDGDLV\FKDLQ FRQILJXUDWLRQDQG$KDYLQJDKLJKHUSULRULW\WKDQ%

A B +

IEI IEO IEI IEO

INT

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



B generates an interrupt and is acknowledged. The interrupt enable out, IEO, of B goes Low, blocking any lower priority devices from interrupting while B is being serviced. Then A gen- erates an interrupt, suspending service of B. The IEO of A goes Low, indicating that a higher priority device is being serviced. The A routine is completed and a RETI is issued resetting the IEO of A, allowing the B routine to continue. A second RETI is issued on completion of the B routine and the IE0 of B is reset (high) allowing lower priority devices interrupt access.

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



5(71 1RGTCVKQP 5HWXUQIURPQRQPDVNDEOHLQWHUUXSW

1R%QFG 5(71

1111 01 01ED

0100 01 0145

&GUETKRVKQP 7KLVLQVWUXFWLRQLVXVHGDWWKHHQGRIDQRQPDVNDEOHLQWHUUXSWVVHUYLFH URXWLQHWRUHVWRUHWKHFRQWHQWVRIWKH3URJUDP&RXQWHU 3&  DQDORJRXVWR WKH5(7LQVWUXFWLRQ 7KHVWDWHRI,))LVFRSLHGEDFNWR,))VRWKDW PDVNDEOHLQWHUUXSWVDUHHQDEOHGLPPHGLDWHO\IROORZLQJWKH5(71LIWKH\ ZHUHHQDEOHGEHIRUHWKHQRQPDVNDEOHLQWHUUXSW 0&\FOHV 76WDWHV 0+](7 4 14 (4, 4, 3, 3) 3.50 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKHFRQWHQWVRIWKH6WDFN3RLQWHUDUH1000HDQGWKHFRQWHQWVRIWKH 3URJUDP&RXQWHUDUH1A45HZKHQDQRQPDVNDEOHLQWHUUXSW 10, VLJQDO LVUHFHLYHGWKH&38LJQRUHVWKHQH[WLQVWUXFWLRQDQGLQVWHDGUHVWDUWVWR PHPRU\DGGUHVV0066H7KHFXUUHQW3URJUDP&RXQWHUFRQWHQWVRI1A45H LVSXVKHGRQWRWKHH[WHUQDOVWDFNDGGUHVVRI0FFFHDQG0FFEHKLJKRUGHU E\WHILUVWDQG0066HLVORDGHGRQWRWKH3URJUDP&RXQWHU7KDWDGGUHVV EHJLQVDQLQWHUUXSWVHUYLFHURXWLQHWKDWHQGVZLWKDRETNLQVWUXFWLRQ 8SRQWKHH[HFXWLRQRI RETN WKHIRUPHU3URJUDP&RXQWHUFRQWHQWVDUH SRSSHGRIIWKHH[WHUQDOPHPRU\VWDFNORZRUGHUILUVWUHVXOWLQJLQD6WDFN 3RLQWHUFRQWHQWVDJDLQRI1000H7KHSURJUDPIORZFRQWLQXHVZKHUHLW OHIWRIIZLWKDQ2S&RGHIHWFKWRDGGUHVV1A45HRUGHUE\WHILUVWDQG +LVORDGHGRQWRWKH3URJUDP&RXQWHU7KDWDGGUHVVEHJLQVDQ LQWHUUXSWVHUYLFHURXWLQHWKDWHQGVZLWKDRETNLQVWUXFWLRQ$WH[HFXWLRQRI RETN WKHIRUPHU3URJUDP&RXQWHUFRQWHQWVDUHSRSSHGRIIWKHH[WHUQDO PHPRU\VWDFNORZRUGHUILUVWUHVXOWLQJLQD6WDFN3RLQWHUFRQWHQWVDJDLQRI

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



1000H7KHSURJUDPIORZFRQWLQXHVZKHUHLWOHIWRIIZLWKDQ2S&RGHIHWFK WRDGGUHVV1A45H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



567S 1RGTCVKQP 63 ‘3&+ 63 ‘3&/3&+‘3&/‘3

1R%QFG 567

1RGTCPFU S

11 t11 1

&GUETKRVKQP 7KHFXUUHQW3URJUDP&RXQWHU 3& FRQWHQWVDUHSXVKHGRQWRWKHH[WHUQDO PHPRU\VWDFNDQGWKHSDJH]HURPHPRU\ORFDWLRQJLYHQE\RSHUDQGSLV ORDGHGWRWKH3&3URJUDPH[HFXWLRQWKHQEHJLQVZLWKWKH2S&RGHLQWKH DGGUHVVQRZSRLQWHGWRE\3&7KHSXVKLVSHUIRUPHGE\ILUVWGHFUHPHQWLQJ WKHFRQWHQWVRIWKH6WDFN3RLQWHU 63 ORDGLQJWKHKLJKRUGHUE\WHRI3&WR WKHPHPRU\DGGUHVVQRZSRLQWHGWRE\63GHFUHPHQWLQJ63DJDLQDQG ORDGLQJWKHORZRUGHUE\WHRI3&WRWKHDGGUHVVQRZSRLQWHGWRE\637KH 5HVWDUWLQVWUXFWLRQDOORZVIRUDMXPSWRRQHRIHLJKWDGGUHVVHVLQGLFDWHGLQ WKHWDEOHEHORZ7KHRSHUDQGpLVDVVHPEOHGWRWKHREMHFWFRGHXVLQJWKH FRUUHVSRQGLQJ7VWDWH %HFDXVHDOODGGUHVVHVDUHLQSDJH]HURRIPHPRU\WKHKLJKRUGHUE\WHRI 3&LVORDGHGZLWK00H7KHQXPEHUVHOHFWHGIURPWKHSFROXPQRIWKHWDEOH LVORDGHGWRWKHORZRUGHUE\WHRI3& SW 00H 000 08H 001 10H 010 18H 011 20H 100 28H 101 30H 110 38H 111 0&\FOHV 76WDWHV 0+](7 3 11 (5, 3, 3) 2.75

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



'ZCORNG ,IWKHFRQWHQWVRIWKH3URJUDP&RXQWHUDUH%+DWH[HFXWLRQRI RST 18H 2EMHFWFRGH1101111 WKH3&FRQWDLQV0018HDVWKHDGGUHVV RIWKHQH[W2S&RGHIHWFKHG

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



,QSXWDQG2XWSXW*URXS

,1$ Q 1RGTCVKQP $‘ Q

1R%QFG ,1

1RGTCPFU $ Q

1101 10 11DB

n

&GUETKRVKQP 7KHRSHUDQGQLVSODFHGRQWKHERWWRPKDOI $WKURXJK$ RIWKHDGGUHVV EXVWRVHOHFWWKH,2GHYLFHDWRQHRISRVVLEOHSRUWV7KHFRQWHQWVRIWKH $FFXPXODWRUDOVRDSSHDURQWKHWRSKDOI $WKURXJK$ RIWKHDGGUHVV EXVDWWKLVWLPH7KHQRQHE\WHIURPWKHVHOHFWHGSRUWLVSODFHGRQWKHGDWD EXVDQGZULWWHQWRWKH$FFXPXODWRU UHJLVWHU$ LQWKH&38 0&\FOHV 76WDWHV 0+]/7 3 11 (4, 3, 4) 2.75 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKHFRQWHQWVRIWKH$FFXPXODWRUDUH23HDQGE\WH7BHLVDYDLODEOHDWWKH SHULSKHUDOGHYLFHPDSSHGWR,2SRUWDGGUHVV01H$WH[HFXWLRQRIINA, (01H) WKH$FFXPXODWRUFRQWDLQV7BH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



,1U & 1RGTCVKQP U‘ &

1R%QFG ,1

1RGTCPFU U &

1111 01 01EB

01 r00 0

&GUETKRVKQP 7KHFRQWHQWVRIUHJLVWHU&DUHSODFHGRQWKHERWWRPKDOI $WKURXJK$ RI WKHDGGUHVVEXVWRVHOHFWWKH,2GHYLFHDWRQHRISRVVLEOHSRUWV7KH FRQWHQWVRI5HJLVWHU%DUHSODFHGRQWKHWRSKDOI $WKURXJK$ RIWKH DGGUHVVEXVDWWKLVWLPH7KHQRQHE\WHIURPWKHVHOHFWHGSRUWLVSODFHGRQ WKHGDWDEXVDQGZULWWHQWRUHJLVWHUULQWKH&385HJLVWHUULGHQWLILHVDQ\RI WKH&38UHJLVWHUVVKRZQLQWKHIROORZLQJWDEOHZKLFKDOVRLQGLFDWHVWKH FRUUHVSRQGLQJELWUILHOGIRUHDFK7KHIODJVDUHDIIHFWHGFKHFNLQJWKH LQSXWGDWD 5HJLVWHU U Flag 110 Undefined Op Code, set the flag B 000 C 001 D 010 E 011 H 100 L 101 A 111 0&\FOHV 76WDWHV 0+](7 3 12 (4, 4, 4) 3.00

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



%QPFKVKQP$KVU#HHGEVGF 6LVVHWLILQSXWGDWDLVQHJDWLYHUHVHWRWKHUZLVH =LVVHWLILQSXWGDWDLV]HURUHVHWRWKHUZLVH +LVUHVHW 39LVVHWLISDULW\LVHYHQUHVHWRWKHUZLVH 1LVUHVHW &LVQRWDIIHFWHG 'ZCORNG ,IWKHFRQWHQWVRIUHJLVWHU&DUH07HWKHFRQWHQWVRIUHJLVWHU%DUH10H DQGE\WH7BHLVDYDLODEOHDWWKHSHULSKHUDOGHYLFHPDSSHGWR,2SRUW DGGUHVV07H$IWHUH[HFXWLRQRIIND,(C)UHJLVWHU'FRQWDLQV7BH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



,1, 1RGTCVKQP +/ ‘ & %‘%+/‘+/

1R%QFG ,1,

1111 01 01ED

1010 00 10A2

&GUETKRVKQP 7KHFRQWHQWVRIUHJLVWHU&DUHSODFHGRQWKHERWWRPKDOI $WKURXJK$ RI WKHDGGUHVVEXVWRVHOHFWWKH,2GHYLFHDWRQHRISRVVLEOHSRUWV 5HJLVWHU%PD\EHXVHGDVDE\WHFRXQWHUDQGLWVFRQWHQWVDUHSODFHGRQWKH WRSKDOI $WKURXJK$ RIWKHDGGUHVVEXVDWWKLVWLPH7KHQRQHE\WH IURPWKHVHOHFWHGSRUWLVSODFHGRQWKHGDWDEXVDQGZULWWHQWRWKH&387KH FRQWHQWVRIWKH+/UHJLVWHUSDLUDUHWKHQSODFHGRQWKHDGGUHVVEXVDQGWKH LQSXWE\WHLVZULWWHQWRWKHFRUUHVSRQGLQJORFDWLRQRIPHPRU\)LQDOO\WKH E\WHFRXQWHULVGHFUHPHQWHGDQGUHJLVWHUSDLU+/LVLQFUHPHQWHG 0&\FOHV 76WDWHV 0+](7 4 16 (4, 5, 3, 4) 4.00 %QPFKVKQP$KVU#HHGEVGF 6LVXQNQRZQ =LVVHWLI%± UHVHWRWKHUZLVH +LVXQNQRZQ 39LVXQNQRZQ 1LVVHW &LVQRWDIIHFWHG

'ZCORNG ,IWKHFRQWHQWVRIUHJLVWHU&DUH07HWKHFRQWHQWVRIUHJLVWHU%DUH10HWKH FRQWHQWVRIWKH+/UHJLVWHUSDLUDUH1000HDQGE\WH7BHLVDYDLODEOHDWWKH SHULSKHUDOGHYLFHPDSSHGWR,2SRUWDGGUHVV07H$WH[HFXWLRQRIINI PHPRU\ORFDWLRQ1000HFRQWDLQV7BHWKH+/UHJLVWHUSDLUFRQWDLQV 1001HDQGUHJLVWHU%FRQWDLQV0FH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



,1,5 1RGTCVKQP +/ ‘ & %‘%+/‘+/

1R%QFG ,1,5

1111 01 01ED

1010 10 10B2

&GUETKRVKQP 7KHFRQWHQWVRIUHJLVWHU&DUHSODFHGRQWKHERWWRPKDOI $WKURXJK$ RI WKHDGGUHVVEXVWRVHOHFWWKH,2GHYLFHDWRQHRISRVVLEOHSRUWV 5HJLVWHU%LVXVHGDVDE\WHFRXQWHUDQGLWVFRQWHQWVDUHSODFHGRQWKHWRS KDOI $WKURXJK$ RIWKHDGGUHVVEXVDWWKLVWLPH7KHQRQHE\WHIURP WKHVHOHFWHGSRUWLVSODFHGRQWKHGDWDEXVDQGZULWWHQWRWKH&387KH FRQWHQWVRIWKH+/UHJLVWHUSDLUDUHSODFHGRQWKHDGGUHVVEXVDQGWKHLQSXW E\WHLVZULWWHQWRWKHFRUUHVSRQGLQJORFDWLRQRIPHPRU\7KHQUHJLVWHUSDLU +/LVLQFUHPHQWHGWKHE\WHFRXQWHULVGHFUHPHQWHG,IGHFUHPHQWLQJFDXVHV %WRJRWR]HURWKHLQVWUXFWLRQLVWHUPLQDWHG,I%LVQRW]HURWKH3&LV GHFUHPHQWHGE\WZRDQGWKHLQVWUXFWLRQUHSHDWHG,QWHUUXSWVDUHUHFRJQL]HG DQGWZRUHIUHVKF\FOHVH[HFXWHDIWHUHDFKGDWDWUDQVIHU

Note: if B is set to zero prior to instruction execution, 256 bytes of data are input. ,I%ž 0&\FOHV 76WDWHV 0+](7 5 21 (4, 5, 3, 4, 5) 5.25 ,I%  0&\FOHV 76WDWHV 0+](7 4 16 (4, 5, 3, 4) 4.00 %QPFKVKQP$KVU#HHGEVGF 6LVXQNQRZQ =LVVHW +LVXQNQRZQ 39LVXQNQRZQ

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



1LVVHW &LVQRWDIIHFWHG 'ZCORNG ,IWKHFRQWHQWVRIUHJLVWHU&DUH07HWKHFRQWHQWVRIUHJLVWHU%DUH03H WKHFRQWHQWVRIWKH+/UHJLVWHUSDLUDUH1000HDQGWKHIROORZLQJ VHTXHQFHRIE\WHVDUHDYDLODEOHDWWKHSHULSKHUDOGHYLFHPDSSHGWR,2 SRUWRIDGGUHVV07H 51H A9H 03H WKHQDWH[HFXWLRQRIINIR WKH+/ UHJLVWHUSDLUFRQWDLQV+UHJLVWHU% FRQWDLQV]HURDQGPHPRU\ORFDWLRQVFRQWDLQWKHIROORZLQJ

1000H FRQWDLQV51H 1001H FRQWDLQVA9H 1002H FRQWDLQV03H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



,1' 1RGTCVKQP +/ ‘ & %‘%+/‘+/

1R%QFG ,1'

1111 01 01ED

1011 00 10AA

&GUETKRVKQP 7KHFRQWHQWVRIUHJLVWHU&DUHSODFHGRQWKHERWWRPKDOI $WKURXJK$ RI WKHDGGUHVVEXVWRVHOHFWWKH,2GHYLFHDWRQHRISRVVLEOHSRUWV 5HJLVWHU%PD\EHXVHGDVDE\WHFRXQWHUDQGLWVFRQWHQWVDUHSODFHGRQWKH WRSKDOI $WKURXJK$ RIWKHDGGUHVVEXVDWWKLVWLPH7KHQRQHE\WH IURPWKHVHOHFWHGSRUWLVSODFHGRQWKHGDWDEXVDQGZULWWHQWRWKH&387KH FRQWHQWVRIWKH+/UHJLVWHUSDLUDUHSODFHGRQWKHDGGUHVVEXVDQGWKHLQSXW E\WHLVZULWWHQWRWKHFRUUHVSRQGLQJORFDWLRQRIPHPRU\)LQDOO\WKHE\WH FRXQWHUDQGUHJLVWHUSDLU+/DUHGHFUHPHQWHG

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



0&\FOHV 76WDWHV 0+](7 4 16 (4, 5, 3, 4) 4.00 %QPFKVKQP$KVU#HHGEVGF 6LVXQNQRZQ =LVVHWLI%± UHVHWRWKHUZLVH +LVXQNQRZQ 39LVXQNQRZQ 1LVVHW &LVQRWDIIHFWHG

'ZCORNG ,IWKHFRQWHQWVRIUHJLVWHU&DUH07HWKHFRQWHQWVRIUHJLVWHU%DUH10HWKH FRQWHQWVRIWKH+/UHJLVWHUSDLUDUH1000HDQGE\WH7BHLVDYDLODEOHDWWKH SHULSKHUDOGHYLFHPDSSHGWR,2SRUWDGGUHVV07H$WH[HFXWLRQRIIND PHPRU\ORFDWLRQ1000HFRQWDLQV7BHWKH+/UHJLVWHUSDLUFRQWDLQV 0FFFHDQGUHJLVWHU%FRQWDLQV0FH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



,1'5 1RGTCVKQP +/ ‘ & %‘+/‘+/

1R%QFG ,1'5

1111 01 01ED

1011 10 10BA

&GUETKRVKQP 7KHFRQWHQWVRIUHJLVWHU&DUHSODFHGRQWKHERWWRPKDOI $WKURXJK$  RIWKHDGGUHVVEXVWRVHOHFWWKH,2GHYLFHDWRQHRISRVVLEOHSRUWV 5HJLVWHU%LVXVHGDVDE\WHFRXQWHUDQGLWVFRQWHQWVDUHSODFHGRQWKHWRS KDOI $WKURXJK$ RIWKHDGGUHVVEXVDWWKLVWLPH7KHQRQHE\WHIURP WKHVHOHFWHGSRUWLVSODFHGRQWKHGDWDEXVDQGZULWWHQWRWKH&387KH FRQWHQWVRIWKH+/UHJLVWHUSDLUDUHSODFHGRQWKHDGGUHVVEXVDQGWKH LQSXWE\WHLVZULWWHQWRWKHFRUUHVSRQGLQJORFDWLRQRIPHPRU\7KHQ+/ DQGWKHE\WHFRXQWHUDUHGHFUHPHQWHG,IGHFUHPHQWLQJFDXVHV%WRJRWR ]HURWKHLQVWUXFWLRQLVWHUPLQDWHG,I%LVQRW]HURWKH3&LVGHFUHPHQWHG E\WZRDQGWKHLQVWUXFWLRQUHSHDWHG,QWHUUXSWVDUHUHFRJQL]HGDQGWZR UHIUHVKF\FOHVDUHH[HFXWHGDIWHUHDFKGDWDWUDQVIHU :KHQ%LVVHWWR]HURSULRUWRLQVWUXFWLRQH[HFXWLRQE\WHVRIGDWDDUH LQSXW ,I%ž 0&\FOHV 76WDWHV 0+](7     ,I%  0&\FOHV 76WDWHV 0+](7     %QPFKVKQP$KVU#HHGEVGF 6LVXQNQRZQ =LVVHW +LVXQNQRZQ 39LVXQNQRZQ 1LVVHW

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



&LVQRWDIIHFWHG 'ZCORNG ,IWKHFRQWHQWVRIUHJLVWHU&DUH07HWKHFRQWHQWVRIUHJLVWHU%DUH03HWKH FRQWHQWVRIWKH+/UHJLVWHUSDLUDUH1000HDQGWKHIROORZLQJVHTXHQFHRI E\WHVDUHDYDLODEOHDWWKHSHULSKHUDOGHYLFHPDSSHGWR,2SRUWDGGUHVV07H 51H A9H 03H WKHQDWH[HFXWLRQRIINDRWKH+/ UHJLVWHUSDLUFRQWDLQV0FFDHUHJLVWHU% FRQWDLQV]HURDQGPHPRU\ORFDWLRQVFRQWDLQWKHIROORZLQJ

0FFEH FRQWDLQV03H 0FFFH FRQWDLQVA9H 1000H FRQWDLQV51H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



287 Q $ 1RGTCVKQP Q ‘$

1R%QFG 287

1RGTCPFU Q $

1100 10 11D3

n

&GUETKRVKQP 7KHRSHUDQGQLVSODFHGRQWKHERWWRPKDOI $WKURXJK$ RIWKHDGGUHVV EXVWRVHOHFWWKH,2GHYLFHDWRQHRISRVVLEOHSRUWV7KHFRQWHQWVRIWKH $FFXPXODWRU UHJLVWHU$ DOVRDSSHDURQWKHWRSKDOI $WKURXJK$ RI WKHDGGUHVVEXVDWWKLVWLPH7KHQWKHE\WHFRQWDLQHGLQWKH$FFXPXODWRULV SODFHGRQWKHGDWDEXVDQGZULWWHQWRWKHVHOHFWHGSHULSKHUDOGHYLFH 0&\FOHV 76WDWHV 0+](7 3 11 (4, 3, 4) 2.75 %QPFKVKQP$KVU#HHGEVGF1RQH

'ZCORNG ,IWKHFRQWHQWVRIWKH$FFXPXODWRUDUH23HDWH[HFXWLRQRI OUT 01H  E\WH23HLVZULWWHQWRWKHSHULSKHUDOGHYLFHPDSSHGWR,2SRUWDGGUHVV01H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



287 & U 1RGTCVKQP & ‘U

1R%QFG 287

1RGTCPFU & U

1111 01 01ED

01 r01 0

&GUETKRVKQP 7KHFRQWHQWVRIUHJLVWHU&DUHSODFHGRQWKHERWWRPKDOI $WKURXJK$ RI WKHDGGUHVVEXVWRVHOHFWWKH,2GHYLFHDWRQHRISRVVLEOHSRUWV7KH FRQWHQWVRI5HJLVWHU%DUHSODFHGRQWKHWRSKDOI $WKURXJK$ RIWKH DGGUHVVEXVDWWKLVWLPH7KHQWKHE\WHFRQWDLQHGLQUHJLVWHUULVSODFHGRQ WKHGDWDEXVDQGZULWWHQWRWKHVHOHFWHGSHULSKHUDOGHYLFH5HJLVWHUU LGHQWLILHVDQ\RIWKH&38UHJLVWHUVVKRZQLQWKHIROORZLQJWDEOHZKLFKDOVR VKRZVWKHFRUUHVSRQGLQJWKUHHELWUILHOGIRUHDFKWKDWDSSHDUVLQWKH DVVHPEOHGREMHFWFRGH 5HJLVWHU U B 000 C 001 D 010 E 011 H 100 L 101 A 111 0&\FOHV 76WDWHV 0+](7 3 12 (4, 4, 4) 3.00 %QPFKVKQP$KVU#HHGEVGF1RQH

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



'ZCORNG ,IWKHFRQWHQWVRIUHJLVWHU&DUH01HDQGWKHFRQWHQWVRIUHJLVWHU'DUH5AH DWH[HFXWLRQRIOUT(C),DE\WH5AHLVZULWWHQWRWKHSHULSKHUDOGHYLFH PDSSHGWR,2SRUWDGGUHVV01H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



287, 1RGTCVKQP & ‘ +/ %‘%+/‘+/

1R%QFG 287,

1111 01 01ED

1010 00 11A3

&GUETKRVKQP 7KHFRQWHQWVRIWKH+/UHJLVWHUSDLUDUHSODFHGRQWKHDGGUHVVEXVWRVHOHFWD ORFDWLRQLQPHPRU\7KHE\WHFRQWDLQHGLQWKLVPHPRU\ORFDWLRQLV WHPSRUDULO\VWRUHGLQWKH&387KHQDIWHUWKHE\WHFRXQWHU % LV GHFUHPHQWHGWKHFRQWHQWVRIUHJLVWHU&DUHSODFHGRQWKHERWWRPKDOI $ WKURXJK$ RIWKHDGGUHVVEXVWRVHOHFWWKH,2GHYLFHDWRQHRI SRVVLEOHSRUWV5HJLVWHU%PD\EHXVHGDVDE\WHFRXQWHUDQGLWV GHFUHPHQWHGYDOXHLVSODFHGRQWKHWRSKDOI $WKURXJK$ RIWKH DGGUHVVEXV7KHE\WHWREHRXWSXWLVSODFHGRQWKHGDWDEXVDQGZULWWHQWRD VHOHFWHGSHULSKHUDOGHYLFH)LQDOO\WKHUHJLVWHUSDLU+/LVLQFUHPHQWHG 0&\FOHV 76WDWHV 0+](7 4 16 (4, 5, 3, 4) 4.00 %QPFKVKQP$KVU#HHGEVGF 6LVXQNQRZQ =LVVHWLI%± UHVHWRWKHUZLVH +LVXQNQRZQ 39LVXQNQRZQ 1LVVHW &LVQRWDIIHFWHG 'ZCORNG ,IWKHFRQWHQWVRIUHJLVWHU&DUH07HWKHFRQWHQWVRIUHJLVWHU%DUH10HWKH FRQWHQWVRIWKH+/UHJLVWHUSDLUDUHDQGWKHFRQWHQWVRIPHPRU\ DGGUHVV1000HDUHWKHQDIWHUWKHHH[HFXWLRQRIOUTIUHJLVWHU% FRQWDLQV0FHWKH+/UHJLVWHUSDLUFRQWDLQV1001HDQGE\WH59HLVZULWWHQ WRWKHSHULSKHUDOGHYLFHPDSSHGWR,2SRUWDGGUHVV07H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



27,5 1RGTCVKQP & ‘ +/ %‘%+/‘+/

1R%QFG 27,5

1111 01 01ED

1010 10 11B3

&GUETKRVKQP 7KHFRQWHQWVRIWKH+/UHJLVWHUSDLUDUHSODFHGRQWKHDGGUHVVEXVWRVHOHFW DORFDWLRQLQPHPRU\7KHE\WHFRQWDLQHGLQWKLVPHPRU\ORFDWLRQLVWHPSR UDULO\VWRUHGLQWKH&387KHQDIWHUWKHE\WHFRXQWHU % LVGHFUHPHQWHGWKH FRQWHQWVRIUHJLVWHU&DUHSODFHGRQWKHERWWRPKDOI $WKURXJK$ RIWKH DGGUHVVEXVWRVHOHFWWKH,2GHYLFHDWRQHRISRVVLEOHSRUWV5HJLVWHU% PD\EHXVHGDVDE\WHFRXQWHUDQGLWVGHFUHPHQWHGYDOXHLVSODFHGRQWKHWRS KDOI $WKURXJK$ RIWKHDGGUHVVEXVDWWKLVWLPH1H[WWKHE\WHWREH RXWSXWLVSODFHGRQWKHGDWDEXVDQGZULWWHQWRWKHVHOHFWHGSHULSKHUDOGHYLFH 7KHQUHJLVWHUSDLU+/LVLQFUHPHQWHG,IWKHGHFUHPHQWHG%UHJLVWHULVQRW ]HURWKH3URJUDP&RXQWHU 3& LVGHFUHPHQWHGE\WZRDQGWKHLQVWUXFWLRQLV UHSHDWHG,I%KDVJRQHWR]HURWKHLQVWUXFWLRQLVWHUPLQDWHG,QWHUUXSWVDUH UHFRJQL]HGDQGWZRUHIUHVKF\FOHVDUHH[HFXWHGDIWHUHDFKGDWDWUDQVIHU

Note: When B is set to zero prior to instruction execution, the instruc- tion outputs 256 bytes of data. ,I%ž 0&\FOHV 76WDWHV 0+](7 5 21 (4, 5, 3, 4, 5) 5.25 ,I%  0&\FOHV 76WDWHV 0+](7 4 16 (4, 5, 3, 4) 4.00

%QPFKVKQP$KVU#HHGEVGF

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



6LVXQNQRZQ =LVVHW +LVXQNQRZQ 39LVXQNQRZQ 1LVVHW &LVQRWDIIHFWHG 'ZCORNG ,IWKHFRQWHQWVRIUHJLVWHU&DUH07HWKHFRQWHQWVRIUHJLVWHU%DUH03HWKH FRQWHQWVRIWKH+/UHJLVWHUSDLUDUH1000HDQGPHPRU\ORFDWLRQVKDYHWKH IROORZLQJFRQWHQWV

1000H FRQWDLQV51H 1001H FRQWDLQVA9H 1002H FRQWDLQV03H WKHQDWH[HFXWLRQRIOTIRWKH+/UHJLVWHUSDLUFRQWDLQV1003HUHJLVWHU% FRQWDLQV]HURDQGDJURXSRIE\WHVLVZULWWHQWRWKHSHULSKHUDOGHYLFH PDSSHGWR,2SRUWDGGUHVV07HLQWKHIROORZLQJVHTXHQFH 51H A9H 03H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



287' 1RGTCVKQP & ‘ +/ %‘%+/‘+/

1R%QFG 287'

1111 01 01ED

1011 00 11AB

&GUETKRVKQP 7KHFRQWHQWVRIWKH+/UHJLVWHUSDLUDUHSODFHGRQWKHDGGUHVVEXVWRVHOHFWD ORFDWLRQLQPHPRU\7KHE\WHFRQWDLQHGLQWKLVPHPRU\ORFDWLRQLV WHPSRUDULO\VWRUHGLQWKH&387KHQDIWHUWKHE\WHFRXQWHU % LV GHFUHPHQWHGWKHFRQWHQWVRIUHJLVWHU&DUHSODFHGRQWKHERWWRPKDOI $ WKURXJK$ RIWKHDGGUHVVEXVWRVHOHFWWKH,2GHYLFHDWRQHRI SRVVLEOHSRUWV5HJLVWHU%PD\EHXVHGDVDE\WHFRXQWHUDQGLWV GHFUHPHQWHGYDOXHLVSODFHGRQWKHWRSKDOI $WKURXJK$ RIWKH DGGUHVVEXVDWWKLVWLPH1H[WWKHE\WHWREHRXWSXWLVSODFHGRQWKHGDWDEXV DQGZULWWHQWRWKHVHOHFWHGSHULSKHUDOGHYLFH)LQDOO\WKHUHJLVWHUSDLU+/LV GHFUHPHQWHG 0&\FOHV 76WDWHV 0+](7 4 16 (4, 5, 3. 4) 4.00 %QPFKVKQP$KVU#HHGEVGF 6LVXQNQRZQ =LVVHWLI%± UHVHWRWKHUZLVH +LVXQNQRZQ 39LVXQNQRZQ 1LVVHW &LVQRWDIIHFWHG 'ZCORNG ,IWKHFRQWHQWVRIUHJLVWHU&DUH07HWKHFRQWHQWVRIUHJLVWHU%DUH10HWKH FRQWHQWVRIWKH+/UHJLVWHUSDLUDUH1000HDQGWKHFRQWHQWVRIPHPRU\ ORFDWLRQ1000HDUH59HDWH[HFXWLRQRIOUTDUHJLVWHU%FRQWDLQV0FHWKH +/UHJLVWHUSDLUFRQWDLQV0FFFHDQGE\WH59HLVZULWWHQWRWKHSHULSKHUDO GHYLFHPDSSHGWR,2SRUWDGGUHVV07H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



27'5 1RGTCVKQP & ‘ +/ %‘%+/‘+/

1R%QFG 27'5

1111 01 01ED

1011 10 11BB

&GUETKRVKQP 7KHFRQWHQWVRIWKH+/UHJLVWHUSDLUDUHSODFHGRQWKHDGGUHVVEXVWRVHOHFWD ORFDWLRQLQPHPRU\7KHE\WHFRQWDLQHGLQWKLVPHPRU\ORFDWLRQLVWHPSR UDULO\VWRUHGLQWKH&387KHQDIWHUWKHE\WHFRXQWHU % LVGHFUHPHQWHG WKHFRQWHQWVRIUHJLVWHU&DUHSODFHGRQWKHERWWRPKDOI $WKURXJK$ RI WKHDGGUHVVEXVWRVHOHFWWKH,2GHYLFHDWRQHRISRVVLEOHSRUWV5HJLV WHU%PD\EHXVHGDVDE\WHFRXQWHUDQGLWVGHFUHPHQWHGYDOXHLVSODFHGRQ WKHWRSKDOI $WKURXJK$ RIWKHDGGUHVVEXVDWWKLVWLPH1H[WWKHE\WH WREHRXWSXWLVSODFHGRQWKHGDWDEXVDQGZULWWHQWRWKHVHOHFWHGSHULSKHUDO GHYLFH7KHQUHJLVWHUSDLU+/LVGHFUHPHQWHGDQGLIWKHGHFUHPHQWHG% UHJLVWHULVQRW]HURWKH3URJUDP&RXQWHU 3& LVGHFUHPHQWHGE\WZRDQG WKHLQVWUXFWLRQLVUHSHDWHG,I%KDVJRQHWR]HURWKHLQVWUXFWLRQLVWHUPL QDWHG,QWHUUXSWVDUHUHFRJQL]HGDQGWZRUHIUHVKF\FOHVDUHH[HFXWHGDIWHU HDFKGDWDWUDQVIHU

Note: When B is set to zero prior to instruction execution, the instruc- tion outputs 256 bytes of data. ,I%ž 0&\FOHV 76WDWHV 0+](7 5 21 (4, 5, 3, 4, 5) 5.25 ,I%  0&\FOHV 76WDWHV 0+](7 4 16 (4, 5, 3, 4) 4.00

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



%QPFKVKQP$KVU#HHGEVGF 6LVXQNQRZQ =LVVHW +LVXQNQRZQ 39LVXQNQRZQ 1LVVHW &LVQRWDIIHFWHG 'ZCORNG ,IWKHFRQWHQWVRIUHJLVWHU&DUH07HWKHFRQWHQWVRIUHJLVWHU%DUH03HWKH FRQWHQWVRIWKH+/UHJLVWHUSDLUDUH1000HDQGPHPRU\ORFDWLRQVKDYHWKH IROORZLQJFRQWHQWV

0FFEH FRQWDLQV51H 0FFFH FRQWDLQVA9H 1000H FRQWDLQV03H WKHQDWH[HFXWLRQRIOTDRWKH+/UHJLVWHUSDLUFRQWDLQ0FFDHUHJLVWHU% FRQWDLQV]HURDQGDJURXSRIE\WHVLVZULWWHQWRWKHSHULSKHUDOGHYLFH PDSSHGWR,2SRUWDGGUHVV+LQWKHIROORZLQJVHTXHQFH

03H A9H 51H

80 =,QVWUXFWLRQ6HW <%27 7UGT U/CPWCN



80 =,QVWUXFWLRQ6HW