Z80S18833ASCRXXXX [ZILOG]

Microcontroller, 8-Bit, MROM, Z80 CPU, 33MHz, CMOS, PQFP16, QFP-160;
Z80S18833ASCRXXXX
型号: Z80S18833ASCRXXXX
厂家: ZILOG, INC.    ZILOG, INC.
描述:

Microcontroller, 8-Bit, MROM, Z80 CPU, 33MHz, CMOS, PQFP16, QFP-160

微控制器 外围集成电路
文件: 总251页 (文件大小:1913K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
<ꢂꢃ5ꢄꢂꢂ  
)'0'4#.ꢀ274215'ꢁ+06')4#6'&  
/+%41241%'5514  
24'.+/+0#4;  
241&7%6ꢀ52'%+(+%#6+10  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<K.1)ꢀ9  
6
ꢀ*  
 ꢀꢁꢂꢃꢀ'ꢄꢀ*  
ꢀ#  
 ꢀ%  
ꢈꢀ  
ꢅꢀ%#ꢀꢁꢆꢃꢃꢇ  
ꢄ< .1)ꢄ  
ꢈꢀꢉꢃꢇꢄꢆꢆꢇꢄꢇꢆꢃꢃꢀ ꢀ( ꢈꢀꢉꢃꢇꢄꢆꢆꢇꢄꢇꢊꢃꢃꢀ ꢀ+  
ꢈꢋꢋ  
24'.+/+0#4;  
©1999 by ZiLOG, Inc. All rights reserved. Information in this publication concerning the devices, applica-  
tions, 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.  
KK  
<ꢇꢃ5ꢂꢇꢇ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
24'.+/+0#4;6CDNGꢁQHꢁ%QPVGPVU  
6#$.'ꢁ1(ꢁ%106'065  
6
.
ꢀ%  
ꢀ(  
ꢀ6  
ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀ   
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀ   
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀ   
.
1
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀ   
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀ   
(
)
$
ꢀ&  
ꢀ&  
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀ   
ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀ   
2 ꢀ&  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀ   
ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀ ꢂꢎ  
1
2
5
+
&
ꢀ&  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀ ꢂꢎ  
ꢀ41/ꢀ1  ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀ ꢂꢆ  
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀ ꢂꢏ  
ꢀꢐ41/ꢀ ꢀ4#/ꢑꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀ ꢎꢁ  
ꢀ(  
/
+
ꢋ1  
ꢀ%  
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀ ꢊꢍ  
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀ ꢉꢂ  
ꢀꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀ ꢉꢊ  
ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀ ꢉꢊ  
ꢀ+ꢋ1ꢀꢐ2+1 ꢑꢀ ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀ ꢉꢆ  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀ ꢆꢍ  
%
4
2
2
ꢀ/  
&/#ꢀ%  
9
%
2
ꢌ& ꢀ6  
ꢋ6  
ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀ ꢏꢊ  
ꢀꢐ%6% ꢑꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀ ꢏꢊ  
ꢀ%  
ꢀ4  
ꢀ6  
ꢀꢐ246 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀ ꢍꢃ  
5
#
%
ꢀ+ꢋ1ꢀ%  
ꢀ5  
ꢀ5  
ꢀꢐ5+1 ꢑꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀ ꢍꢎ  
ꢀ%  
ꢀ+  
ꢀ+  
ꢀꢐ#5%+ ꢑꢀꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀ ꢁꢆ  
ꢋ1  
ꢀ/  
ꢀꢐ%5+ꢋ1ꢑꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢃꢏ  
+ꢋ1 4  
ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢃꢁ  
4
$
+
ꢀ5  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢃꢁ  
ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢂꢂ  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢂꢏ  
ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢂꢇ  
ꢀ&  
ꢀ4  
ꢀ4  
//7ꢀ4  
ꢀ5  
%
ꢀ9 ꢀ4  
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢎꢊ  
+ꢋ1ꢀ2  
ꢀꢐ2+1ꢑꢀ4  
ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢎꢇ  
&/#ꢀ4  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢊꢎ  
9
%
2
5
#
%
ꢌ& ꢀ6  
ꢋ6  
ꢀ4  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢉꢊ  
ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢉꢉ  
ꢀꢐ%6%ꢑꢀ4  
ꢀ4  
ꢀ+ꢋ1ꢀꢐ5+1ꢑꢀ4  
ꢀ5 ꢀ%  
ꢀ5 ꢀ+ꢋ1ꢀꢐ%5+ꢋ1ꢑꢀ4  
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢍꢍ  
ꢀ6  
ꢀꢐ246ꢑꢀ4  
ꢀꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢆꢎ  
ꢀ+ ꢀꢐ#5%+ꢑꢀ4 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢏꢍ  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢍꢏ  
ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢉꢍ  
+
5
%
2
%
0
#
ꢀ+  
ꢀ(  
ꢀ%  
ꢀꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢍꢇ  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢇꢃ  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢇꢂ  
ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢇꢊ  
ꢀ.  
ꢀ5  
ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢇꢉ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇ  
6
ꢁ%  
24'.+/+0#4;  
+
ꢀ5  
ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢇꢉ  
1 ꢀ%  
ꢀ/  ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢁꢊ  
'
%
ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢎꢃꢃ  
ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢎꢃꢃ  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢎꢃꢃ  
#
5
ꢀ/  
ꢀ6 ꢀ%  
ꢀ4  
&%ꢀ%  
#%ꢀ%  
%
ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢎꢃꢂ  
ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢎꢃꢊ  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢎꢂꢉ  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢎꢂꢆ  
6
ꢀ&  
%
ꢀ%  
ꢀꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢎꢎꢍ  
5
ꢀ&  
'
ꢀ%  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢎꢎꢍ  
ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢎꢎꢍ  
#
1
&
&
ꢀ0 ꢋ& ꢀ6  ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢎꢎꢇ  
< .1)ꢀ&  
+
ꢀ+  
ꢀ&  
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢎꢎꢇ  
ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢎꢎꢁ  
ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢎꢊꢃ  
2
2
%
ꢀ0  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢎꢊꢎ  
ꢀ2  ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢎꢊꢎ  
ꢀ+  
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢎꢊꢎ  
ꢀ.  ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢎꢊꢎ  
<ꢇꢃ5ꢂꢇꢇ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
24'.+/+0#4;  
.
ꢁ(  
.+56ꢁ1(ꢁ(+)74'5  
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
ꢀꢂꢄ  
(
ꢀ$  
ꢀ&  
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢉ  
ꢀꢎꢄ <ꢇꢃ5ꢂꢇꢇꢀ2 ꢀ&  
ꢀꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢆ  
ꢀꢊꢄ # ꢀ+  
ꢀ#  
ꢀꢃꢀ6  
ꢀꢂꢀ6  
ꢀꢎꢀ6  
ꢀ&  
ꢀ%  
ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢃ  
ꢀꢉꢄ +06ꢃꢀ/  
ꢀꢆꢄ +06ꢃꢀ/  
ꢀꢏꢄ +06ꢃꢀ/  
ꢀꢍꢄ 4'6+ꢀ+  
ꢀꢇꢄ ꢊꢌ%  
ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢊ  
ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢉ  
ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢏ  
ꢀ/ꢂ'ꢒꢃꢀꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢇ  
ꢀ% ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢊꢍ  
ꢀ4  
ꢀ6  
ꢀꢁꢄ +ꢋ1ꢀ%  
ꢀꢂꢃꢄ (  
ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢉꢃ  
ꢀ% ꢀ% ꢀꢓꢀꢎꢃꢀ/*  ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢉꢎ  
ꢀ/  
ꢀꢂꢂꢄ 6  
ꢀꢂꢎꢄ /  
ꢀꢂꢊꢄ /  
ꢀꢂꢉꢄ /  
ꢀꢂꢆꢄ /  
ꢀꢂꢏꢄ 2  
ꢀꢂꢍꢄ 2  
ꢀꢂꢇꢄ 4  
ꢌ1  
ꢀ ꢀꢎꢃꢀ/* ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢉꢎ  
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢉꢍ  
ꢀꢃꢀ1  
ꢀ6  
ꢀꢂꢀ+  
ꢀ6  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢉꢍ  
ꢀ6  ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢉꢇ  
ꢀ6  
ꢀꢎꢀ$  
ꢀꢊꢀ$ ꢀ%  
ꢅꢀ$ ꢀ/  
ꢀ4  
ꢌ5  
ꢌ5  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢉꢁ  
ꢋ&/#ꢀ1  
ꢋ&/#ꢀ1  
ꢀ.  
ꢀ'  
ꢀ4  
ꢀ4  
ꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢆꢁ  
ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢆꢁ  
ꢀ8  
ꢀ8  
ꢄꢀ.  
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢇꢉ  
ꢄꢀ. ꢀ% ꢀ(  
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢇꢆ  
ꢄꢀ. ꢀ% ꢀ(  
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢇꢆ  
ꢄꢀ. ꢀ% ꢀ(  
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢇꢏ  
ꢀ%  ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢁꢇ  
ꢀ%  
ꢀ(  
ꢐꢇꢀ$ ꢋ%  
(
(
(
ꢀꢂꢁꢄ 4  
ꢀꢎꢃꢄ 4  
ꢐꢍꢀ$ ꢋ%  
ꢀ8  
ꢐꢏꢀ$ ꢋ%  
ꢀꢎꢂꢄ 4  
ꢀ8  
ꢐꢆꢀ$ ꢋ%  
(
(
(
(
(
(
(
(
(
(
(
(
(
(
ꢀꢎꢎꢄ # ꢀ#  
ꢀꢎꢊꢄ %5+ꢋ1ꢀ1  
ꢀꢎꢉꢄ 6 ꢀ.  
ꢀꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢂꢃꢇ  
ꢀꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢃꢂ  
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢂꢉ  
ꢀ%  
ꢀꢎꢆꢄ $  
ꢀ6  
ꢀꢎꢏꢄ /  
ꢀꢎꢍꢄ /  
ꢀꢎꢇꢄ +ꢋ1ꢀ4  
ꢀ4  
ꢀ6  
ꢀ6  
ꢀꢐ#  
ꢀꢐ#  
ꢀꢐ1 ꢀ9 ꢀ5  
ꢀꢐ0 ꢀ9 ꢀ5  
ꢀ9 ꢀ5  
ꢑꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢂꢆ  
ꢑꢀ ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢂꢏ  
ꢑꢀꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢂꢍ  
ꢀ1 ꢀ9 ꢀ5 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢂꢇ  
ꢀ9  
ꢀ6  
ꢀꢎꢁꢄ +ꢋ1ꢀ9  
ꢀꢊꢃꢄ $ ꢀ'  
ꢀꢊꢂꢄ +  
ꢀ6  
ꢀ6  
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢂꢇ  
ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢂꢁ  
ꢀ6  
ꢀꢊꢎꢄ +  
ꢀ#  
ꢀ6  
ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢎꢃ  
ꢑꢀꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢎꢃ  
ꢀꢊꢊꢄ 4  
ꢀ6  
ꢀꢐꢎꢌ  
ꢀ6  
ꢀꢊꢉꢄ &/#ꢀ4  
ꢀꢊꢆꢄ &/#ꢀ6  
ꢀꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢎꢂ  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢎꢂ  
ꢀ6  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇ  
.
ꢁ(  
24'.+/+0#4;  
(
(
(
(
(
(
(
(
(
(
(
(
(
(
ꢀꢊꢏꢄ *  
ꢀꢊꢍꢄ 5  
ꢀ6  
ꢀ6  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢎꢂ  
ꢀꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢎꢎ  
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢎꢎ  
ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢎꢎ  
ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢎꢊ  
ꢀꢊꢇꢄ 246ꢀ6  
ꢀꢊꢁꢄ #5%+ꢀ6  
ꢀꢉꢃꢄ %5+ꢋ1ꢀ6  
ꢀꢉꢂꢄ 9  
ꢌ& ꢀ6  
ꢀ6  
ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢎꢊ  
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢎꢊ  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢎꢉ  
ꢀꢉꢎꢄ 2+1ꢀ/  
ꢀꢉꢊꢄ 2+1ꢀ/  
ꢀꢉꢉꢄ 2+1ꢀ/  
ꢀꢉꢆꢄ 2+1ꢀ/  
ꢀꢉꢏꢄ %6%ꢀ6  
ꢀꢉꢍꢄ 5+1ꢀ6  
ꢀꢉꢇꢄ %  
ꢀꢃꢀꢐ1  
ꢑꢀ6  
ꢑꢀ6  
ꢀꢂꢀꢐ+  
ꢀꢎꢀꢐ$  
ꢑꢀ6  
ꢑꢀ6  
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢎꢆ  
ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢎꢆ  
ꢀꢊꢀꢐ$ ꢀ%  
ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢎꢏ  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢎꢏ  
ꢀ.  
ꢀ%.ꢀ ꢄꢀ5  
ꢀ6 ꢀ$  
ꢀ6  ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢎꢍ  
ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢎꢎꢍ  
ꢀꢉꢁꢄ <&+ꢀ%  
<ꢇꢃ5ꢂꢇꢇ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
24'.+/+0#4;  
.
ꢁ6  
.+56ꢁ1(ꢁ6#$.'5  
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
ꢀꢂꢄ  
ꢀꢎꢄ  
ꢀꢊꢄ  
ꢀꢉꢄ  
ꢀꢆꢄ  
ꢀꢏꢄ  
ꢀꢍꢄ  
ꢀꢇꢄ  
ꢀꢁꢄ  
2 ꢀ&  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢏ  
+0  
5
ꢀ1  
ꢀ8  
ꢀ# ꢀ2  
ꢀ/  
ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢊꢃ  
ꢃꢌꢂꢀ ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢊꢆ  
ꢋ'  
/'/%5ꢃꢌꢂꢀ9 ꢀ5  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢊꢆ  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢊꢍ  
ꢀ+1%5ꢀ2  ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢊꢁ  
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀ ꢉꢉ  
4
ꢀ%  
ꢀ%  
#ꢍꢌꢆꢀ&  
ꢀ2  
ꢀ/  
5#4ꢃ$ꢀ  
 ꢀ5  
 ꢀ&  
 ꢀ+ꢋ1ꢀ5  
ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢏꢃ  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢏꢂ  
&#4ꢃ$ꢀ  
 ꢀ+ꢋ1ꢀ5  
ꢀꢂꢃꢄ +#4ꢂ$ꢀ  
ꢀꢂꢂꢄ &/#ꢃꢀ5  
ꢀꢂꢎꢄ &/#ꢃꢀ&  
ꢀꢂꢊꢄ &/#ꢂꢀ1  
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢏꢂ  
ꢀ/  ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢏꢎ  
ꢀ/  
ꢀ/  
ꢀ4  
ꢀ8  
ꢀ(  
ꢀ5  
ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢏꢎ  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢏꢎ  
ꢀꢂꢉꢄ  
ꢀꢂꢆꢄ  
ꢀꢂꢏꢄ  
9
5
ꢀ# ꢀ4  
ꢀ#  
ꢀ2 ꢀ%  
 ꢀ44ꢎꢀ  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢍꢉ  
ꢀꢊꢌꢂꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢇꢏ  
ꢀ%  
1
ꢀ$4)ꢀ&  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄ ꢀꢁꢍ  
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢀꢂꢃꢍ  
ꢀꢂꢍꢄ %5+ꢋ1ꢀ%  
ꢀ4  
ꢀ%  
ꢀꢂꢇꢄ  
ꢀꢂꢁꢄ  
(
ꢌ4  
ꢀ/  
ꢀꢐꢃꢃꢂꢇ*ꢑꢀ ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢂꢎ  
ꢀꢐꢃꢃꢂ'*ꢑꢀ%/4ꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢂꢊ  
ꢀꢐꢃꢃꢂ(*ꢑꢀ%%4ꢀꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢂꢉ  
ꢀꢐꢃꢃꢊꢏ*ꢑꢀ4%4ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢂꢆ  
%
ꢀ4  
ꢀꢎꢃꢄ %27ꢀ%  
ꢀ4  
ꢀꢎꢂꢄ  
ꢀꢎꢎꢄ  
4
ꢀ%  
ꢀ4  
1
ꢀ/  
ꢀ%  
ꢀ4  
ꢀꢐꢃꢃꢊ(*ꢑꢀ+1%4ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢂꢏ  
ꢀ4  
(%ꢀ ꢀꢃꢃ(%*ꢑꢀ1%/%4ꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢂꢏ  
ꢀꢐꢃꢃꢊ'*ꢑꢀ1/%4ꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢂꢆ  
ꢀꢎꢊꢄ +ꢋ1ꢀ%  
ꢀꢎꢉꢄ 1 ꢌ% ꢀ/  
ꢀ4  
ꢀ%  
6
6
6
6
6
6
ꢀꢎꢆꢄ  
ꢀꢎꢏꢄ  
ꢀꢎꢍꢄ  
ꢀꢎꢇꢄ  
ꢀꢎꢁꢄ  
ꢀꢊꢃꢄ  
+
ꢀ8  
ꢋ6  
ꢀ2  
ꢀ4  
ꢀ4  
ꢀꢐꢃꢃꢊꢊ*ꢑꢀ+.ꢀ ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢂꢍ  
ꢀꢐꢃꢃꢊꢉ*ꢑꢀ+6%ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢂꢇ  
+
ꢀ%  
+
ꢀ4  
ꢀꢐ (ꢉꢀ ꢀꢃꢃ(ꢉ*ꢑꢀ+0624ꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢂꢁ  
%
$
%
ꢀ$  
ꢀ4  
ꢋ$  
ꢀ4  
ꢀꢐꢃꢃꢊꢇ*ꢀ ꢀ%  
ꢀꢐꢃꢃꢊ*ꢁꢀ ꢀ%  
ꢀ4  
ꢀ/  
ꢀ/  
ꢑꢀ%$4ꢀ ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢎꢃ  
ꢀ$  
ꢀ/  
ꢑꢀ$$4ꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢎꢃ  
ꢀ#  
ꢀ4  
ꢀ4  
ꢐꢃꢃꢊ#*ꢀ ꢀ%  
ꢀ$  
ꢐꢃꢃꢊꢇ*ꢀ ꢀ'  
ꢀ$  
ꢐꢃꢃꢊꢁ*ꢀ ꢀ'  
ꢑꢀ%$#4ꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢎꢂ  
6
6
ꢀꢊꢂꢄ  
ꢀꢊꢎꢄ  
%
ꢀ.  
ꢀ/  
ꢑꢀ%$4.ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢎꢂ  
%
ꢀ/  
ꢑꢀ%$4*ꢀꢂꢎꢎ  
6
6
ꢀꢊꢊꢄ  
ꢀꢊꢉꢄ  
$
ꢀ#  
ꢀ4  
ꢀ#  
ꢀꢐꢃꢃꢊ#*ꢀ ꢀ'  
ꢀꢐꢃꢃꢊ$*ꢀ ꢀ'  
ꢀ/  
ꢑꢀ$#4ꢀ ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢎꢎ  
ꢀ/ ꢑꢀ%#4ꢀ ꢀꢄꢀꢄꢀꢄꢂꢎꢊ  
%
ꢀ4  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇ  
.
ꢁ6  
24'.+/+0#4;  
6
ꢀꢊꢆꢄ  
ꢀꢊꢏꢄ  
ꢀꢊꢍꢄ  
ꢀꢊꢇꢄ  
ꢀꢊꢁꢄ  
ꢀꢉꢃꢄ  
$
ꢀ$  
ꢐꢃꢃꢊ%*ꢀ ꢀ'  
ꢀ$ ꢀ4  
ꢐꢃꢃꢊ&*ꢀ ꢀ'  
ꢀ% ꢀ5  
(ꢏꢀ ꢀꢃꢃ(*ꢏꢑꢀ/%5ꢃ.ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢎꢆ  
ꢀ4  
ꢀ/  
ꢑꢀ$$4.ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢎꢊ  
ꢑꢀ$$4*ꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢎꢉ  
6
6
6
6
6
$
ꢀ/  
ꢀꢃꢀ. ꢀ4  
/
ꢀ% ꢀ5 ꢀꢃꢀ* ꢀ4  
(ꢍꢀ ꢀꢃꢃ(ꢍ*ꢑꢀ/%5ꢃ*ꢀ ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢎꢏ  
ꢀ% ꢀ5 ꢀꢂꢀ. ꢀ4  
(ꢇꢀ ꢀꢃꢃ(ꢇ*ꢑꢀ/%5ꢂ.ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢎꢏ  
ꢀ% ꢀ5 ꢀꢂꢀ ꢀ4  
(ꢁꢀ ꢀꢃꢃ(ꢁ*ꢑꢀ/%5ꢂ*ꢀ ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢎꢍ  
/
/
6
6
6
6
6
6
6
6
6
6
6
6
6
6
ꢀꢉꢂꢄ +ꢋ1ꢀ% ꢀ5  
ꢀꢉꢎꢄ +ꢋ1ꢀ% ꢀ5  
ꢀ4  
ꢀ4  
ꢀꢐ (#ꢀ ꢀꢃꢃ(#*ꢑꢀ+1%5.ꢀ ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢎꢇ  
ꢀꢐ ($ꢀ ꢀꢃꢃ($*ꢑꢀ+1%5*ꢀꢄꢀꢄꢀꢄꢀꢄꢂꢎꢇ  
ꢀꢉꢊꢄ  
ꢀꢉꢉꢄ  
ꢀꢉꢆꢄ  
ꢀꢉꢏꢄ  
ꢀꢉꢍꢄ  
ꢀꢉꢇꢄ  
ꢀꢉꢁꢄ  
ꢀꢆꢃꢄ  
2
2
2
2
2
2
2
2
ꢀ#ꢀ&  
ꢀ#ꢀ%  
ꢀ$ꢀ&  
ꢀ$ꢀ%  
ꢀ%ꢀ&  
ꢀ%ꢀ%  
ꢀ&ꢀ&  
ꢀ&ꢀ%  
ꢀꢐ &%ꢀ ꢀꢃꢃ&%*ꢑꢀ2#&ꢀ ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢎꢁ  
ꢀꢐ &&ꢀ ꢀꢃꢃ&&*ꢑꢀ2#%ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢎꢁ  
ꢀꢐ &'ꢀ ꢀꢃꢃ&'*ꢑꢀ2$&ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢊꢃ  
ꢀꢐ &(ꢀ ꢀꢃꢃ&(*ꢑꢀ2$%ꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢊꢂ  
ꢀꢐ &ꢉꢀ ꢀꢃꢃ&ꢉ*ꢑꢀ2%&ꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢊꢎ  
ꢀꢐ &ꢆꢀ ꢀꢃꢃ&ꢆ*ꢑꢀ2%%ꢀ ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢊꢎ  
ꢀꢐ &ꢏꢀ ꢀꢃꢃ&ꢏ*ꢑꢀ2&&ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢊꢎ  
ꢀꢐ &ꢍꢀ ꢀꢃꢃ&ꢍ*ꢑꢀ2&%ꢀ ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢊꢎ  
ꢀꢆꢂꢄ &/#ꢃꢀ5  
ꢀꢆꢎꢄ &/#ꢃꢀ5  
ꢀꢆꢊꢄ &/#ꢃꢀ5  
ꢀꢆꢉꢄ &/#ꢃꢀ&  
ꢀ#  
ꢀ#  
ꢀ#  
ꢀ4  
ꢀ4  
ꢀ4  
ꢀꢐꢃꢃꢎꢃ*ꢑꢀ5#4ꢃ.ꢀꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢊꢊ  
ꢀꢐꢃꢃꢎꢂ*ꢑꢀ5#4ꢃ*ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢊꢊ  
ꢀ$ꢀꢐꢃꢃꢎꢎ*ꢑꢀ5#4ꢃ$ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢊꢉ  
ꢀ#  
ꢀ4  
ꢐꢃꢃꢎꢊ*ꢑꢀ&#4ꢃ.ꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢊꢉ  
ꢀꢆꢆꢄ &/#ꢃꢀ& ꢀ# ꢀ4  
ꢐꢃꢃꢎꢉ*ꢑꢀ&#4ꢃ*ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢊꢆ  
6
6
6
6
6
6
6
6
6
6
6
6
6
ꢀꢆꢏꢄ &/#ꢃꢀ&  
ꢀꢆꢍꢄ &/#ꢃꢀ$  
ꢀꢆꢇꢄ &/#ꢃꢀ$  
ꢀꢆꢁꢄ &/#ꢂꢀ/  
ꢀꢏꢃꢄ &/#ꢂꢀ/  
ꢀꢏꢂꢄ &/#ꢂꢀ/  
ꢀ#  
ꢀ4  
ꢀ4  
ꢀ4  
ꢀ$ꢀꢐꢃꢃꢎꢆ*ꢑꢀ&#4ꢃ$ꢀ ꢀꢄꢀꢄꢀꢄꢂꢊꢆ  
ꢀꢐꢃꢃꢎꢏ*ꢑꢀ$%4ꢃ.ꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢊꢏ  
ꢀꢐꢃꢃꢎꢍ*ꢑꢀ$%4ꢃ*ꢀ ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢊꢏ  
ꢀ%  
ꢀ%  
ꢀ#  
ꢀ#  
ꢀ#  
ꢀ4  
ꢀ4  
ꢀ4  
ꢀꢐꢃꢃꢎꢇ*ꢑꢀ/#4ꢂ.ꢀꢀꢄꢀꢄꢀꢄꢀꢄꢂꢊꢏ  
ꢀꢐꢃꢃꢎꢁ*ꢑꢀ/#4ꢂ*ꢀꢄꢀꢄꢀꢄꢀꢄꢂꢊꢍ  
ꢀ$ꢀꢐꢃꢃꢎ#*ꢑꢀ/#4ꢂ$ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢊꢍ  
ꢀꢐꢃꢃꢎ$*ꢑꢀ+#4ꢂ.ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢊꢍ  
ꢀꢐꢃꢃꢎ%*ꢑꢀ+#4ꢂ*ꢀ ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢊꢇ  
ꢀꢏꢎꢄ &/#ꢂꢀ+ꢋ1ꢀ#  
ꢀꢏꢊꢄ &/#ꢂꢀ+ꢋ1ꢀ#  
ꢀꢏꢉꢄ &/#ꢂꢀ+ꢋ1ꢀ#  
ꢀ4  
ꢀ4  
ꢀ4  
ꢀ4  
ꢀ4  
ꢀ$ꢀꢐꢃꢃꢎ&*ꢑꢀ+#4ꢂ$ꢀꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢊꢇ  
ꢀꢏꢆꢄ &/#ꢂꢀ$  
ꢀꢏꢏꢄ &/#ꢂꢀ$  
ꢀꢏꢍꢄ &/#ꢀ5  
ꢀ%  
ꢀ%  
ꢀ4  
ꢀꢐꢃꢃꢎ'*ꢑꢀ$%4ꢂ.ꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢉꢃ  
ꢀꢐꢃꢃꢎ(*ꢑꢀ$%4ꢂ*ꢀ ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢉꢃ  
ꢀꢐꢃꢃꢊꢃ*ꢑꢀ&56#6ꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢉꢂ  
<ꢇꢃ5ꢂꢇꢇ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
24'.+/+0#4;  
.
ꢁ6  
6
6
6
ꢀꢏꢇꢄ &/#ꢀ/  
ꢀ4  
ꢀꢐꢃꢃꢊꢂ*ꢑꢀ&/1&'ꢀꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢉꢎ  
ꢀꢏꢁꢄ &/#ꢋ9 ꢀ%  
ꢀ4  
ꢀ/  
ꢀꢐꢃꢃꢊꢎ*ꢑꢀ&%06.ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢉꢊ  
ꢀ4   
ꢀꢍꢃꢄ  
ꢀꢍꢂꢄ  
9
ꢌ& ꢀ6  
(ꢃꢀ ꢀꢃꢃ(ꢃ*ꢑꢀ9&6/4ꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢉꢉ  
ꢌ& ꢀ6 ꢀ% ꢀ4  
(ꢂꢀ ꢀꢃꢃ(ꢂ*ꢑꢀ9&6%4ꢀ ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢉꢉ  
6
9
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
ꢀꢍꢎꢄ %6%ꢃꢀꢐ &ꢃꢀ ꢀꢃꢃ&ꢃ*ꢑꢀ%6%ꢃꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢉꢆ  
ꢀꢍꢊꢄ %6%ꢂꢀꢐ &ꢂꢀ ꢀꢃꢃ&ꢂ*ꢑꢀ%6%ꢂꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢉꢍ  
ꢀꢍꢉꢄ %6%ꢎꢀꢐ &ꢎꢀ ꢀꢃꢃ&ꢎ*ꢑꢀ%6%ꢎꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢉꢍ  
ꢀꢍꢆꢄ %6%ꢊꢀꢐ &ꢊꢀ ꢀꢃꢃ&ꢊ*ꢑꢀ%6%ꢊꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢉꢍ  
ꢀꢍꢏꢄ 246ꢃꢀ6  
ꢀꢍꢍꢄ 246ꢃꢀ6  
ꢀꢍꢇꢄ 246ꢃꢀ4  
ꢀꢍꢁꢄ 246ꢃꢀ4  
ꢀ&  
ꢀ&  
ꢀ4  
ꢀ4  
ꢀꢐꢃꢃꢃ%*ꢑꢀ6/&4ꢃ.ꢀ ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢉꢇ  
ꢀꢐꢃꢃꢃ&*ꢑꢀ6/&4ꢃ*ꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢉꢇ  
ꢀ4  
ꢀ4  
ꢀ4  
ꢀ4  
ꢀꢐꢃꢃꢃ'*ꢑꢀ4.&4ꢃ.ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢉꢇ  
ꢀꢐꢃꢃꢃ(*ꢑꢀ4.&4ꢃ*ꢀꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢉꢁ  
ꢀꢐꢃꢃꢂꢃ*ꢑꢀ6%4ꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢉꢁ  
ꢀꢐꢃꢃꢂꢂ*ꢑꢀ624ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢆꢃ  
ꢀꢇꢃꢄ  
ꢀꢇꢂꢄ  
6
6
ꢀ%  
ꢀ2  
ꢀꢇꢎꢄ 246ꢂꢀ6  
ꢀꢇꢊꢄ 246ꢂꢀ6  
ꢀꢇꢉꢄ 246ꢂꢀ4  
ꢀꢇꢆꢄ 246ꢂꢀ4  
ꢀꢇꢏꢄ 5+1ꢀ#ꢀ&  
ꢀꢇꢍꢄ 5+1ꢀ#ꢀ%  
ꢀ&  
ꢀ&  
ꢀ4  
ꢀ4  
ꢀꢐꢃꢃꢂꢉ*ꢑꢀ6/&4ꢂ.ꢀ ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢆꢃ  
ꢀꢐꢃꢃꢂꢆ*ꢑꢀ6/&4ꢂ*ꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢆꢂ  
ꢀ4  
ꢀ4  
ꢀꢐꢃꢃꢂꢏ*ꢑꢀ4.&4ꢂ.ꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢆꢂ  
ꢀꢐꢃꢃꢂ*ꢍꢑꢀ4.&4ꢂ*ꢀ ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢆꢂ  
ꢀꢐ &ꢇꢀ ꢀꢃꢃ&ꢇ*ꢑꢀ5+1#&ꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢆꢎ  
ꢀꢐ &ꢁꢀ ꢀꢃꢃ&ꢁ*ꢑꢀ5+1#%ꢀꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢆꢎ  
ꢀꢇꢇꢄ 5+1ꢀ94ꢃꢀꢐ9  
&ꢁꢅꢀꢃꢃ&ꢁꢅꢀ &$ꢅꢀ  
ꢀꢃꢃ&$*ꢀ ꢋ94ꢃꢀꢎꢌꢃꢒꢃꢃꢃꢑꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢆꢊ  
6
6
6
6
6
6
6
6
ꢀꢇꢁꢄ 5+1ꢀ94ꢂꢀꢐ9  
ꢀꢃꢃ&$*ꢀ  
&ꢁꢅꢀꢃꢃ&ꢁꢅꢀ &$ꢅꢀ  
ꢀ94ꢃꢀꢎꢌꢃꢒꢃꢃꢂꢑꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢆꢉ  
&ꢁꢅꢀꢃꢃ&ꢁꢅꢀ &$ꢅꢀ  
ꢀ94ꢃꢀꢎꢌꢃꢒꢃꢂꢂꢑꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢆꢆ  
&ꢁꢅꢀꢃꢃ&ꢁꢅꢀ &$ꢅꢀ  
ꢀ94ꢃꢀꢎꢌꢃꢒꢂꢃꢃꢑꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢆꢏ  
ꢀꢁꢃꢄ 5+1ꢀ94ꢊꢀꢐ9  
ꢀꢃꢃ&$*ꢀ  
ꢀꢁꢂꢄ 5+1ꢀ94ꢉꢀꢐ9  
ꢀꢃꢃ&$*ꢀ  
ꢀꢁꢎꢄ 5+1ꢀ94ꢆꢀꢐ9  
ꢀꢃꢃ&$*ꢀ  
&ꢁꢅꢀꢃꢃ&ꢁꢅꢀ &$ꢅꢀ  
ꢀ94ꢃꢀꢎꢌꢃꢒꢂꢃꢂꢑꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢆꢍ  
&ꢁꢅꢀꢃꢃ&ꢁꢅꢀ &$ꢅꢀ  
ꢀ94ꢃꢀꢎꢌꢃꢒꢂꢂꢃꢑꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢆꢇ  
&ꢁꢅꢀꢃꢃ&ꢁꢅꢀ &$ꢅꢀ  
ꢀꢁꢊꢄ 5+1ꢀ94ꢏꢀꢐ9  
ꢀꢃꢃ&$*ꢀ  
ꢀꢁꢉꢄ 5+1ꢀ94ꢍꢀꢐ9  
ꢀꢃꢃ&$*ꢀ  
ꢀ94ꢃꢀꢎꢌꢃꢒꢂꢂꢂꢑꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢆꢁ  
ꢀꢁꢆꢄ 5+1ꢀ44ꢃꢀꢐ4  
ꢀꢃꢃ&$*ꢀ  
  &ꢁꢅꢀꢃꢃ&ꢁꢅꢀ &$ꢅꢀ  
ꢀ94ꢃꢀꢎꢌꢃꢒꢃꢃꢃꢑꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢆꢁ  
ꢀꢁꢏꢄ 5+1ꢀ44ꢂꢀꢐ4  
ꢀꢃꢃ&$*ꢀ  
  &ꢁꢅꢀꢃꢃ&ꢁꢅꢀ &$ꢅꢀ  
ꢀ94ꢃꢀꢎꢌꢃꢒꢃꢃꢂꢑꢀꢂꢏꢂ  
6
6
ꢀꢁꢍꢄ 5+1ꢀ$ꢀ&  
ꢀꢁꢇꢄ 5+1ꢀ$ꢀ%  
ꢀꢐ &#ꢀ ꢀꢃꢃ&#*ꢑꢀ5+1$&ꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢏꢊ  
ꢀꢐ &$ꢀ ꢀꢃꢃ&$*ꢑꢀ5+1$%ꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢏꢊ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇ  
.
ꢁ6  
24'.+/+0#4;  
6
ꢀꢁꢁꢄ 5+1ꢀ$ꢀ94ꢎꢀꢐ9  
ꢀꢃꢃ&$*ꢀ  
&$ꢀ  
ꢀ94ꢃꢀꢎꢌꢃꢒꢃꢂꢃꢑꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢏꢊ  
&$ꢀ  
ꢀ94ꢃꢀꢎꢌꢃꢒꢃꢂꢃꢑꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢏꢉ  
6
ꢀꢂꢃꢃꢄ 5+1ꢀ$ꢀ44ꢎꢀꢐ4  
ꢀꢃꢃ&$*ꢀ  
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
ꢀꢂꢃꢂꢄ #5%+ꢃꢀ%  
ꢀꢂꢃꢎꢄ #5%+ꢂꢀ%  
ꢀꢂꢃꢊꢄ #5%+ꢃꢀ%  
ꢀꢂꢃꢉꢄ #5%+ꢂꢀ%  
ꢀ4  
ꢀ4  
ꢀ4  
ꢀ4  
ꢀ#ꢀꢐꢃꢃꢃꢃ*ꢑꢀ%06.#ꢃꢀꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢏꢆ  
ꢀ#ꢀꢐꢃꢃꢃꢂ*ꢑꢀ%06.#ꢂꢀꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢏꢏ  
ꢀ$ꢀꢐꢃꢃꢃꢎ*ꢑꢀ%06.$ꢃꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢏꢏ  
ꢀ$ꢀꢐꢃꢃꢃꢊ*ꢑꢀ%06.$ꢂꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢏꢍ  
ꢀꢐꢃꢃꢃꢉ*ꢑꢀ56#6ꢃꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢏꢇ  
ꢀꢐꢃꢃꢃꢆ*ꢑꢀ56#6ꢂꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢏꢁ  
ꢀꢐꢃꢃꢃꢏ*ꢑꢀ6&4ꢃꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢏꢁ  
ꢀꢐꢃꢃꢃꢍ*ꢑꢀ6&4ꢂꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢍꢃ  
ꢀꢐꢃꢃꢃꢇ*ꢑꢀ4&4ꢃꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢍꢃ  
ꢀꢐꢃꢃꢃꢁ*ꢑꢀ4&4ꢂꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢍꢃ  
ꢀꢂꢃꢆꢄ #5%+ꢃꢀ5  
ꢀ4  
ꢀ4  
ꢀꢂꢃꢏꢄ #5%+ꢂꢀ5  
ꢀꢂꢃꢍꢄ #5%+ꢃꢀ6 ꢀ&  
ꢀꢂꢃꢇꢄ #5%+ꢂꢀ6 ꢀ&  
ꢀꢂꢃꢁꢄ #5%+ꢃꢀ4 ꢀ&  
ꢀꢂꢂꢃꢄ #5%+ꢂꢀ4 ꢀ&  
ꢀꢂꢂꢂꢄ #5%+ꢃꢀ'  
ꢀ4  
ꢀ4  
ꢀ4  
ꢀ4  
ꢀ%  
ꢀ%  
ꢀ4  
ꢀ4  
ꢀꢐꢃꢃꢂꢎ*ꢑꢀ#5':6ꢃꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢍꢂ  
ꢀꢐꢃꢃꢂꢊ*ꢑꢀ#5':6ꢂꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢍꢎ  
ꢀꢂꢂꢎꢄ #5%+ꢂꢀ'  
ꢀꢂꢂꢊꢄ #5%+ꢃꢀ6 ꢀ%  
ꢀꢂꢂꢉꢄ #5%+ꢃꢀ6 ꢀ%  
ꢀꢂꢂꢆꢄ #5%+ꢂꢀ6 ꢀ%  
ꢀꢂꢂꢏꢄ #5%+ꢃꢀ6 ꢀ%  
ꢀꢂꢂꢍꢄ ꢀ%5+ꢋ1ꢀ%  
ꢀ. ꢀꢐꢃꢃꢂ#*ꢑꢀ#56%ꢃ.ꢀꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢍꢎ  
ꢀ* ꢀꢐꢃꢃꢂ$*ꢑꢀ#56%ꢃ*ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢍꢊ  
ꢀ. ꢀꢐꢃꢃꢂ%*ꢑꢀ#56%ꢂ.ꢀꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢍꢊ  
ꢀꢐꢃꢃꢂ&*ꢑꢀ#56%ꢂ*ꢀ ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢍꢊ  
ꢀꢐꢃꢃꢃ#*ꢑꢀ%064ꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢍꢉ  
ꢀ4  
ꢀꢂꢂꢇꢄ %5+ꢋ1ꢀ&  
ꢀ4  
ꢀꢐꢃꢃꢃ$*ꢑꢀ64&4ꢀ ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢍꢏ  
ꢀꢂꢂꢁꢄ .  
ꢀꢂꢎꢃꢄ #  
ꢀꢂꢎꢂꢄ .  
ꢀꢂꢎꢎꢄ '  
ꢀꢂꢎꢊꢄ 2  
ꢀ+  
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢀꢂꢍꢍ  
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢀꢂꢍꢍ  
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢀꢂꢍꢍ  
ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢀꢂꢍꢍ  
ꢀ+  
ꢀ+  
ꢀ+  
ꢀ%  
ꢀ+  
ꢀ+  
ꢀ+  
ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢀꢂꢍꢇ  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢀꢂꢍꢇ  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢀꢂꢍꢇ  
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢀꢂꢍꢇ  
ꢀꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢀꢂꢍꢁ  
ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢀꢂꢍꢁ  
ꢀꢂꢎꢉꢄ $ ꢀ/  
ꢀꢂꢎꢆꢄ $  
ꢀ6  
ꢀ# ꢀ5  
ꢋ1 ꢀ+  
ꢀꢂꢎꢏꢄ 4  
ꢀ+  
ꢀꢂꢎꢍꢄ +  
ꢀꢂꢎꢇꢄ 2  
ꢀꢂꢎꢁꢄ (  
ꢀꢂꢊꢃꢄ (  
ꢀꢂꢊꢂꢄ %  
ꢀꢂꢊꢎꢄ 5  
ꢀꢂꢊꢊꢄ +  
ꢀ%  
ꢀ+  
ꢀ4  
ꢀ5  
ꢀꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢀꢂꢇꢃ  
ꢀ&  
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢀꢂꢇꢃ  
ꢀ%  
ꢀꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢀꢂꢇꢂ  
 ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢀꢂꢇꢎ  
ꢀ5 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢇꢊ  
ꢑꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢁꢊ  
ꢀꢂꢊꢉꢄ 1 ꢀ%  
ꢀꢂꢊꢆꢄ 1 ꢀ%  
ꢀꢂꢊꢏꢄ 1 ꢀ%  
ꢀ/ ꢀꢐꢂ ꢀ1 %  
ꢀ/ ꢀꢐꢎ ꢀ1 %  
ꢀ/ ꢀꢐꢎ ꢀ1 ꢀ%  
ꢀꢃ%$*ꢑꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢁꢉ  
ꢀꢃ&&*ꢑꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢁꢆ  
ꢀ#  
ꢂꢃ  
<ꢇꢃ5ꢂꢇꢇ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
24'.+/+0#4;  
.
ꢁ6  
6
6
6
6
6
6
6
6
ꢀꢂꢊꢍꢄ 1 ꢀ%  
ꢀꢂꢊꢇꢄ 1 ꢀ%  
ꢀꢂꢊꢁꢄ 1 ꢀ%  
ꢀꢂꢉꢃꢄ 1 ꢀ%  
ꢀꢂꢉꢂꢄ #  
ꢀ/ ꢀꢐꢎ ꢀ1 ꢀ%  
ꢀ/ ꢀꢐꢎ ꢀ1 ꢀ%  
ꢀ#  
ꢀ#  
ꢀꢃ'&*ꢑꢀ ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢁꢏ  
ꢀꢃ(&*ꢑꢀ ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢁꢍ  
ꢀ/ ꢀꢐꢉ ꢀ$  
ꢀ/ ꢀꢐꢉ ꢀ$  
ꢅꢀ  
ꢅꢀ  
ꢀꢃ&&*ꢅꢀꢃ%$*ꢅꢀ  
ꢀꢃ(&*ꢅꢀꢃ%$*ꢅꢀ  
ꢀ&ꢑꢀ ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢁꢇ  
ꢀ&ꢑꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢂꢁꢁ  
ꢀ/  
ꢀ4  
 ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢎꢃꢃ  
ꢀꢂꢉꢎꢄ &%ꢀ%  
ꢀꢂꢉꢊꢄ &%ꢀ%  
ꢀꢂꢉꢉꢄ #%ꢀ%  
ꢅꢀ6#ꢀꢒꢀꢃu%ꢀ ꢀꢔꢍꢃu%ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢎꢃꢂ  
ꢅꢀ6#ꢀꢒꢀꢌꢉꢃu%ꢀ ꢀꢔꢇꢆu%ꢀ ꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢎꢃꢎ  
ꢅꢀ6#ꢀꢒꢀꢃu%ꢀ ꢀꢔꢍꢃu%ꢅꢀ  
%.ꢀꢒꢀꢂꢃꢃꢀ (ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢎꢃꢊ  
6
ꢀꢂꢉꢆꢄ #%ꢀ%  
ꢅꢀ6#ꢀꢒꢀꢌꢉꢃu%ꢀ ꢀꢔꢇꢆu%ꢅꢀ  
%.ꢀꢒꢀꢂꢃꢃꢀ (ꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢀꢄꢎꢃꢇ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇ  
ꢂꢂ  
.
ꢁ6  
24'.+/+0#4;  
ꢂꢎ  
<ꢇꢃ5ꢂꢇꢇ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
(
1
18'48+'9  
('#674'5  
Code-compatible with Z80 and Z8x180  
Two multiprotocol Serial I/O channels (Z80-SIO)  
Four 8-bit parallel ports with handshake logic (2 Z80-PIO)  
Four Counter/Timer channels (Z80-CTC)  
Two 16-bit Programmable Reload Timers (PRTs)  
4-KB ROM with security protection  
1-KB RAM with security protection  
Enhanced Memory Management Unit (MMU) addresses up to 8 MB  
Two Direct Memory Access channels (DMAs)  
Two Enhanced UART channels (ASCIs)  
Clocked Serial I/O interface (CSI/O)  
Watch-Dog Timer (WDT)  
Chip select and wait state generators  
Three interrupt request inputs  
32-Bit CRC on SIO channels  
ZiLOG Debug Interface (ZDI)  
DC to 33-MHz operating frequency @ 5.0V  
DC to 20-MHz operating frequency @ 3.3V  
Clock divide by 2, 1X, or 2X  
Fully static CMOS design with low-power standby modes  
160-Pin QFP package  
)'0'4#.ꢁ&'5%4+26+10  
The Z80S188 is a general-purpose integrated microprocessor. It includes the  
Z8S180 processor, four 8-bit I/O ports, two multiprotocol serial channels, four  
Counter Timer channels, an enhanced MMU that addresses up to 8 MB of  
memory, two DMA channels, a Watch-Dog Timer, two enhanced UARTs, two  
Programmable Reload Timers, a CSI/O channel, 4 KB of on-chip RAM, and 1 KB  
of on-chip ROM. It is packaged in a 160-pin QFP.  
32 Bits of General-Purpose I/O. These four 8-bit ports, designated A through D,  
are functionally identical to two Z80 PIO devices. Several programmable modes  
of operation are featured, including input and output handshaking, or data direc-  
tion, and interrupt control at the bit/pin level.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
1
)
ꢀ&  
Two Multiprotocol Serial Channels. These channels are functionally identical to  
a Z80 SIO, and support Asynchronous, isochronous, Classic Synchronous, and  
HDLC/SDLC protocols.  
Four Counter/Timer Circuits. These CTCs are functionally identical to a Z80  
CTC device. Each channel provides counter or timer functionality, an 8-bit down-  
counter with /16 or /256 timer-prescaler, a clock or trigger input, a 0 count/  
timeout output, and interrupt capability.  
Two 16-Bit Timers. These timers are 16-bit down-counters with auto-reload and  
interrupt capability. One channel has waveform generation capability.  
Memory Management Unit (MMU). This module has been enhanced from the  
MMU found on other 8X18X processors. The MMU now translates addresses  
from the 64-KB logical memory address space used by software, to an 8 megabyte  
physical memory address space, with a granularity of 1KB.  
Two DMA Channels. These channels operate in an 8-Mbyte linear memory  
address space and a 64-KB I/O space, and can transfer blocks up to 64 KB long.  
These channels can be used with external memory, and external or on-chip periph-  
erals.  
Two Asynchronous Serial Channel Interfaces. These ASCIs feature baud rate  
generators, modem control, and status.  
CSI/O. Clocked serial I/O can be used for serial interfacing to memory, periph-  
erals, and other processors.  
Chip Select and Wait logic. This feature contains two memory chip select signals  
and one I/O chip select signal for external memory and I/O. A programmed  
number of wait states can be inserted for each of these three programmable  
address ranges.  
Watch-Dog Timer. The WDT helps detect code runaway and helps minimize the  
negative effects thereof. A range of timeout values is available. The WDTOUTpin  
is driven Low if the Watch-Dog Timer counts down to 0 and can be connected to  
RESET or NMI, or used in some other way.  
4-KB of On-Chip ROM. Optional mask-programmed security features allow  
restricted access via nine entry points in low memory, and no access or visibility  
from the external bus.  
1-KB of On-chip RAM. Optional mask-programmed security feature restricts  
access to instructions in on-chip ROM.  
ZiLOG Debug Interface. The ZDI module allows in-system debugging using the  
ZiLOG Developer Studio (ZDS) running on a PC, and requires a 6-pin header on  
the application board and a low-cost interface module.  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
$
ꢀ&  
1
$.1%-ꢁ&+#)4#/  
ꢄꢅ (  
(
ꢁ$  
ꢁ&  
$75#%-,  
*#.6,  
56, 4(5*  
241%'5514  
&ꢍꢌꢃ  
$754'3ꢅ  
+06ꢎꢌꢂꢅꢀ0/+  
#ꢂꢆꢌꢃ  
Ctrl  
/4'3,  
+143,4&,  
94, /ꢂ  
&ꢍꢌꢃ  
+06ꢃ, 9#+6  
&4'3ꢂꢌꢃ  
6176ꢂꢌꢃ  
&/#U  
#5%+U  
//7  
246U  
#ꢎꢎꢌꢃ  
4:#ꢂꢌꢃ, &%&ꢃ,  
%65ꢂꢌꢃ  
%-#ꢂꢌꢃ  
6176  
6:#ꢂꢌꢃ, 465ꢃ  
4:5  
%-5  
6:5  
%.-ꢋ64)ꢊꢌꢃ  
<%ꢋ61ꢊꢌꢃ  
%6%U  
9&6  
%5+ꢋ1  
2+1U  
#56$-&56$  
2#ꢍꢌꢃꢅ 2$ꢍꢌꢃ,  
ꢇꢃ 2&ꢍꢌꢃ  
9&6176  
#4&;ꢌ&4&;  
4Z&#ꢌ$ꢅ  
%65#ꢌ$,&%&#ꢌ$,  
6:%#ꢌ$,4:%#ꢌ$  
/'/%5ꢂꢌꢃꢅ  
+1%5  
%5ꢀꢕ  
9CKV  
5+1U  
5;0%#ꢌ$  
:6#.ꢅ  
':6#.  
6Z&#ꢌ$,  
9ꢋ4&;#ꢌ$,  
&64#ꢌ$,465#ꢌ$  
%NQEM  
)GP  
2*+  
+'+  
<%.  
4'5'6,  
'8/41/%5  
<&+  
<&#  
+'1  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
2 ꢁ&  
2+0ꢁ&'5%4+26+105  
(
ꢆꢅ <ꢂꢃ5ꢄꢂꢂ 2 ꢁ&  
80  
70  
60  
50  
130  
140  
150  
160  
ꢂꢏꢃꢀ2KPꢀ3(2  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
2 ꢁ&  
6
ꢁꢄꢅ 2 ꢁ&  
5[ODQN  
#ꢎꢎꢌꢃ  
2KPꢁꢇ  
(WPEVKQP  
6[RG  
&GUETKRVKQP  
ꢂꢌꢉꢅꢀ  
ꢏꢌꢂꢆꢅ  
ꢂꢍꢌꢎꢉꢅ  
ꢎꢏ  
#FFTGUUꢀ$WU $KFKTGEꢌ  
VKQPCNꢅꢀ  
6JGUGꢀNKPGUꢀUGNGEVꢀCꢀNQECVKQPꢀKPꢀOGOQT[ꢀQTꢀ+ꢋ1ꢀ  
URCEGꢀVQꢀDGꢀTGCFꢀQTꢀYTKVVGPꢄꢀ6JGꢀ<ꢇꢃ5ꢂꢇꢇ  
FQGUꢀPQVꢀFTKXGꢀVJGUGꢀNKPGUꢀYJGPꢀ4'5'6ꢀQTꢀ  
$75#%-ꢀKUꢀ.QYꢄ  
ꢊꢀUVCVG  
#4&;ꢅꢀ$4&;ꢅꢀ ꢏꢍꢅꢀꢁꢁꢅꢀ 2QTVꢀ#ꢌ&ꢀ  
%4&;ꢅꢀ&4&; ꢂꢂꢃꢅꢀꢂꢎꢂ 4GCF[  
1WVRWVU  
+PRWVU  
6JGUGꢀRKPUꢀRTQXKFGꢀ*CPFUJCMGꢀUKIPCNUꢀVQꢀ  
GZVGTPCNꢀFGXKEGꢐUꢑꢄꢀ5KIPCNKPIꢀQPꢀVJGUGꢀNKPGUꢀ  
FGRGPFUꢀQPꢀVJGꢀQRGTCVKPIꢀOQFGꢀQHꢀGCEJꢀRQTVꢄ  
#56$ꢅꢀ$56$ꢅꢀ ꢏꢇꢅꢀꢂꢃꢃꢅꢀ 2QTVꢀ#ꢌ&ꢀ  
%56$ꢅꢀ&56$ ꢂꢂꢂꢅꢀꢂꢎꢎ 5VTQDGU  
6JGUGꢀRKPUꢀRTQXKFGꢀ*CPFUJCMGꢀUKIPCNUꢀHTQOꢀ  
GZVGTPCNꢀFGXKEGꢐUꢑꢄꢀ5KIPCNKPIꢀQPꢀVJGUGꢀNKPGUꢀ  
FGRGPFUꢀQPꢀVJGꢀQRGTCVKPIꢀOQFGꢀQHꢀGCEJꢀRQTVꢄ  
$75#%-  
ꢉꢇ  
$WUꢀ#EMPQYNꢌ 1WVRWVꢅꢀ  
GFIG  
+PꢀTGURQPUGꢀVQꢀCꢀ.QYꢀQPꢀ$754'3ꢅꢀVJGꢀ  
CEVKXGꢀ.QY <ꢇꢃ5ꢂꢇꢇꢀEQORNGVGUꢀKVUꢀEWTTGPVꢀDWUꢀE[ENGꢅꢀ  
TGNGCUGUꢀVJGꢀCFFTGUUꢅꢀFCVCꢅꢀCPFꢀEQPVTQNꢀ  
UKIPCNUꢀVQꢀJKIJꢌKORGFCPEGꢀUVCVGꢅꢀCPFꢀFTKXGUꢀ  
VJKUꢀNKPGꢀ.QYꢄꢀ6JKUꢀUVCVGꢀRGTUKUVUꢀWPVKNꢀCHVGTꢀ  
VJGꢀGZVGTPCNꢀOCUVGTꢀFTKXGUꢀQTꢀTGNGCUGUꢀ  
$754'3ꢀVQꢀ*KIJꢄ  
$754'3  
ꢉꢍ  
$WUꢀ4GSWGUV +PRWVꢅCEVKXG#PꢀGZVGTPCNꢀDWUꢀOCUVGTꢀECPꢀFTKXGꢀVJKUꢀNKPGꢀ  
.QY  
.QYꢀVQꢀOCMGꢀVJGꢀ<ꢇꢃ5ꢂꢇꢇꢀTGNGCUGꢀVJGꢀDWUꢄꢀ  
2WNNꢀWRꢀVJKUꢀUKIPCNꢀKHꢀKVꢀKUꢀPQVꢀWUGFꢅꢀGKVJGTꢀYKVJꢀ  
CꢀTGUKUVQTꢀQTꢀD[ꢀFKTGEVꢀEQPPGEVKQPꢀVQꢀ8  
%-#ꢃꢌꢂ  
%-5  
ꢂꢉꢍꢅꢀꢂꢆꢂ #5%+ꢀ%NQEMU +PRWVꢋ  
QWVRWVU  
6JGUGꢀRKPUꢀECTT[ꢀENQEMKPIꢀVQꢀGCEJꢀQHꢀVJGꢀ  
#5%+UꢅꢀQTꢀQWVRWVꢀENQEMKPIꢀHTQOꢀVJGꢀ#5%+Uꢄ  
ꢂꢆꢉ  
%5+ꢋ1ꢀ%NQEM +PRWVꢋ  
QWVRWV  
6JKUꢀRKPꢀECTTKGUꢀENQEMKPIꢀVQꢀVJGꢀ%5+ꢋ1ꢅꢀQTꢀ  
QWVRWVUꢀENQEMKPIꢀHTQOꢀVJGꢀ%5+ꢋ1ꢄ  
%.-ꢋ64)ꢃꢌꢊ ꢂꢊꢍꢌꢂꢉꢁ %6%ꢀ%NQEMꢋ  
6TKIIGTU  
+PRWVU  
9JGPꢀVJGꢀ%6%ꢀEJCPPGNꢀCUUQEKCVGFꢀYKVJꢀGCEJꢀ  
QHꢀVJGUGꢀRKPUꢀKUꢀCEVKXGꢀKPꢀ%QWPVGTꢀOQFGꢅꢀCPꢀ  
CEVKXGꢀGFIGꢀQPꢀVJGꢀRKPꢀFGETGOGPVUꢀVJGꢀ  
EJCPPGN UꢀFQYPEQWPVGTꢄꢀ9JGPꢀVJGꢀEJCPPGNꢀKUꢀ  
CEVKXGꢀKPꢀ6TKIIGTGFꢀ6KOGTꢀOQFGꢅꢀCPꢀCEVKXGꢀ  
GFIGꢀUVCTVUꢀVJGꢀVKOGTꢄꢀ+PꢀGKVJGTꢀOQFGꢅꢀUQHVꢌ  
YCTGꢀUGNGEVUꢀYJGVJGTꢀTKUKPIꢀQTꢀHCNNKPIꢀGFIGUꢀ  
CTGꢀCEVKXGꢄ  
%4&;ꢅꢀ%56$ ꢐ&GUETKDGFꢀKPꢀ#4&;ꢅꢀ#56$ꢀGPVTKGUꢀCDQXGꢑ  
%65ꢃꢌꢂ  
ꢂꢉꢏꢅꢀꢂꢆꢃ #5%+ꢀ%NGCTUꢀ +PRWVUꢅꢀ  
6JGUGꢀRKPUꢀVTCPUOKVꢀEQPVTQNꢀUKIPCNUꢀHQTꢀVJGꢀ  
VQꢀ5GPF  
CEVKXGꢀ.QY #5%+Uꢄꢀ1RVKQPCNN[ꢅꢀVJG[ꢀCWVQꢌGPCDNGꢀVJGꢀ#5%+ꢀ  
6TCPUOKVVGTUꢅꢀCPFꢀECPꢀDGꢀTGCFꢀD[ꢀUQHVYCTGꢄ  
%65#ꢌ$  
ꢇꢍꢅꢀꢁꢃ  
5+1ꢀ%NGCTUꢀVQꢀ +PRWVUꢅꢀ  
5GPF  
6JGUGꢀRKPUꢀVTCPUOKVꢀEQPVTQNꢀUKIPCNUꢀHQTꢀVJGꢀ  
CEVKXGꢀ.QY 5+1ꢀEJCPPGNUꢄꢀ1RVKQPCNN[ꢅꢀVJG[ꢀCWVQꢌGPCDNGꢀ  
VJGꢀ6TCPUOKVVGTUꢅꢀCPFꢀECPꢀDGꢀTGCFꢀD[ꢀUQHVꢌ  
YCTGꢄ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
2 ꢁ&  
6
ꢁꢄꢅ 2 ꢁ&  
ꢁꢈ%  
(WPEVKQP  
&CVCꢀ$WU  
5[ODQN  
2KPꢁꢇ  
6[RG  
&GUETKRVKQP  
&ꢍꢌꢃ  
ꢎꢍꢌꢊꢉ  
$KFKTGEꢌ  
VKQPCNꢅꢀ  
ꢊꢀUVCVG  
6JGUGꢀNKPGUꢀVTCPUHGTꢀKPHQTOCVKQPꢀVQꢀCPFꢀHTQOꢀ  
+ꢋ1ꢀCPFꢀOGOQT[ꢀFGXKEGUꢄꢀ6JGꢀ<ꢇꢃ5ꢂꢇꢇꢀFTKXGUꢀ  
VJGUGꢀNKPGUꢀQPN[ꢀFWTKPIꢀ9TKVGꢀE[ENGUꢄ  
&%&ꢃ  
&%&#ꢌ$  
ꢂꢉꢊ  
#5%+ꢀ&CVCꢀ  
%CTTKGTꢀ&GVGEV .QY  
+PRWVꢅCEVKXG6JKUꢀRKPꢀKUꢀCꢀTGEGKXGꢀEQPVTQNꢀUKIPCNꢀHQTꢀ#5%+ꢃꢄꢀ  
1RVKQPCNN[ꢅꢀVJKUꢀRKPꢀCWVQꢌGPCDNGUꢀVJGꢀ  
4GEGKXGTꢅꢀCPFꢀECPꢀDGꢀTGCFꢀD[ꢀUQHVYCTGꢄ  
ꢇꢇꢌꢇꢁ  
5+1ꢀ&CVCꢀ  
%CTTKGTꢀ  
&GVGEVU  
+PRWVUꢅꢀ  
6JGUGꢀRKPUꢀRTQXKFGꢀTGEGKXGꢀEQPVTQNꢀUKIPCNUꢀHQTꢀ  
CEVKXGꢀ.QY VJGꢀ5+1ꢀEJCPPGNUꢄꢀ1RVKQPCNN[ꢅꢀVJGUGꢀUKIPCNUꢀ  
CWVQꢌGPCDNGꢀVJGꢀ4GEGKXGTUꢅꢀCPFꢀECPꢀDGꢀTGCFꢀ  
D[ꢀUQHVYCTGꢄ  
&4&;ꢅꢀ&56$ ꢐ&GUETKDGFꢀKPꢀ#4&;ꢅꢀ#56$ꢀGPVTKGUꢀCDQXGꢑ  
&4'3ꢃꢌꢂ  
ꢂꢆꢇꢅꢀꢂꢆꢁ &/#ꢀ  
4GSWGUVU  
+PRWVU  
6JKUꢀRKPꢀKUꢀWUGFꢀD[ꢀGZVGTPCNꢀRGTKRJGTCNꢐUꢑꢀVQꢀ  
TGSWGUVꢀVTCPUHGTUꢀHTQOꢀVJGꢀ&/#ꢀEJCPPGNUꢄꢀ  
6JGUGꢀKPRWVUꢀECPꢀDGꢀRTQITCOOGFꢀCUꢀGKVJGTꢀ  
NGXGNꢌꢀQTꢀGFIGꢌꢀUGPUKVKXGꢄ  
&64#ꢌ$  
ꢇꢉꢅꢀꢁꢎ  
ꢏꢃ  
5+1ꢀ&CVCꢀ  
6GTOKPCNꢀ  
4GCF[  
1WVRWVU  
+PRWVꢋ  
)GPGTCNꢀRWTRQUGꢀQWVRWVUꢀEQPVTQNNGFꢀD[ꢀ  
TGIKUVGTꢀDKVUꢀKPꢀVJGꢀ5+1Uꢄ  
'8ꢋ41/%5  
'OWNCVKQPꢀ  
OQFGꢋꢀ41/ꢀ QWVRWV  
%JKRꢀ5GNGEV  
6JGꢀ<ꢇꢃ5ꢂꢇꢇꢀUCORNGUꢀVJKUꢀRKPꢀCVꢀVJGꢀTKUKPIꢀ  
GFIGUꢀQHꢀ4'5'6ꢄꢀ+HꢀVJGꢀRKPꢀKUꢀ.QYꢅꢀVJGꢀFGXKEGꢀ  
ꢊꢌUVCVGUꢀCNNꢀKVUꢀQWVRWVUꢀUQꢀVJCVꢀCPꢀGZVGTPCNꢀ  
GOWNCVQTꢀECPꢀEQPVTQNꢀVJGꢀDQCTFꢀQPꢀYJKEJꢀKVꢀ  
TGUKFGUꢄꢀ+PꢀVJKUꢀUVCVGꢅꢀPQꢀQPꢌEJKRꢀTGUQWTEGUꢀ  
ECPꢀDGꢀCEEGUUGFꢀQTꢀWUGFꢄꢀ+HꢀVJGꢀRKPꢀKUꢀ*KIJꢀCVꢀ  
VJGꢀTKUKPIꢀGFIGꢀQHꢀ4'5'6ꢅꢀCPFꢀKVꢀJCUꢀPQVꢀDGGPꢀ  
OCUMꢌRTQITCOOGFꢀVQꢀGPCDNGꢀKVUꢀQPꢌEJKRꢀ  
41/ꢅꢀKVꢀGPCDNGUꢀCꢀꢊꢌUVCVGꢀFTKXGTꢄꢀ6JKUꢀCEVKQPꢀ  
FTKXGUꢀVJKUꢀRKPꢀ.QYꢀYJGPGXGTꢀVJGꢀCFFTGUUꢀKUꢀ  
KPꢀVJGꢀTCPIGꢀQEEWRKGFꢀD[ꢀQPꢌEJKRꢀ41/ꢀKPꢀ  
OCUMGFꢀRCTVUꢄ  
':6#.  
*#.6  
ꢆꢇ  
ꢉꢎ  
1UEKNNCVQTꢀQTꢀ +PRWV  
%NQEMꢀ+P  
6JKUꢀRKPꢀECPꢀDGꢀEQPPGEVGFꢀVQꢀCꢀET[UVCNꢀQTꢀVQꢀ  
CPꢀGZVGTPCNꢀENQEMꢄꢀ+HꢀCꢀET[UVCNꢀKUꢀWUGFꢅꢀVJKUꢀ  
UKIPCNꢀKUꢀPQVꢀCꢀNQIKEꢀNGXGNꢄ  
*CNVꢀ+PFKECꢌ  
VKQP  
1WVRWV  
6JKUꢀRKPꢀDGEQOGUꢀ.QYꢀYJGPꢀVJGꢀ%27ꢀ  
GZGEWVGUꢀGKVJGTꢀCꢀ*#.6ꢀQTꢀ5.''2ꢀKPUVTWEVKQPꢄꢀ  
#PꢀGZVGTPCNꢀUKIPCNꢀꢐ4'5'6ꢀQTꢀCPꢀKPVGTTWRVꢀ  
TGSWGUVꢑꢀOCMGUꢀVJGꢀRTQEGUUQTꢀCEVKXGꢀCICKPꢄ  
+'+  
ꢆꢉ  
+PVGTTWRVꢀ  
'PCDNGꢀ+P  
+PRWV  
+HꢀGZVGTPCNꢀ<ꢇꢃꢀRGTKRJGTCNUꢀCTGꢀEQPPGEVGFꢀVQꢀ  
VJGꢀ<ꢇꢃ5ꢂꢇꢇꢅꢀCPFꢀVJG[ꢀJCXGꢀJKIJGTꢀKPVGTTWRVꢀ  
RTKQTKV[ꢀVJCPꢀVJGꢀQPꢌEJKRꢀ%6%Uꢅꢀ2+1UꢅꢀCPFꢀ5+1ꢀ  
EJCPPGNUꢅꢀVJKUꢀRKPꢀEQPPGEVUꢀVQꢀVJGꢀ+'1ꢀQWVRWVꢀ  
QHꢀVJGꢀNQYGUVꢌRTKQTKV[ꢀUWEJꢀFGXKEGꢄꢀ1VJGTYKUGꢅꢀ  
VJKUꢀRKPꢀEQPPGEVUꢀVQꢀ8  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
2 ꢁ&  
6
ꢁꢄꢅ 2 ꢁ&  
ꢁꢈ%  
(WPEVKQP  
+PVGTTWRVꢀ  
5[ODQN  
2KPꢁꢇ  
6[RG  
&GUETKRVKQP  
+'1  
ꢆꢊ  
1WVRWV  
+HꢀGZVGTPCNꢀ<ꢇꢃꢀRGTKRJGTCNUꢀCTGꢀEQPPGEVGFꢀVQꢀ  
VJGꢀ<ꢇꢃ5ꢂꢇꢇꢅꢀCPFꢀVJG[ꢀJCXGꢀNQYGTꢀKPVGTTWRVꢀ  
RTKQTKV[ꢀVJCPꢀVJGꢀQPꢌEJKRꢀ%6%Uꢅꢀ2+1UꢅꢀCPFꢀ5+1ꢀ  
EJCPPGNUꢅꢀVJKUꢀRKPꢀEQPPGEVUꢀVQꢀVJGꢀ+'+ꢀKPRWVꢀQHꢀ  
VJGꢀJKIJGUVꢌRTKQTKV[ꢀUWEJꢀFGXKEGꢄꢀ  
'PCDNGꢀ1WV  
+06ꢃ  
ꢉꢁ  
+PVGTTWRVꢀ  
4GSWGUVꢀꢃ  
+PRWVꢋ  
QWVRWVꢅꢀ  
6JKUꢀUKIPCNꢀECPꢀDGꢀFTKXGPꢀ.QYꢀKPꢀCPꢀQRGPꢌ  
FTCKPꢀHCUJKQPꢀD[ꢀGZVGTPCNꢀ+ꢋ1ꢀFGXKEGUꢄꢀ6JGꢀ  
CEVKXGꢀ.QY <ꢇꢃ5ꢂꢇꢇꢀFTKXGUꢀVJKUꢀRKPꢀ.QYꢀKPꢀCPꢀQRGPꢌFTCKPꢀ  
HCUJKQPꢅꢀYJGPGXGTꢀCP[ꢀQHꢀVJGꢀQPꢌEJKRꢀ2+1ꢀ  
RQTVUꢅꢀ%6%ꢀEJCPPGNUꢅꢀQTꢀ5+1ꢀEJCPPGNUꢀTGSWGUVꢀ  
CPꢀKPVGTTWRVꢄꢀ6JGꢀRTQEGUUQTꢀGZGEWVGUꢀVJKUꢀ  
TGSWGUVꢀCVꢀVJGꢀGPFꢀQHꢀVJGꢀEWTTGPVꢀKPUVTWEVKQPꢀ  
E[ENGꢀCUꢀNQPIꢀCUꢀKVꢀKUꢀGPCDNGFꢅꢀCPFꢀVJGꢀ0/+ꢀ  
CPFꢀ$754'3ꢀUKIPCNUꢀCTGꢀKPCEVKXGꢄꢀ  
+06ꢂꢌꢎ  
ꢆꢃꢌꢆꢂ  
+PVGTTWRVꢀ  
+PRWVUꢅꢀ  
6JGUGꢀUKIPCNUꢀCTGꢀIGPGTCVGFꢀD[ꢀGZVGTPCNꢀ  
4GSWGUVUꢀꢂꢌꢎ #EVKXGꢀ.QYꢀ FGXKEGUꢄꢀ6JGꢀRTQEGUUQTꢀGZGEWVGUꢀCꢀTGSWGUVꢀQPꢀ  
QTꢀ'FIGꢌ  
6TKIIGTGF  
QPGꢀQHꢀVJGUGꢀNKPGUꢀCVꢀVJGꢀGPFꢀQHꢀVJGꢀEWTTGPVꢀ  
KPUVTWEVKQPꢀE[ENGꢅꢀYJKNGꢀVJGꢀ0/+ꢅꢀ$754'3ꢅꢀ  
CPFꢀ+06ꢃꢀUKIPCNUꢀCTGꢀKPCEVKXGꢄꢀ6JGꢀRTQEGUUQTꢀ  
CEMPQYNGFIGUꢀQPGꢀQHꢀVJGUGꢀTGSWGUVUꢀYKVJꢀCPꢀ  
KPVGTPCNꢀE[ENGꢅꢀKPꢀYJKEJꢀCꢀHKZGFꢀXGEVQTꢀEQTTGꢌ  
URQPFKPIꢀVQꢀQPGꢀQHꢀVJGꢀRKPUꢀKUꢀWUGFꢀVQꢀUGNGEVꢀ  
CPꢀKPVGTTWRVꢀUGTXKEGꢀTQWVKPGꢄꢀ6JGUGꢀRKPUꢀOC[ꢀ  
DGꢀRTQITCOOGFꢀHQTꢀCEVKXGꢀ.QYꢀNGXGNꢅꢀTKUKPIꢌꢀ  
QTꢀHCNNKPIꢌGFIGꢀKPVGTTWRVUꢄꢀ6JGꢀUVCVGꢀQHꢀVJGꢀ  
GZVGTPCNꢀ+06ꢂꢀCPFꢀ+06ꢎꢀRKPUꢀECPꢀDGꢀTGCFꢀKPꢀ  
VJGꢀ+PVGTTWRVꢀ'FIGꢀ4GIKUVGTꢄ  
+1%5  
+143  
ꢏꢏ  
ꢉꢃ  
+ꢋ1ꢀ%JKRꢀ  
5GNGEV  
1WVRWVꢅꢀ  
6JGꢀ<ꢇꢃ5ꢂꢇꢇꢀFTKXGUꢀVJKUꢀQWVRWVꢀ.QYꢀYJGPꢀ  
#EVKXGꢀ.QY UQHVYCTGꢀCEEGUUGUꢀCPꢀ+ꢋ1ꢀCFFTGUUꢀKPꢀCꢀ  
RTQITCOOCDNGꢀTCPIGꢄ  
+ꢋ1ꢀ4GSWGUV 1WVRWVꢅꢀ  
9KVJꢀ4&ꢀQTꢀ94ꢀ.QYꢅꢀCꢀ.QYꢀQPꢀ+143ꢀKPFKECVGUꢀ  
#EVKXG.QYꢅꢀ VJCVꢀVJGꢀRTQEGUUQTꢀKUꢀCEEGUUKPIꢀCꢀNQECVKQPꢀKPꢀ+ꢋ  
ꢊꢌ5VCVG  
1ꢀURCEGꢄꢀ9KVJꢀ/ꢂꢀ.QYꢅꢀCꢀ.QYꢀQPꢀ+143ꢀKPFKꢌ  
ECVGUꢀCPꢀKPVGTTWRVꢀCEMPQYNGFIGꢀE[ENGꢄꢀ6JGꢀ  
<ꢇꢃ5ꢂꢇꢇꢀFQGUꢀPQVꢀFTKXGꢀVJKUꢀNKPGꢀFWTKPIꢀTGUGVꢅꢀ  
PQTꢀFWTKPIꢀDWUꢀCEMPQYNGFIGꢀE[ENGUꢄ  
/ꢂ  
ꢉꢂ  
/CEJKPGꢀ  
E[ENGꢀꢂ  
1WVRWVꢅꢀ  
/4'3ꢀCPFꢀ/ꢂꢀDQVJꢀ.QYꢀKPFKECVGꢀVJCVꢀVJGꢀ  
#EVKXGꢀ.QY EWTTGPVꢀE[ENGꢀKUꢀVJGꢀ1Rꢀ%QFGꢀ(GVEJꢀE[ENGꢀQHꢀCPꢀ  
KPUVTWEVKQPꢀGZGEWVKQPꢄꢀ+143ꢀCPFꢀ/ꢂꢀDQVJꢀ  
.QYꢀKPFKECVGꢀCPꢀKPVGTTWRVꢀCEMPQYNGFIGꢀE[ENGꢄ  
/'/%5ꢃꢌꢂ  
/4'3  
ꢏꢊꢌꢏꢉ  
ꢊꢁ  
/GOQT[ꢀ%JKRꢀ 1WVRWVUꢅꢀ  
#ꢀ.QYꢀQPꢀQPGꢀQHꢀVJGUGꢀNKPGUꢀKPFKECVGUꢀVJCVꢀVJGꢀ  
5GNGEVU  
#EVKXGꢀ.QY EWTTGPVꢀDWUꢀE[ENGꢀKUꢀKPꢀOGOQT[ꢀURCEGꢅꢀCPFꢀ  
VJGꢀRJ[UKECNꢀCFFTGUUꢀHTQOꢀVJGꢀ//7ꢀKUꢀKPꢀVJGꢀ  
TCPIGꢀRTQITCOOGFꢀHQTꢀVJGꢀNKPGꢄ  
/GOQT[ꢀ  
4GSWGUV  
1WVRWVꢅꢀ  
#ꢀ.QYꢀQPꢀVJKUꢀNKPGꢀKPFKECVGUꢀVJCVꢀVJGꢀEWTTGPVꢀ  
#EVKXGꢀ.QY DWUꢀE[ENGꢀKUꢀKPꢀOGOQT[ꢀURCEGꢄ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
2 ꢁ&  
6
ꢁꢄꢅ 2 ꢁ&  
ꢁꢈ%  
(WPEVKQP  
5[ODQN  
2KPꢁꢇ  
ꢆꢎ  
6[RG  
&GUETKRVKQP  
0/+  
0QPꢌ  
+PRWVꢅꢀ  
(CNNKPIꢌ  
0/+ꢀJCUꢀCꢀJKIJGTꢀRTKQTKV[ꢀVJCPꢀ+06ꢃꢀCPFꢀKUꢀ  
CNYC[UꢀTGEQIPK\GFꢀCVꢀVJGꢀGPFꢀQHꢀCPꢀKPUVTWEꢌ  
/CUMCDNGꢀ  
+PVGTTWRV  
'FIGꢀ#EVKXG VKQPꢅꢀTGICTFNGUUꢀQHꢀVJGꢀUVCVGꢀQHꢀVJGꢀKPVGTTWRVꢀ  
GPCDNGꢀHNKRꢌHNQRUꢄꢀ6JKUꢀUKIPCNꢀHQTEGUꢀRTQEGUUQTꢀ  
GZGEWVKQPꢀVQꢀNQECVKQPꢀꢃꢃꢏꢏ*ꢄꢀ6JKUꢀKPRWVꢀ  
KPENWFGUꢀCꢀ5EJOKVVꢀVTKIIGTꢀVQꢀCNNQYꢀ4%ꢀTKUGꢀ  
VKOGUꢄ  
2#ꢍꢌꢃꢅꢀ  
2$ꢍꢌꢃꢅꢀ  
2%ꢍꢌꢃꢅꢀ2&ꢍꢌꢃ ꢂꢃꢉꢅꢀꢂꢃꢏꢌ  
ꢂꢃꢁꢅꢀꢂꢂꢎꢌ  
ꢏꢁꢌꢍꢉꢅꢍꢏꢌ 2CTCNNGNꢀ2QTVU +PRWVꢋ  
ꢍꢍꢅꢀꢂꢃꢂꢌ 1WVRWVU  
'CEJꢀQHꢀVJGUGꢀHQWTꢀRQTVUꢀECPꢀDGꢀKPFGRGPꢌ  
FGPVN[ꢀRTQITCOOGFꢀHQTꢀꢇꢌDKVꢀRCTCNNGNꢀKPRWVꢅꢀ  
QWVRWVꢅꢀQTꢀDKFKTGEVKQPCNꢀQRGTCVKQPꢀYKVJꢀ  
QRVKQPCNꢀGZVGTPCNꢀUVTQDGUꢅꢀQTꢀHQTꢀCP[ꢀOKZVWTGꢀ  
QHꢀKPRWVꢀCPFꢀQWVRWVꢀRKPUꢄ  
ꢂꢂꢉꢅꢀꢂꢂꢏꢌ  
ꢂꢎꢃꢅꢀꢂꢎꢊꢌ  
ꢂꢎꢉꢅꢀꢂꢎꢆꢌ  
ꢂꢊꢂ  
2*+  
ꢆꢁ  
5[UVGOꢀ%NQEM 1WVRWV  
4GCFꢀ5VTQDG 1WVRWVꢅꢀ  
6JKUꢀQWVRWVꢀKUꢀVJGꢀRTQEGUUQTꢖUꢀOCUVGTꢀENQEMꢅꢀ  
CPFꢀKUꢀRTQXKFGFꢀHQTꢀWUGꢀD[ꢀGZVGTPCNꢀNQIKEꢄꢀ6JGꢀ  
HTGSWGPE[ꢀQHꢀVJKUꢀENQEMꢀOC[ꢀDGꢀGSWCNꢀVQꢅꢀJCNHꢀ  
QHꢅꢀQTꢀVYKEGꢀVJGꢀET[UVCNꢀQTꢀKPRWVꢀENQEMꢀ  
HTGSWGPE[ꢅꢀFGRGPFKPIꢀQPꢀKPVGTPCNꢀTGIKUVGTꢀ  
DKVUꢄ  
4&  
ꢊꢍ  
ꢉꢏ  
4&ꢀ.QYꢀKPFKECVGUꢀVJCVꢀVJGꢀRTQEGUUQTꢀKUꢀ  
#EVKXG.QYꢅꢀ TGCFKPIꢀFCVCꢀHTQOꢀCꢀOGOQT[ꢀQTꢀ+ꢋ1ꢀNQECVKQPꢄꢀ  
ꢊꢌ5VCVG  
6JGꢀ<ꢇꢃ5ꢂꢇꢇꢀFQGUꢀPQVꢀFTKXGꢀVJKUꢀNKPGꢀYJKNGꢀ  
4'5'6ꢀQTꢀ$75#%-ꢀKUꢀ.QYꢄ  
4'5'6  
+PRWVꢋ  
1WVRWVꢅꢀ  
6JKUꢀUKIPCNꢀKPKVKCNK\GUꢀVJGꢀ<ꢇꢃ5ꢂꢇꢇꢀCPFꢀQVJGTꢀ  
FGXKEGUꢀKPꢀVJGꢀU[UVGOꢄꢀ6JKUꢀKPRWVꢀKUꢀJGNFꢀ.QYꢀ  
/CUVGTꢀReset  
#EVKXGꢀ.QY WPVKNꢀVJGꢀENQEMꢀKUꢀUVCDNGꢅꢀCPFꢀOWUVꢀDGꢀ.QYꢀHQTꢀ  
CꢀOKPKOWOꢀQHꢀVJTGGꢀU[UVGOꢀENQEMꢀE[ENGUꢄꢀ  
4'5'6ꢀECPꢀDGꢀRTQITCOOGFꢀCUꢀCPꢀQWVRWVꢅꢀVQꢀ  
CNNQYꢀVJGꢀ<ꢇꢃ5ꢂꢇꢇꢀVQꢀTGUGVꢀGZVGTPCNꢀFGXKEGUꢄꢀ  
2QYGTꢀ1Pꢀ4GUGVꢀECWUGUꢀCꢀINQDCNꢀTGUGVꢀD[ꢀ  
HQTEKPIꢀ4'5'6ꢀ.QYꢄꢀ#UꢀCPꢀKPRWVꢅꢀVJKUꢀRKPꢀJCUꢀ  
Cꢀ5EJOKVVꢀVTKIIGTꢀTGEGKXGTꢅꢀVQꢀGPCDNGꢀ4%ꢀTKUGꢀ  
VKOGUꢄ  
4(5*  
465ꢃ  
ꢉꢉ  
4GHTGUJ  
1WVRWVꢅꢀ  
4(5*ꢀ.QYꢀKPFKECVGUꢀVJCVꢀVJGꢀRTQEGUUQTꢀKUꢀ  
#EVKXG.QYꢅꢀ RGTHQTOKPIꢀCꢀTGHTGUJꢀE[ENGꢀHQTꢀF[PCOKEꢀ  
ꢊꢌUVCVG  
1WVRWV  
OGOQT[ꢄꢀ6JGꢀ<ꢇꢃ5ꢂꢇꢇꢀFQGUꢀPQVꢀFTKXGꢀVJKUꢀ  
NKPGꢀYJKNGꢀ4'5'6ꢀQTꢀ$75#%-ꢀKUꢀ.QYꢄ  
ꢂꢉꢉ  
#5%+ꢃꢀ  
4GSWGUVꢀVQꢀ  
5GPF  
6JKUꢀRKPꢀKUꢀCꢀIGPGTCNꢌRWTRQUGꢀQWVRWVꢀ  
EQPVTQNNGFꢀD[ꢀCꢀDKVꢀKPꢀ#5%+ꢃ Uꢀ%06.#ꢀTGIKUVGTꢄ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
2 ꢁ&  
6
ꢁꢄꢅ 2 ꢁ&  
ꢁꢈ%  
(WPEVKQP  
5[ODQN  
2KPꢁꢇ  
6[RG  
&GUETKRVKQP  
465#ꢌ$  
ꢇꢏꢅꢀꢁꢂ  
5+1ꢀ4GSWGUVUꢀ 1WVRWVU  
VQꢀ5GPF  
6JGUGꢀRKPUꢀCTGꢀIGPGTCNꢌRWTRQUGꢀQWVRWVUꢀ  
EQPVTQNNGFꢀD[ꢀCꢀDKVꢀKPꢀGCEJꢀ5+1ꢀEJCPPGN Uꢀ  
YTKVGꢀTGIKUVGTꢀꢆꢄꢀ+Pꢀ#U[PEJTQPQWUꢀOQFGꢅꢀCꢀ  
.QYꢌVQꢌ*KIJꢀVTCPUKVKQPꢀKUꢀFGNC[GFꢀWPVKNꢀVJGꢀ  
VTCPUOKVVGTꢀJCUꢀUGPVꢀCNNꢀQHꢀKVUꢀFCVCꢄ  
4:#ꢃꢌꢂ  
4:%#ꢌ$  
ꢂꢉꢎꢅꢀꢂꢉꢁ #5%+ꢀ4GEGKXGꢀ +PRWVU  
&CVC  
#5%+UꢀCUUGODNGꢀUGTKCNꢀTGEGKXGꢀFCVCꢀHTQOꢀ  
VJGUGꢀRKPUꢄ  
ꢇꢂꢅꢀꢁꢆ  
5+1ꢀ4GEGKXGꢀ +PRWVU  
%NQEMU  
6JGꢀ5+1UꢀUCORNGꢀTGEGKXGꢀFCVCꢀQPꢀTKUKPIꢀ  
GFIGUꢀQHꢀVJGUGꢀENQEMUꢄꢀ+Pꢀ#5;0%ꢀOQFGꢅꢀUQHVꢌ  
YCTGꢀRTQITCOUꢀGCEJꢀ5+1ꢀVQꢀFKXKFGꢀKVUꢀENQEMUꢀ  
D[ꢀꢂꢅꢀꢂꢏꢅꢀꢊꢎꢅꢀQTꢀꢏꢉꢄ  
4:&#ꢌ$  
4:5  
ꢇꢃꢅꢀꢁꢏ  
ꢂꢆꢊ  
5+1ꢀ4GEGKXGꢀ +PRWVU  
&CVC  
5+1UꢀCUUGODNGꢀUGTKCNꢀTGEGKXGꢀFCVCꢀHTQOꢀVJGUGꢀ  
RKPUꢄ  
%5+ꢋ1ꢀ  
+PRWV  
%5+ꢋ1ꢀCUUGODNGUꢀUGTKCNꢀTGEGKXGꢀFCVCꢀHTQOꢀVJKUꢀ  
RKPꢄ  
4GEGKXGꢀ&CVC  
56  
ꢉꢊ  
5VCVWU  
1WVRWV  
9KVJꢀ*#.6ꢀCPFꢀ/ꢂꢅꢀVJKUꢀRKPꢀKPFKECVGUꢀVJGꢀ  
EWTTGPVꢀRTQEGUUQTꢀUVCVWUꢈ  
56 *#.6 /ꢂ 5VCVWU  
.
.
.
.
*
*
*#.6ꢀOQFG  
&/#ꢀQRGTCVKQPꢀFWTKPI  
*#.6ꢀOQFG  
.
.
*
*
.
*
(KTUVꢀ1Rꢀ%QFGꢀHGVEJ  
&/#ꢀQRGTCVKQPꢅꢀQT  
ꢂUVꢀ1Rꢀ%QFGꢀHGVEJ  
YKVJ /ꢂ'ꢒꢃ  
*
*
*
.
.
*
.
*
.
&QGUꢀPQVꢀQEEWT  
5NGGRꢀQTꢀ5[UVGOꢀ5VQR  
ꢎPFꢋꢊTFꢀ1Rꢀ%QFG  
HGVEJ  
*
*
*
0QPGꢀQHꢀVJGꢀCDQXGꢅꢀQT  
ꢎPFꢋꢊTFꢀ1Rꢀ%QFG  
HGVEJꢀYꢋ/ꢂ'ꢒꢃ  
5;0%#ꢌ$  
6'0&ꢃꢌꢂ  
ꢍꢁꢅꢀꢁꢍ  
5[PEJTQPK\Cꢌ +PRWVꢋ  
VKQP 1WVRWVU  
6JGꢀHWPEVKQPꢀQHꢀVJGUGꢀRKPUꢀXCTKGUꢀCEEQTFKPIꢀ  
VQꢀVJGꢀQRGTCVKPIꢀOQFGꢀQHꢀGCEJꢀ5+1ꢈ  
#U[PEꢊꢁ)2ꢀKPRWVꢅꢀTGCFCDNGꢀKPꢀ44ꢃꢄ  
'ZVGTPCNꢁ5[PEꢊꢁ.QYꢌCEVKXGꢀ5[PEꢀFGVGEVꢀKPRWVꢅꢀ  
FGNC[GFꢀD[ꢀꢎꢀ4Z%ꢀTKUKPIꢀGFIGU  
1VJGTꢁ5[PEꢈꢀ.QYꢌCEVKXGꢀ5[PEꢀFGVGEVꢀQWVRWV  
ꢂꢆꢏꢌꢂꢆꢍ &/#ꢀ  
1WVRWVUꢅꢀ  
6JGUGꢀQWVRWVUꢀDGEQOGꢀ.QYꢀFWTKPIꢀVJGꢀNCUVꢀ  
6TCPUHGTꢀ'PFꢀ #EVKXGꢀ.QY 9TKVGꢀE[ENGꢀQHꢀGCEJꢀ&/#ꢀDWHHGTꢄꢀ'ZVGTPCNꢀ  
ꢃꢌꢂ  
EKTEWKVUꢀECPꢀWUGꢀVJKUꢀUKIPCNꢀVQꢀFGVGTOKPGꢀ  
YJGPꢀGCEJꢀDWHHGTꢀJCUꢀDGGPꢀEQORNGVGFꢄ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
2 ꢁ&  
6
ꢁꢄꢅ 2 ꢁ&  
ꢁꢈ%  
(WPEVKQP  
6KOGTꢀ1WVRWV 1WVRWV  
5[ODQN  
2KPꢁꢇ  
ꢂꢏꢃ  
6[RG  
&GUETKRVKQP  
6176  
5QHVYCTGꢀECPꢀRTQITCOꢀ246ꢂꢀVQꢀVQIINGꢀVJKUꢀ  
RKPꢅꢀQTꢀHQTEGꢀKVꢀ*KIJꢀQTꢀ.QYꢅꢀYJGPꢀKVꢀJCUꢀ  
FGETGOGPVGFꢀKVUꢀEQWPVGTꢀVQꢀꢃꢄꢀ6JGꢀTGNQCFꢀ  
HGCVWTGꢀECPꢀVJGPꢀDGꢀWUGFꢀVQꢀIGPGTCVGꢀCTDKꢌ  
VTCT[ꢀYCXGHQTOUꢄꢀ6JGꢀOKPKOWOꢀRWNUGꢀYKFVJꢀ  
KUꢀFGVGTOKPGFꢀD[ꢀVJGꢀRTQEGUUQT UꢀTGURQPUGꢀ  
VKOGꢄ  
6:#ꢃꢌꢂ  
6:%#ꢌ$  
ꢂꢉꢂꢅꢀꢂꢉꢇ #5%+ꢀ  
6TCPUOKVꢀ  
&CVC  
1WVRWVU  
#5%+UꢀQWVRWVꢀUGTKCNꢀVTCPUOKVꢀFCVCꢀQPꢀVJGUGꢀ  
RKPUꢄ  
ꢇꢎꢅꢀꢁꢉ  
5+1ꢀ6TCPUOKVꢀ +PRWVU  
%NQEMU  
5+1UꢀEJCPIGꢀVTCPUOKVꢀFCVCꢀQPꢀHCNNKPIꢀGFIGUꢀ  
QHꢀVJGUGꢀRKPUꢄꢀ+Pꢀ#5;0%ꢀOQFGꢅꢀUQHVYCTGꢀECPꢀ  
RTQITCOꢀCPꢀ5+1ꢀVQꢀFKXKFGꢀKVUꢀENQEMUꢀD[ꢀꢂꢅꢀꢂꢏꢅꢀ  
ꢊꢎꢅꢀQTꢀꢏꢉꢄ  
6:&#ꢌ$  
6:5  
8
ꢇꢊꢅꢀꢁꢊ  
ꢂꢆꢎ  
5+1ꢀ6TCPUOKVꢀ 1WVRWVU  
&CVC  
5+1UꢀQWVRWVꢀUGTKCNꢀVTCPUOKVꢀFCVCꢀQPꢀVJGUGꢀ  
RKPUꢄ  
%5+ꢋ1ꢀ6TCPUꢌ 1WVRWV  
OKVꢀ&CVC  
6JGꢀ%5+ꢋ1ꢀQWVRWVUꢀUGTKCNꢀVTCPUOKVꢀFCVCꢀQPꢀVJKUꢀ  
RKPꢄ  
ꢆꢅꢀꢎꢆꢅꢀꢉꢆꢅꢀ 2QYGTꢀ  
ꢏꢆꢅꢀ  
6JGUGꢀRKPUꢀECTT[ꢀRQYGTꢀVQꢀVJGꢀFGXKEGꢄꢀ6JG[ꢀ  
OWUVꢀDGꢀVKGFꢀVQꢀVJGꢀUCOGꢀXQNVCIGꢀGZVGTPCNN[ꢄ  
5WRRN[  
ꢇꢆꢅꢂꢃꢆꢅꢀ  
ꢂꢎꢆꢅꢀꢂꢉꢆ  
8
ꢂꢆꢅ  
ꢍꢆꢅꢀꢂꢂꢆꢅꢀ  
ꢂꢊꢆꢅꢀꢂꢆꢆ  
                
ꢊꢆꢅ  
                  
ꢆꢆꢅꢀ)TQWPF  
6JGUGꢀRKPUꢀCTGꢀVJGꢀXQNVCIGꢀTGHGTGPEGꢀHQTꢀVJGꢀ  
FGXKEGꢅꢀCPFꢀOWUVꢀDGꢀVKGFꢀVQꢀVJGꢀUCOGꢀXQNVCIGꢀ  
GZVGTPCNN[ꢄ  
9ꢋ4&;#ꢌ$  
ꢍꢇꢅꢀꢁꢇ  
5+1ꢀ9CKVꢋ  
4GCF[  
1WVRWVU  
+PRWV  
5QHVYCTGꢀECPꢀRTQITCOꢀGCEJꢀ5+1ꢀVQꢀFTKXGꢀ  
VJGUGꢀNKPGUꢀCUꢀCꢀ9CKVꢀUKIPCNꢀꢐUWKVCDNGꢀHQTꢀ  
EQPPGEVKQPꢀVQꢀVJGꢀ9#+6ꢀRKPꢑꢀQTꢀCꢀ&/#ꢀ  
TGSWGUVꢀUKIPCNꢀꢐUWKVCDNGꢀHQTꢀEQPPGEVKQPꢀVQꢀ  
&4'3ꢃꢌꢂꢑꢄ  
9#+6  
ꢊꢏ  
9CKV  
6JGꢀ<ꢇꢃ5ꢂꢇꢇꢀUCORNGUꢀVJKUꢀKPRWVꢀFWTKPIꢀGCEJꢀ  
DWUꢀE[ENGꢀYKVJꢀCPꢀGZVGTPCNꢀOGOQT[ꢀQTꢀRGTKRJꢌ  
GTCNꢄꢀ+HꢀVJKUꢀNKPGꢀKUꢀ.QYꢅꢀKVꢀGZVGPFUꢀVJGꢀE[ENGꢀD[ꢀ  
QPGꢀ2*+ꢀENQEMꢅꢀWPVKNꢀKVꢀUCORNGUꢀVJKUꢀRKPꢀ*KIJꢅꢀ  
CHVGTꢀYJKEJꢀKVꢀEQPENWFGUꢀVJGꢀE[ENGꢄ  
9&6176  
94  
ꢆꢏ  
9CVEJꢌ&QIꢀ 1RGPꢌFTCKPꢀ 6JGꢀ9CVEJꢌ&QIꢀ6KOGTꢀFTKXGUꢀVJKUꢀRKPꢀ.QYꢀKHꢀKVꢀ  
6KOGTꢀ1WVRWV 1WVRWVꢅꢀ KUꢀGPCDNGFꢀCPFꢀUQHVYCTGꢀJCUꢀHCKNGFꢀVQꢀTGNQCFꢀ  
#EVKXGꢀ.QY KVUꢀEQWPVGTꢅꢀUQꢀVJCVꢀKVꢀJCUꢀEQWPVGFꢀFQYPꢀVQꢀꢃꢄꢀ  
6JKUꢀRKPꢀECPꢀDGꢀEQPPGEVGFꢀVQꢀ4'5'6ꢀQTꢀ0/+ꢅꢀ  
QTꢀWUGFꢀKPꢀUQOGꢀQVJGTꢀYC[ꢄ  
ꢊꢇ  
9TKVGꢀ5VTQDG 1WVRWVꢅꢀ  
94ꢀ.QYꢀKPFKECVGUꢀVJCVꢀVJGꢀRTQEGUUQTꢀKUꢀ  
#EVKXG.QYꢅꢀ YTKVKPIꢀFCVCꢀVQꢀCꢀNQECVKQPꢀKPꢀOGOQT[ꢀQTꢀ+ꢋ1ꢀ  
ꢊꢌ5VCVG  
URCEGꢄꢀ6JGꢀ<ꢇꢃ5ꢂꢇꢇꢀFQGUꢀPQVꢀFTKXGꢀVJKUꢀNKPGꢀ  
YJKNGꢀ4'5'6ꢀQTꢀ$75#%-ꢀKUꢀ.QYꢄ  
ꢂꢃ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
2
ꢀ&  
1
&
6
ꢁꢄꢅ 2 ꢁ&  
ꢁꢈ%  
(WPEVKQP  
%T[UVCN  
5[ODQN  
2KPꢁꢇ  
6[RG  
&GUETKRVKQP  
:6#.  
ꢆꢍ  
+PRWVꢋ  
1WVRWV  
6JKUꢀRKPꢀRTQXKFGUꢀVJGꢀET[UVCNꢀQUEKNNCVQTꢀ  
EQPPGEVKQPꢄꢀ.GCXGꢀVJKUꢀRKPꢀQRGPꢀKHꢀCPꢀGZVGTPCNꢀ  
ENQEMꢀKUꢀWUGFꢀKPUVGCFꢀQHꢀCꢀET[UVCNꢄꢀ6JKUꢀRKPꢀ  
FQGUꢀPQVꢀECTT[ꢀCꢀNQIKEꢀNGXGNꢄꢀꢐ5GGꢀ &%ꢀ%JCTCEꢌ  
VGTKUVKEU ꢀQPꢀRCIG ꢎꢃꢂꢄꢑ  
<%ꢋ61ꢃꢌꢊ  
<%.  
ꢂꢊꢎꢌꢂꢊꢉꢅꢀ %6%ꢀꢃꢀ%QWPVꢋ 1WVRWVUꢅꢀ  
'CEJꢀ%6%ꢀEJCPPGNꢀFTKXGUꢀKVUꢀ<%ꢋ61ꢀRKPꢀ*KIJꢀ  
ꢂꢊꢏ  
6KOGQWV  
#EVKXGꢀ*KIJ HQTꢀꢂꢄꢆꢀ2*+ꢀENQEMUꢅꢀYJGPꢀKVꢀJCUꢀFGETGOGPVGFꢀ  
KVUꢀEQWPVGTꢀVQꢀꢃꢄ  
ꢁꢂ  
<&+ꢀ%NQEM  
+PRWV  
6JKUꢀRKPꢀKUꢀVJGꢀENQEMꢀHQTꢀVJGꢀ<K.1)ꢀ&GDWIIKPIꢀ  
+PVGTHCEGꢄꢀ6JKUꢀKPRWVꢀKPENWFGUꢀCꢀ5EJOKVVꢀ  
VTKIIGTꢄ  
<&#  
ꢁꢃ  
<&+ꢀ&CVC  
+PRWVꢋ  
1WVRWVꢅꢀ  
1RGPꢀ&TCKP  
&CVCꢀHQTꢀVJGꢀ<K.1)ꢀ&GDWIIKPIꢀ+PVGTHCEGꢄꢀ6JKUꢀ  
KPRWVꢀKPENWFGUꢀCꢀ5EJOKVVꢀVTKIIGTꢄ  
12'4#6+10#. &'5%4+26+10  
This section describes, using text, tables, and figures, how the various parts of the  
Z80S188 operate. This description is presented from the processor “outward” to  
the peripherals. In the latter parts of this section, refer to the corresponding part of  
section 4, which describes the Z80S188’s I/O registers. Cross-reference links are  
included in both sections to aid such reference.  
241%'5514ꢁ&'5%4+26+10  
Like the original ZiLOG Z80, the Z80S188 is an 8-bit microprocessor that can  
also perform various 16-bit operations. In both data sizes, the processor includes  
an accumulator. A is the accumulator for 8-bit operations, and the HL register pair  
is the accumulator for 16-bit operations.  
2TQEGUUQTꢁ2TQITCOꢁ4GIKUVGTU  
In addition to A, there are six more 8-bit registers named B, C, D, E, H, and L,  
which can also be operated on as 16-bit register pairs BC, DE, and HL. The Flag  
register F completes the basic register bank.  
Two of these basic register banks are included in all Z80 and Z180 processors.  
high-speed exchange between these banks can be used by a program internally, or  
one bank can be allocated to the mainline program and the other to interrupt  
service routines.  
Finally, two Index registers IX and IY enable base and displacement addressing in  
memory. IX and IY are not included in the register banks on the Z80 and Z180;  
therefore, there is only one copy of each.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢂ  
1
&
2
ꢀ&  
/GOQT[ꢁ/CPCIGOGPVꢁ7PKV  
Add a Memory Management Unit (MMU) that expands the addressing capability  
to 20 bits or 1 Megabyte to the 16-bit, 64-KB memory addressing capability of the  
Z80, Z180 processors other than the Z80S188. With the MMU, the 65K logical  
addressing space can be divided into one to three areas of programmable size and  
location in the 1 Megabyte physical memory space.  
On the Z80S188, this MMU has been extended to 23 bits, or 8 MB.  
+ꢋ1ꢁ5RCEG  
A separate I/O space includes on-chip and off-chip peripheral devices. On the  
Z80, I/O space included 8-bit addresses and 256 bytes. As with memory space, all  
Z180 processors feature an expanded I/O space with 16-bit addresses and 64 KB.  
The Z80S188 includes an extensive set of on-chip peripherals in I/O space, which  
can be augmented by external peripherals.  
2TQEGUUQTꢁ%QPVTQNꢁ4GIKUVGTU  
In addition to the data-oriented registers described above, the Z80S188 processor  
includes several other control registers. Unlike the registers in I/O space that are  
described in section 4, these control registers have no addresses, but are used  
implicitly in certain processor operations.  
2TQITCOꢁ%QWPVGTꢁꢈ2%ꢉꢅꢁThis 16-bit register tracks program execution by the  
processor, which automatically increments PC while fetching instructions. PC is  
stored on the stack when a CALLor RSTinstruction is executed, and when an  
interrupt or Trap occurs. PC is loaded with a new value when a JUMP, CALL, RST,  
or RET instruction is executed, and when an INTERRUPT, TRAP, or RESET  
instruction occurs. The PC then resets to 0000H.  
5VCEMꢁ2QKPVGTꢁꢈ52ꢉꢅꢁThis 16-bit register is decremented by 2, and a 16-bit value is  
stored in memory at this updated address, when a PUSH, CALL, or RST instruction  
is executed, and when an interrupt or Trap occurs. A 16-bit value is fetched from  
memory at the address in SP, and SP is then incriminated by 2, when a POP, RET,  
RETI, or RETN instruction is executed. SP can be stored in memory, loaded from  
memory or another register, or loaded with a constant/immediate value. Its value  
can be added to or subtracted from another register, and it can be incremented or  
decremented. Finally, the 16-bit value in memory, at which SP currently points,  
can be exchanged with the contents of a 16-bit register. The SP resets to 0000H.  
(NCIUꢁꢈ(ꢉꢅꢁThe processor includes two sets of six Flag bits each, named Z (ZERO),  
CF (CARRY), S (SIGN), P/V (PARITY or OVERFLOW), HC (HALF-CARRY) and N  
(ADD/SUBTRACT). It automatically updates certain flags as part of executing  
certain instructions. Subsequent instructions can then use the flags, either as an  
operand (ADC, SBC, DAA), or to determine whether to perform a JUMP, CALL, or  
RET. The flags can be saved on the stack with a PUSH instruction, or restored from  
the stack with a POP. The two sets of Flag registers are paired with the two A accu-  
mulators; the current pair is toggled by the EX AF,AF/ instruction.  
ꢂꢎ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
2
ꢀ&  
1
&
+PVGTTWRVꢁ*KIJꢁ#FFTGUUꢁꢈ+ꢉꢅꢁThe contents of this register are used as the 8 high-  
order address bits, when the processor fetches the address of an interrupt service  
routine from memory, because of an interrupt from the INT1 or INT2 pin, or from  
an on-chip peripheral. Thus, the I register points at a table of interrupt service  
routine addresses, that starts at a 256-boundary in the 64-KB logical address  
space. The I register resets to 00, and can be read or written by the dedicated  
instructions LD A,I and LD I,A.  
4ꢁ%QWPVGTꢁꢈ4ꢉꢅꢁOn the original Z80 this register contained the dynamic RAM  
refresh address, but on Z8018x family processors it contains a count of executed  
Op Code fetch cycles. R resets to 00, and can be read or written by the dedicated  
instructions LD A,R and LD R,A.  
+NNGICNꢁ+PUVTWEVKQPꢁ6TCRU  
Like most processors, the defined instruction set for the 8018x family does not  
fully cover all possible sequences of binary values. The Op Code maps in the  
section“Op Code Map”, on page 193, include numerous blank cells. These cells  
represent Op Code sequences for which no operation is defined, and are  
commonly called illegal instructions.  
When a Z80S188 or other 8018x processor fetches one of these sequences, it  
performs a TRAP operation as follows:  
1. The TRAP bit in the Interrupt/Trap Control register is set to 1.  
2. The UFO bit is cleared to 0 in the Interrupt/Trap Control register if the  
condition is detected while fetching the second byte of the instruction. If it  
detected the condition while fetching the third byte of the instruction, the UFO  
is set to 1.  
3. The SP is decremented by 2 and stores the 16-bit logical address from PC, in  
memory at the new SP value. This address points to the last byte of the illegal  
Op Code sequence.  
4. The PC clears and resumes execution at logical address 0000H.  
6TCRꢁ*CPFNKPIꢅꢁThe code at logical address 0000Hstarts by storing the value of  
SP in memory, and then setting SP to an area of memory dedicated to its stack.  
This step is optional.  
In all cases, the trap handling routine stores as many registers among AF, BC, DE,  
HL, IX, and IY as it uses in subsequent instructions, by pushing them onto the  
stack. A general-purpose routine stores all of these registers, and those in the alter-  
nate set as well, plus I and the state of the Interrupt Enable flag.  
Next, the code must distinguish among four cases that can bring execution to loca-  
tion 0000: RESET, TRAP, an RST 0 instruction, or a program error like a JUMP to  
a null pointer. The code can detect a TRAP by reading the Interrupt/Trap Control  
register (ITC) and checking bit 7(TRAP). If the value of bit 7is 1, a TRAP  
occurred.  
Next, the trap-handling code clears the TRAP bit by setting it to 0. The code then  
fetches the PC value stored on the stack, and examines bit 6of the ITC (UFO). If  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢊ  
1
&
5
ꢀ(  
ꢀ41/ꢀ1  
UFO is 0, the PC value is decremented by 1 so that it points to the start of the  
instruction. If UFO is 1, the value is decremented by 2.  
What the trap handling routine does next depends on the application and the stage  
of its development.  
'ZVGPFKPIꢁVJGꢁ+PUVTWEVKQPꢁ5GVꢅꢁCore software can use illegal instructions as  
extensions to the Z8018x instruction set. To accomplish this, the core software  
fetches and examines the illegal instruction, to determine if it is this type of exten-  
sion. If so, software performs the extended operation that the instruction indicates,  
advances the stacked PC value over the instruction, restores the registers and  
performs a RET to the next instruction.  
'TTQTꢁ/GUUCIGꢁXUꢅꢁ4GUVCTVꢅꢁExcept for these extended instructions, software can  
either signal an illegal instruction and wait for someone to examine the situation  
and restart, or attempt to restart the application immediately. The former course is  
more common in the debugging/development stages of an application. The latter  
may be more appropriate in the production/deployment stage. In the latter case,  
software may log the event for future readout, to a storage medium or just in  
memory.  
5'%74+6;ꢁ('#674'5#0&ꢁ41/ꢁ126+105  
Two types of standard Z80S188s may be made available. On a romless part, on-  
chip RAM is accessible to code in any memory. On-chip ROM is disabled and can  
be emulated by a memory connected to the EV/ROMCS pin. On a monitor part,  
on-chip RAM is accessible to code in any memory, and on-chip ROM contains a  
standard debug monitor.  
Customers submitting a custom ROM code for on-chip ROM can select among  
several ROM options that enhance the security of their products and applications.  
These options are described in the following sections.  
Both standard parts have ROM and RAM Protection disabled and ZDI enabled.  
41/ꢋ41/NGUU  
41/ꢁ2TQVGEV  
This option can selected as enable internal ROM by any customer submitting a  
ROM code.  
At the initial Op Code fetch of each instruction, the Z80S188 determines whether  
the instruction is in on-chip ROM. If this ROM option is selected, the transition  
from executing in other memory, to executing in on-chip ROM can occur only if  
the first on-chip ROM address is 0000,0008,0010,0018,0020,0028,  
0030,0038, or 0066H. If entry to on-chip ROM is attempted at any other  
address, an exception occurs, the PC is stacked, and the ROMEE bit in the Inter-  
rupt/Trap Control register is set. Execution proceeds from location 0000in a  
manner similar to an illegal instruction trap.  
ꢂꢉ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
+
1
&
0
 When this option is selected, interrupt service routines cannot start in on-  
chip ROM.  
4#/ꢁ2TQVGEV  
If this ROM option is selected:  
1. On-chip RAM can only be read and written by instructions in on-chip ROM,  
including: not by a DMA channel, nor by an off-chip master in BUSACK state  
nor EV state. No exception occurs if code located elsewhere attempts to access  
on-chip RAM, but no reading or writing occurs. During production device  
testing, the functionality of on-chip RAM must be verified by a routine in the  
user’s ROM code. Details of how the tester calls this routine will be specified  
at a later date.  
2. On-chip ROM can only be read by instructions in on-chip ROM, unless a  
special pad is contacted by a wafer-level tester probe.  
3. Data is blocked from appearing on the D7-0 pins for cycles in in-chip ROM or  
on-chip RAM.  
4. Execution in on-chip RAM is not allowed. If an Op Code fetch is attempted in  
on-chip RAM, an exception occurs, the PC is stacked, and the RAMEE bit in  
the Interrupt/Trap Control register is set. Execution proceeds from location  
0000in a manner similar to an illegal instruction trap.  
<&+ꢁ'PCDNG  
For secure applications, disable this option. The ZiLOG Debug Interface (ZDI) is  
a built-in interface that can be used with ZiLOG’s Developers’ Studio and poten-  
tially with third-party products, for low-cost emulation facilities. See section  
“ZiLOG Debug Interface”, on page 227, for a description of how to include a  
connector on any application board to enable debugging via the ZDI.  
+06'447265  
ZiLOG Z80 and Z180 processors have a rich legacy of sophisticated interrupt  
capabilities. Because it includes both Z80- and Z80180-compatible peripherals,  
the Z80S188 includes aspects of both families’ interrupt characteristics.  
+PVGTTWRVꢁ4GUQWTEGUꢁKPꢁVJGꢁ<ꢂꢃ5ꢄꢂꢂ  
+'(ꢄꢁCPFꢁ+'(ꢆꢅꢁThese bits are internal to the processor and can only be affected  
and manipulated by certain specific events:  
A Reset clears both IEF1 and IEF2.  
An EI instruction sets both IEF1 and IEF2.  
A DI instruction clears both IEF1 and IEF2.  
An NMI sequence copies IEF1 to IEF2, then clears IEF1.  
A maskable interrupt clears both IEF1 and IEF2.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢆ  
1
&
+
An LD A,I or LD A,R instruction copies IEF2 to the P/V Flag.  
An RETN instruction copies IEF2 to IEF1.  
When IEF1 is 1, RESET and BUSREQ are both High, and no falling edge has  
occurred on NMI, the Z80S188 checks for maskable interrupt requests from  
external pins and on-chip peripherals, as it completes each instruction, or each  
instruction iteration for HALT, the block I/O instructions, block move instructions,  
and block scan instructions.  
6JGꢁ+ꢁ4GIKUVGTꢅꢁThe Z80S188 uses the contents of this register as A15-8 of the  
logical address for fetching interrupt service routine addresses from memory, in  
response to interrupt requests on INT0, INT1, and INT2, and from internal periph-  
erals.  
“Interrupt Registers”, on page 115, describes the other registers associated with  
interrupts:  
6JGꢁ+.ꢁ4GIKUVGTꢅꢁThe Z80S188 uses the three Most Significant (MS) bits of this  
register as A7-5 of the logical address for fetching interrupt service routine  
addresses from memory, in response to interrupt requests on INT1 and INT2, and  
from the ASCIs, PRTs, DMAs, and CSI/O.  
6JGꢁ+PVGTTWRVꢋ6TCRꢁ%QPVTQNꢁ4GIKUVGTꢁꢈ+6%ꢉꢅꢁThe three Least Significant (LS) bits  
of the ITC are individual ENABLE bits for the INT2, INT1, and INT0 pins. They  
reset to 001respectively, so that requests on INT0 can be enabled by an EI  
instruction after Reset, as is the case on the Z80. Other bits in this register identify  
whether a TRAP or security exception has occurred.  
0QPꢀ/CUMCDNGꢁ+PVGTTWRVꢁꢈ0/+ꢉ  
The Z80S188 latches falling edges on the NMI pin. A falling edge clears the DME  
bit in the DMA Status register (DSTAT), thereby disabling the on-chip DMA  
channels. Only a Low on RESET or on BUSREQ take precedence over NMI.  
Unless Reset or BUSREQ is Low, the Z80S188 checks for a falling edge on NMI  
as it completes each instruction (each instruction iteration of HALT, the block I/O  
instructions, block move instructions, and block scan instructions), and performs  
an NMI sequence if a falling edge has occurred.  
An NMI sequence includes four steps:  
1. The Z80S188 copies the state of the IEF1 bit to IEF2.  
2. The IEF1 is cleared to prevent maskable interrupts.  
3. The SP decrements by 2, and stores the logical address in the PC in memory at  
the new address in SP. Typically, this new address is the address of the  
instruction the processor would have executed next, if no interrupt had  
occurred. If the processor was stopped by HALT or SLP, it is the address of  
the next instruction. For an incomplete block transfer, block scan, or block I/O  
instruction, it is the address of the instruction.  
4. The value 0066Hloads into PC, and execution resumes from that logical  
address.  
ꢂꢏ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
+
1
&
0/+ꢁ*CPFNKPIꢅꢁNMI routines fall into two categories, based on whether or not the  
external hardware that drives NMI can produce another falling edge on the pin,  
before the routine completes its execution and returns to the interrupted process.  
Debug monitors, that may display the state of the interrupt process, inherently fall  
into the repeated edge category.  
5KPINGꢁ'FIGꢁ)WCTCPVGGFꢅꢁꢁAn NMI routine in this category is much like any  
other interrupt service routine. The initial option is provided of storing the  
contents of the SP in memory and loading the SP with the address of a memory  
area that is dedicated for its stack. In any case, it store as many of the registers as  
it uses during its execution.  
4GRGCVGFꢁ'FIGꢁ2QUUKDNGꢅꢁAn NMI routine in this category starts with PUSH AF,  
then loads A from a dedicated location in memory that indicates whether the inter-  
rupted process was, in fact, the NMI routine. If this location indicates that it was,  
the routine immediately performs a POP AF and then an RETN instruction to return  
to its former execution.  
If the in NMI location is clear, software sets it to 1. At this point, if the NMI  
routine takes either of the following actions:  
Performs a DI instruction in a save the registers routine that it shares with other  
means of entry, or  
Displays the I register or the interrupt-enable state of the interrupted process, and  
enables a user/programmer to change these (a debug monitor),  
then an LD A,I instruction and another PUSH AF instruction is performed. This  
action stores the I register at the address in SP plus one, and the interrupt enabled  
state (IEF2) in the P/V flag and bit 2of the address in SP. If the NMI routine uses  
a common save the registers subroutine that it shares with other entry points, the  
save subroutine can perform a DI instruction to prevent its being interrupted by  
maskable interrupts.  
The NMI routine can now store SP in a dedicated location in memory, and load SP  
with the address of its dedicated stack area.  
In any case, the NMI routine perform a PUSH instruction to as many other regis-  
ters as it uses. A debug monitor typically performs PUSH instructions to all regis-  
ters in both banks, so that they display.  
4GꢀGPCDNKPIꢁVJGꢁ&/#ꢁEJCPPGNUꢅꢁFairly early in an NMI service routine in an  
application using the DMA channels, software reads the DSTAT register and re-  
enables any DMA operation that was in progress, as described in section “NMI  
and DME”, on page 62.  
'ZKVKPIꢁVJGꢁ0/+ꢁTQWVKPGꢅꢁUpon completion of its processing, an NMI routine  
restores the registers. If the routine used its own stack area, it then restores the SP  
value of the interrupt process. If the routine set an in NMI memory location on the  
way in, this location is cleared.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢍ  
1
&
+
NMI routines that did not save the I register and IEF2 state at the start finish with  
an POP AF and a RETN instruction, which copies the state of IEF2 back into IEF1,  
restoring the interrupt enable state of the interrupted process.  
NMI routines that saved I and IEF2 at the start, finish with a POP AF instruction for  
the saved I register and IEF2 bit, a LD I,A, followed by a JP V to a POP AF, EI, RET  
sequence. If the JP does not occur, it is followed with POP AF, DI instructions if  
one was not performed at the front end, and RET.  
+06ꢃ  
The on-chip PIOs, SIO, and CTC logically OR their interrupt requests with  
external requests on the INT0 pin. The Z80S188 drives INT0 Low in an open-drain  
fashion whenever any of these peripherals requests an interrupt.  
+06ꢃꢁ/QFGUꢅꢁThe Z80S188 can handle interrupts requested by the on-chip PIOs,  
SIO, CTC, or an external device on the INT0 pin, in either of two ways called  
mode 1 or 2. The processor itself has another mode called mode 0, but this mode  
cannot be used with the PIOs, SIO, or CTC. For completeness, this section  
describes all three modes.  
The special instructions IM 0, IM 1, and IM 2 select among these three modes.  
RESET selects mode 0.  
ZiLOG daisy-chainable peripherals, including the on-chip PIOs, SIO, CTC, are  
designed for use in mode 2, although they can also be used in mode 1.  
+PVGTTWRVꢁ#EMPQYNGFIGꢁ&CKU[ꢁ%JCKPKPIꢅꢁZ80 peripherals, including the on-chip  
PIOs, SIO, CTC, use daisy chain signalling to decide amongst themselves, during  
an INT0 interrupt acknowledge cycle, which of them responds to the cycle by  
driving an 8-bit value onto the D7-0 data bus. Some other ZiLOG peripherals,  
including the SCC and USC serial controller families, can also be used in such  
daisy chains.  
Such a daisy chain is illustrated in Figure 3. It implements a relatively fixed prior-  
itization of interrupts among the devices in the chain. The highest-priority device  
among those requesting on INT0 always has its IEI pin High. Its IEO pin is  
connected to the IEI pin of the next-lower-priority INT0 device, and so on through  
all of the INT0 devices. The IEO output of the lowest-priority INT0 device is not  
used.  
+06ꢃ  
+06  
+06  
+06  
*KIJGUV  
2TKQTKV[  
&GXKEG  
/GFKWO  
2TKQTKV[  
&GXKEG  
.QYGUV  
2TKQTKV[  
&GXKEG  
8
+'+  
+'1  
+'+  
+'1  
+'+  
+'1  
(
ꢌꢅ # ꢁ+  
ꢁ#  
ꢁ&  
ꢁ%  
ꢂꢇ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
+
1
&
The Z80S188 has one IEI pin and one IEO pin, and the on-chip PIOs, SIO, and  
CTC are always consecutive in the daisy chain, although their relative priority can  
be programmed using bits 3-0 of the Interrupt Priority Register, which is illus-  
trated on page 118.  
6
ꢁꢆꢅ 4  
ꢁ+  
ꢁ2  
ꢁ2+1 ꢍꢁ5+1ꢍꢁ  
ꢁ%6%  
+0624ꢁꢌꢀꢃ *KIJGUVꢁ2TKQTKV[ ꢆPFꢁ*KIJGUV ꢆPFꢁ.QYGUV  
.QYGUV  
ꢃꢃꢃꢃ  
ꢃꢃꢃꢂ  
ꢃꢃꢂꢃ  
ꢃꢃꢂꢂ  
ꢃꢂꢃꢃ  
ꢃꢂꢃꢂ  
ꢃꢂꢂZ  
ꢂꢃꢃꢃ  
ꢂꢃꢃꢂ  
ꢂꢃꢂꢃ  
ꢂꢃꢂꢂ  
ꢂꢂꢃꢃ  
ꢂꢂꢃꢂ  
ꢂꢂꢂZ  
%6%  
5+1  
%6%  
2+1ꢀ#$  
2+1ꢀ#$  
5+1  
5+1  
%6%  
2+1ꢀ#$  
2+1ꢀ%&  
2+1ꢀ%&  
2+1ꢀ#$  
2+1ꢀ#$  
2+1ꢀ#$  
2+1ꢀ%&  
5+1  
%6%  
2+1ꢀ%&  
2+1ꢀ%&  
2+1ꢀ%&  
5+1  
%6%  
5+1  
%6%  
4GUGTXGF  
%6%  
5+1  
2+1ꢀ#$  
2+1ꢀ#$  
2+1ꢀ#$  
2+1ꢀ#$  
2+1ꢀ#$  
2+1ꢀ#$  
%6%  
5+1  
%6%  
5+1  
%6%  
2+1ꢀ%&  
2+1ꢀ%&  
5+1  
2+1ꢀ%&  
2+1ꢀ%&  
5+1  
%6%  
2+1ꢀ%&  
2+1ꢀ%&  
5+1  
%6%  
4GUGTXGF  
If any external peripherals have higher priority than the on-chip PIOs, SIO, and  
CTC, the IEO pin of the lowest-priority among such device(s) is connected or  
routed to the Z80S188’s IEI pin. If any external peripherals have lower priority  
than the on-chip PIOs, SIO, and CTC, the Z80S188’s IEO pin is connected or  
routed to the IEI pin of the highest-priority among such devices.  
+06ꢃꢁ2TQEGUUQTꢁ4GURQPUGꢅꢁThe Z80S188 performs an INT0 interrupt sequence  
at the end of an instruction (each instruction iteration for HALT, the block I/O  
instructions, block move instructions, and block scan instructions), if all of the  
following are true:  
INT0 is Low,  
Bit 0of the Interrupt/Trap Control register is 1to enable INT0,  
The IEF1 bit is 1, to enable interrupts in general,  
RESET and BUSREQ are both High, and  
A negative edge on NMI has not been detected.  
When all of these conditions occur simultaneously, the Z80S188 responds as  
follows:  
1. The IEF1 and IEF2 flags clear to prevent further interrupts.  
2. M1 goes Low. This signal makes all ZiLOG daisy-chainable peripherals,  
including the on-chip PIOs, SIO, and CTC, halt whether or not they are  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢁ  
1
&
+
requesting an interrupt. This action allows the interrupt acknowledge daisy  
chain to settle and select which Z80 peripheral responds to the cycle.  
3. Several clock cycles pass to allow the daisy chain to settle.  
4. IORQ goes Low. Simultaneous Lows on M1 and IORQ indicate an INT0  
interrupt acknowledge cycle. In response to this condition, the highest-priority  
ZiLOG peripheral that requests an interrupt places an 8-bit value on the D7-0  
data bus.  
5. WAIT is sampled, and the Z80S188 waits until WAIT is High.  
6. The cycle is terminated when M1 becomes High, then IORQ becomes High.  
While all INT0 acknowledge cycles follow this general pattern, they differ as to  
what, if anything, the processor does with the data on D7-0, and what it does after  
the acknowledge cycle. These actions depend on the most recently executed IM  
instruction, if any, as described in the next three sections.  
+06ꢃꢁ/QFGꢁꢃꢅꢁIf no IM instruction was executed since Reset, or if the most  
recently executed IM instruction was IM 0, the Z80S188 completes an INT0  
sequence as illustrated in Figure 4:  
7. The Z80S188 samples D7-0 and interprets the value as an instruction Op Code.  
In this mode, the vector registers of all ZiLOG daisy-chainable peripherals  
must be programmed to provide one of the Reset Op Codes C7, CF, D7, DF, E7,  
EF, F7, or FFH  
0
 The Z80S188 does not automatically stack the contents of the program  
counter during an INT0 Mode 0 interrupt sequence. The only other Op Code that a  
peripheral can return, assuming the interrupted process is to be restarted is a  
CALL instruction DCH. Intel 808x-family interrupt controllers can return a 3-byte  
CALL instruction, but ZiLOG peripherals cannot.  
8. If the Op Code is CALL, the processor fetches two more bytes to complete the  
instruction.  
9. Given that the Op Code is CALL or RST, the processor decrements SP by 2, and  
stores the contents of PC in memory at the new address in SP. Typically, this is  
the address of the instruction the processor would have executed next, if no  
interrupt had occurred. If the processor was stopped by HALT or SLP, this  
address is the address of the next instruction. For an incomplete block transfer,  
block scan, or block I/O instruction, the address is the address of the  
instruction.  
10. If the Op Code was RST, the processor resumes execution at logical address  
0000, 0008, ..., or 0038H. If the Op Code was CALL, it resumes at  
the logical address fetched in step 8.  
In mode 0, each peripheral connected to INT0 must have a register, the contents of  
which is returned on D7-0 when it detects M1 and IORQ Low, an interrupt is  
requested, and the IEI pin is High. Software programs each such register with one  
of the RST Op Codes C7, CF, D7, ..., FFH.  
ꢎꢃ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
+
1
&
0
 The PIO and CTC included in the Z80S188 can only return vectors having  
bit 0equal to 0. Since all of the RST Op Codes have bit 0equal to 1, if interrupts  
are needed from the PIO or CTC, mode 0cannot be used.  
If a peripheral has a feature whereby it can replace the low-order bits of this value  
with a code reflecting its status, this feature must be turned off for mode 0opera-  
tion.  
If the number of devices that can interrupt on INT0 is reasonable, each device can  
have its own RST instruction, which improves interrupt response time by elimi-  
nating the need for the interrupt service routine to poll multiple devices.  
If multiple devices are required to share a RST instruction, the interrupt service  
routine polls these devices in the same priority order that they are arranged on the  
IEIIEO daisy chain. This action is necessary because a ZiLOG peripheral sets the  
IUS bit when it detects M1 and IORQ Low, and it is requesting an interrupt, and the  
IEI pin is High. To insure proper operation of the daisy chain in the future, the  
polling process must lead to servicing the device that performed this process, and  
then clearing the IUS bit either explicitly, or for a Z80 peripheral, by concluding  
the ISR with a RETI instruction.  
.CUVꢀ/%  
+06ꢃꢀCEMPQYNGFIGꢀE[ENG  
456ꢀKPUVTWEVKQPꢀGZGEWVKQP  
2%ꢀKUꢀRWUJGFꢀQPVQꢀUVCEM  
6ꢂ  
6ꢎ  
6Yꢗ 6Yꢗ 6ꢊ  
6K  
6K  
6ꢂ  
6ꢎ  
6ꢊ  
6ꢂ  
6ꢎ  
6ꢊ  
Φ
+06ꢃ  
#ꢃ #ꢂꢁ  
/ꢂ  
/4'3  
4&  
94  
+143  
456ꢀ+PUVTWEVKQP  
&ꢃ &ꢍ  
2%.  
2%*  
/%ꢈꢀ/CEJKPGꢀ%[ENG  
ꢎꢅ +06ꢃꢁ/  
ꢗ6YQꢀYCKVꢀUVCVGUꢀCTGꢀCWVQOCVKECNN[ꢀKPUGTVGFꢄ  
(
ꢁꢃꢁ6  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢎꢂ  
1
&
+
+06ꢃꢁ/QFGꢁꢄꢅꢁThe following steps occur after step 6 of the section“INT0  
Processor Response”, on page 19. If the most recently executed IM instruction  
was IM 1, the Z80S188 completes an INT0 sequence as illustrated in Figure 5:  
1. The data on D70is ignored. Actually, the device proceeds as in mode 0, but  
captured FFHwhich is RST 38.  
2. SP is decremented by 2, and stores the contents of PC in memory at the new  
logical address in SP. Typically, this address is the address of the instruction  
the processor would have executed next, if no interrupt had occurred. If the  
processor was stopped by HALT or SLP, this address is the address of the next  
instruction. For an incomplete block transfer, block scan, or block I/O  
instruction, this address is the address of the instruction.  
3. 0038H loads into PC, and resumes instruction execution from that logical  
address.  
In mode 1, the interrupt service routine is required to poll all of the devices  
connected to INT0, to detect which one generated the interrupt. If any ZiLOG  
peripherals, including the on-chip PIOs, SIO, or CTC, can request an interrupt,  
this polling must be done in the same priority order that the devices are arranged  
on the IEIIEO daisy chain. This poll is required because a ZiLOG peripheral sets  
the IUS bit when it detects M1 and IORQ Low, an interrupt is requested, and the IEI  
pin is High, regardless of the processor’s IM status.  
To insure proper operation of the daisy chain in the future, the polling process  
must lead to servicing the device that set the IUS bit, and clearing that bit either  
explicitly, or for a Z80 peripheral by concluding the ISR, with a RETI instruction.  
Probably the best way to insure this is by actually polling the IUS bits, for devices  
that allow them to be read.  
ꢎꢎ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
+
1
&
6ꢂ 6ꢎ 6Yꢗ 6Yꢗ 6ꢊ 6ꢂ 6ꢎ 6ꢊ 6ꢂ 6ꢎ 6ꢊ 6ꢂ 6ꢎ  
6ꢊ  
Φ
+06ꢃ  
2%  
52ꢌꢂ  
ꢃꢃꢊꢇ*  
#ꢃ #ꢂꢁ  
/ꢂ  
52ꢌꢎ  
/4'3  
+143  
4&  
94  
&ꢃ &ꢍ  
56  
2%.  
2%*  
ꢗ6YQꢀYCKVꢀUVCVGUꢀCTGꢀCWVQOCVKECNN[ꢀKPUGTVGFꢄ  
(
ꢏꢅ +06ꢃꢁ/  
ꢁꢄꢁ6  
+06ꢃꢁ/QFGꢁꢆꢅꢁThe following steps occur after step 6 of the section “INT0  
Processor Response”, on page 19. If the most recently executed IM instruction  
was IM 2, the Z80S188 completes an INT0 sequence as illustrated in Figure 6:  
1. The IEF1 and IEF2 flags clear to prevent further interrupts.  
2. M1 goes Low. This signal makes all ZiLOG daisy-chainable peripherals,  
including the on-chip PIOs, SIO, and CTC, halt whether or not they are  
requesting an interrupt. This action allows the interrupt acknowledge daisy  
chain to settle and select which Z80 peripheral responds to the cycle.  
3. Several clock cycles pass to allow the daisy chain to settle.  
4. IORQ goes Low. Simultaneous Lows on M1 and IORQ indicate an INT0  
interrupt acknowledge cycle. In response to this condition, the highest-priority  
ZiLOG peripheral that requests an interrupt places an 8-bit value on the D7-0  
data bus.  
5. WAIT is sampled, and the Z80S188 waits until WAIT is High.  
6. The cycle is terminated when M1 becomes High, then IORQ becomes High.  
7. The IEF1 and IEF2 flags clear to prevent further interrupts.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢎꢊ  
1
&
+
8. M1 goes Low. This signal makes all ZiLOG daisy-chainable peripherals,  
including the on-chip PIOs, SIO, and CTC, halt whether or not they are  
requesting an interrupt. This action allows the interrupt acknowledge daisy  
chain to settle and select which Z80 peripheral responds to the cycle.  
9. Several clock cycles pass to allow the daisy chain to settle.  
10. IORQ goes Low. Simultaneous Lows on M1 and IORQ indicate an INT0  
interrupt acknowledge cycle. In response to this condition, the highest-priority  
ZiLOG peripheral that requests an interrupt places an 8-bit value on the D7-0  
data bus.  
11. WAIT is sampled, and the Z80S188 waits until WAIT is High.  
12. The cycle is terminated when M1 becomes High, then IORQ becomes High.  
13. The data is captured from D7–0. D0 of this byte must be Low/0 for correct  
operation.  
14. SP decrements by 2, and stores the contents of PC in memory at the new logical  
address in SP. Typically, this address is the address of the instruction the  
processor would have executed next, if no interrupt had occurred. If the  
processor was stopped by HALT or SLP, this address is the address of the next  
instruction. For an incomplete block transfer, block scan, or block I/O  
instruction, this address is the address of the instruction.  
15. The contents of the I register are placed on A15–8, and the value captured in  
step 7on A7–0, and fetches the LS byte of an interrupt service routine address  
from memory at that address.  
16. A0 goes High/1, and fetches the MS byte of the interrupt service routine  
address from memory at that address.  
17. Execution resumes at the logical address fetched in steps 9-10.  
In mode 2, each peripheral connected to INT0 requires an Interrupt Vector  
Register, the contents of which is returned when M1 and IORQ Low are detected,  
an interrupt is requested, and the IEI pin is High. Software can program any of  
these registers with any even binary value.  
If a peripheral has a feature whereby it can replace the low-order bits of this value  
with a code reflecting its status, this feature can be enabled in mode 2, in which  
case the peripheral occupies more than one slot in the interrupt vector table. Such  
status affects vector or vector includes status features can improve interrupt  
response time, by reducing the amount of status-polling that the interrupt service  
routine must do, to identify the exact cause of the interrupt.  
+PVGTTWRVꢁ*CPFNKPIꢅꢁAny interrupt service routine has the initial option of saving  
the contents of SP in memory, and loading SP with the address of a memory area  
that is dedicated to its stack. Most interrupt service routines do not function in this  
manner.  
If the application includes a mechanism for allowing nested interrupts, the ISR can  
begin as specified by that mechanism, leading to an IE instruction that allows the  
ꢎꢉ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
+
1
&
1Rꢀ%QFG  
.CUVꢀ/%  
+06ꢃꢀ#EMPQYNGFIGꢀ%[ENG  
2%ꢀKUꢀRWUJGFꢀQPVQꢀUVCEM  
(GVEJꢀ%[ENG  
8GEVQTꢀNQYGT  
CFFTGUUꢀTGCF  
+PVGTTWRVꢀOCPKRWNCVKQPꢀE[ENG  
6ꢂ 6ꢎ 6Y6Yꢗ6ꢊ 6K 6ꢂ 6ꢎ 6ꢊ 6ꢂ 6ꢎ 6ꢊ  
6ꢂ 6ꢎ 6ꢊ 6ꢂ 6ꢎ 6ꢊ 6ꢂ 6ꢎ 6ꢊ  
Φ
+06ꢃ  
#ꢃ #ꢂꢁ  
/ꢂ  
/4'3  
+143  
4&  
94  
.QYGTꢀXGEVQT  
2%.  
&ꢃ &ꢍ  
56  
2%*  
ꢗ6YQꢀYCKVꢀUVCVGUꢀCTGꢀCWVQOCVKECNN[ꢀKPUGTVGFꢄ  
ISR to be interrupted by other interrupts. Most Z80S188 applications do not func-  
tion in this manner.  
The ISR reads status registers from each of the devices that can request the inter-  
rupt, to identify the exact causes of the interrupt. The ISR then processes this  
device(s) according to their design, and the application design.  
1Rꢀ%QFG  
.CUVꢀ/%  
+06ꢃꢀ#EMPQYNGFIGꢀ%[ENG  
2%ꢀKUꢀRWUJGFꢀQPVQꢀUVCEM  
(GVEJꢀ%[ENG  
8GEVQTꢀNQYGT  
CFFTGUUꢀTGCF  
+PVGTTWRVꢀOCPKRWNCVKQPꢀE[ENG  
6ꢂ 6ꢎ 6Y6Yꢗ6ꢊ 6K 6ꢂ 6ꢎ 6ꢊ 6ꢂ 6ꢎ 6ꢊ  
6ꢂ 6ꢎ 6ꢊ 6ꢂ 6ꢎ 6ꢊ 6ꢂ 6ꢎ 6ꢊ  
Φ
+06ꢃ  
#ꢃ #ꢂꢁ  
/ꢂ  
/4'3  
+143  
4&  
94  
NQYGTꢀXGEVQT  
2%.  
&ꢃ &ꢍ  
56  
2%*  
ꢗ6YQꢀYCKVꢀUVCVGUꢀCTGꢀCWVQOCVKECNN[ꢀKPUGTVGFꢄ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢎꢆ  
1
&
+
(
ꢐꢅ +06ꢃꢁ/  
ꢁꢆꢁ6  
Many ISRs read data from the interrupting devices, or write data to them. In addi-  
tion or alternatively, the ISRs may write commands to, or registers in the device,  
to modify its mode, status, or operation in the future.  
When all of the work of the ISR is complete, if nested interrupts are allowed, the  
ISR terminates as specified by the nesting mechanism. If not, an ISR concludes  
with an EI instruction followed by RET or RETI.  
Interrupt service routines for Z80 peripherals, including the on-chip PIOs, SIO, or  
CTC, terminate with a RETI instruction. As described in the next section, Z80  
peripherals monitor the bus for these instructions, and clears the internal Interrupt  
Under Service (IUS) status if one is detected. The IEI status indicates the ISRs are  
the highest-priority device currently under service.  
ISRs for non-Z80 peripherals must clear the device’s IUS bit explicitly. These  
devices terminate with RET rather than RETI for two reasons:  
If nested interrupts are allowed, and the interrupted process was an ISR for a Z80  
peripheral, RETI clears that device’s IUS bit, inappropriately.  
RET is both shorter and faster than RETI, and features the same function as for a  
non-Z80 peripheral.  
4'6+ꢁ+PUVTWEVKQPU  
An interrupt service routine for a Z80 peripheral, including the on-chip PIOs, SIO,  
and CTC, terminates with an RETI instruction. To the processor, RETI features the  
same functionality as RET, but Z80 peripherals monitor the D7–0 lines, M1, and  
RD, and detect when the processor is fetching an RETI.  
If a Z80 peripheral detects an RETI, has its INTERRUPT UNDER SERVICE (IUS)  
bit set, and its IEI pin is High, the interrupt service routine for this peripheral is  
terminating. The peripheral clears the IUS bit. This action allows subsequent inter-  
rupts from this device, or from lower-priority device on the daisy chain.  
The original Z80 processor took four clock cycles to fetch an Op Code, and some  
Z80 peripherals built this timing into their logic for detecting RETI instructions. If  
the Z80S188 is fetching instructions from a zero-wait-state memory, it fetches  
Op Codes using three-clock cycles, which can interfere with RETI detection by  
external Z80 peripherals.  
The Operating Mode Control Register, described on page 114, includes several  
bits that affect the Z80S188’s compatibility with external Z80 peripherals.  
$KVꢁꢑꢁꢈ/ꢄ'ꢉꢅꢁIf this bit is 1, as it is after a Reset, the Z80S188 drives M1 Low  
when it fetches instruction Op Codes, as well as during INT0 and NMI acknowl-  
edge cycles. Use this setting if the only Z80 peripherals in the system are the on-  
chip PIOs, SIOs, and CTCs, and/or if all instructions are fetched from memory  
with one or more wait states.  
0
ꢎꢏ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
+
1
&
1. The on-chip PIOs, SIO, and CTC can detect RETI instructions that are fetched  
using three-clock bus cycles.  
2. Older members of the Z8018x family refetched an RETI instruction in this mode,  
which corrupt the daisy chain by clearing two IUS bits. The Z80S188, like other  
recent members of the Z8018x family, does not function in this manner.  
If software writes a 0to M1E, the Z80S188 does not drive M1 Low while fetching  
instruction Op Codes. If an RETI instruction is detected, the device refetches the  
RETI instruction, driving M1 Low and using at least four clocks per bus cycle. Use  
this setting if there are external Z80 peripherals and zero-wait-state instruction  
memory in the system. Figure 7 illustrates operation of RETI when M1E is 0.  
$KVꢁꢐꢁꢈ/ꢄ6'ꢉꢅꢁIf software writes a 0to this bit, the Z80S188 drives M1 Low as it  
fetches the next Op Code, regardless of the state of M1E. This capability is needed  
after enabling interrupts on a PIO (external or onchip) with M1E 0, because the  
PIO does not actually enable the interrupt request until it detects M1 Low.  
M1TE resets to 1, always reads as 1, and is cleared to 1after the next Op Code is  
fetched.  
Φ
(
ꢑꢅ 4'6+ꢁ+  
ꢁ/ꢄ'ꢒꢃ  
+06ꢄꢁCPFꢁ+06ꢆ  
The Z80S188 performs an INT1 or INT2 interrupt sequence at the end of an  
instruction (each instruction iteration for HALT, the block I/O instructions, block  
move instructions, and block scan instructions), if all of the following are true:  
INT1 or INT2 is Low,  
Bit 2or 1of the Interrupt/Trap Control register (ITC) is 1to enable this pin (if  
both pins are enabled and Low, INT1 takes precedence over INT2)  
The IEF1 bit is 1, to enable interrupts in general  
INT0 is High or bit 0of the ITC is 0,  
RESET and BUSREQ are both High, and  
A negative edge on NMI has not been detected  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢎꢍ  
1
&
+
When all of these conditions occur simultaneously, the Z80S188 responds as  
follows:  
1. The IEF1 and IEF2 pins are cleared to prevent further interrupts.  
2. SP decrements by 2, and stores the contents of PC in memory at the new  
address in SP. Typically, this address is the address of the instruction the  
processor would have executed next, if no interrupt had occurred. If the  
processor was stopped by HALT or SLP, this address is the address of the next  
instruction. For an incomplete block transfer, block scan, or block I/O  
instruction, this address is the address of the instruction.  
3. A logical memory address is formed using the contents of the I register as  
A15–8, the three LS bits of the IL register as A7–5, and 0as A4–0 for INT1 or  
2in A4–0 for INT2.  
4. A 16-bit logical address is fetched from memory at that logical address, loaded  
into PC, and resumes instruction execution from there.  
+06ꢄꢀꢆꢁ*CPFNKPIꢅꢁAll of the considerations noted in the “Interrupt Handling”, on  
page 24 for INT0, also apply to ISRs for INT1 and INT2. If there is more than one  
device that can drive INT1 or INT2 Low, the interrupt service routine for that pin  
must poll all the devices connected to that pin, to determine which of them caused  
the interrupt.  
#5%+ꢍꢁ246ꢍꢁ&/#ꢍꢁ%5+ꢋ1ꢍꢁCPFꢁ<&+ꢁ+PVGTTWRVU  
The Z80S188 performs an interrupt sequence for one of these devices, at the end  
of an instruction (each instruction iteration for HALT, the block I/O instructions,  
block move instructions, and block scan instructions), if all of the following are  
true:  
An interrupting condition in the device has occurred  
That condition is interrupt-enabled in the device’s registers  
The IEF1 bit is 1, to enable interrupts in general  
No higher-priority internal device is requesting an interrupt (see Table 3 for the  
relative priorities of the devices)  
Neither INT1 nor INT2 is enabled and Low  
INT0 is High or bit 0of the ITC is 0  
RESET and BUSREQ are both High  
A negative edge on NMI has not been detected  
When all of these conditions occur simultaneously, the Z80S188 responds as  
follows:  
1. The IEF1 and IEF2 flags are cleared to prevent further interrupts.  
2. SP decrements by 2, and stores the contents of PC in memory at the new  
address in SP. This address is the address of the instruction the processor would  
have executed next, if no interrupt had occurred. If the processor was stopped  
ꢎꢇ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
/
ꢀꢐ41/ꢀ  
ꢀ4#/ꢑ  
1
&
by HALT or SLP, this address is the address of the next instruction. For an  
incomplete block transfer, block scan, or block I/O instruction, this address is  
the address of the instruction.  
3. A logical memory address is formed using the contents of the I register as  
A15–8, the three LS bits of the IL register as A7–5, and the value  
corresponding to the interrupting device (see Table 3) as A4–0.  
4. A 16-bit logical address is fetched from memory at that logical address, loaded  
into PC, and resumes instruction execution from there.  
1Pꢀ%JKRꢁ+PVGTTWRVꢁ*CPFNKPIꢅꢁThe only difference between handling an ASCI,  
PRT, DMA, CSI/O, or ZDI interrupt, and the considerations noted in “Interrupt  
Handling”, on page 24 for INT0, are that the ISR for an on-chip device never  
needs to differentiate among several devices connected to an INT pin.  
6
ꢁꢌꢅ +0  
ꢁ1  
ꢁ# ꢁ2  
&GXKEG  
2TKQTKV[  
#ꢎꢀꢃꢁ1HHUGV  
+06ꢂꢀRKP  
+06ꢎꢀRKP  
246ꢃ  
JKIJGUV  
246ꢂ  
&/#ꢃ  
&/#ꢂ  
%5+ꢋ1  
#5%+ꢃ  
#5%+ꢂ  
ꢂꢃꢀꢒꢀꢃ#*  
ꢂꢎꢀꢒꢀꢃ%*  
ꢂꢉꢀꢒꢀꢃ'*  
ꢂꢏꢀꢒꢀꢂꢃ*  
ꢂꢇꢀꢒꢀꢂꢎ*  
<K.1)ꢀ&GDWIꢀ+PVGTHCEGꢀꢐ<&+ꢑ  
NQYGUV  
0
XCNWG  
ꢊꢁFGXKEGUꢀCTGꢀQTFGTGFꢀKFGPVKECNN[ꢀYKVJꢀTGURGEVꢀVQꢀKPVGTTWRVꢀRTKQTKV[ꢀCPFꢀQHHUGVꢀ  
/'/14;ꢁꢈ41/ꢁ#0&ꢁ4#/ꢉ  
The Z80S188 includes a 64-KB logical memory space in which software operates,  
and an 8-MB physical memory address space in which on-chip and external  
memory reside. The Memory Management Unit (MMU) translates 16-bit logical  
addresses to 23-bit physical addresses dynamically, as part of each memory  
access.  
/GOQT[ꢁ5VTWEVWTG  
On the Z80S188, memory is divided into five categories:  
4-KB of on-chip ROM, or an external EPROM connected to ROMCS  
1-KB of on-chip RAM  
External memory connected to MEMCS0,  
External memory connected to MEMCS1  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢎꢁ  
1
&
/
ꢀꢐ41/ꢀ  
ꢀ4#/ꢑ  
External memory using off-chip decoding  
Table 29 describes the On-chip Memory Control Register (OCMCR), which  
controls whether on-chip RAM, and either on-chip ROM on a masked part, or the  
ROMCS output on an unmasked part, are enabled.  
If on-chip ROM (or the ROMCS output) is enabled, physical addresses 000000-  
000FFFHbecome Low. If on-chip RAM is enabled, it occupies addresses  
00FC00-0FFFFH or 7FFC00-7FFFFFH, depending on bit 6 of the OCMCR.  
Reset enables on-chip RAM, and on-chip ROM or the ROMCS output at  
00FC00-00FFFFH.  
Tables 42 through 45 describe the Memory Chip Select High and Low Registers  
for the MEMCS0 and MEMCS1 pins. If the Size/Enable field of a pin’s Low  
Register are 0000H, the pin remains High, and any memory connected to this pin  
is disabled. For MEMCS0, this field resets to 1001Hand the comparison bits  
reset to all 0s, so that MEMCS0 is Low for addresses 001000-007FFFH.For  
MEMCS1, the Size/Enable field resets to 0001H, so that MEMCS1 is Low for  
addresses 008000-00FB00Hand 010000-7FFFFFH.  
For each pin, software can select any number of high-order address lines, from  
A22 through A13, to be compared for equality against a programmed value. Each  
pin can become Low for any block of contiguous addresses between 8 KB and 4  
MB in length, starting at a multiple of that length. Alternatively, software can  
select the entire 8-MB address range for a pin.  
If the ranges for MEMCS0 and MEMCS1 overlap, MEMCS0 takes precedence in  
the region of overlap.  
When programming any of these registers, software must not disable or change  
the mapping of the addresses where the affected code sequence is located.  
#FFTGUUKPIꢁ/QFGU  
This term traditionally means how an instruction can specify a memory address.  
For the Z80S188 these include:  
4GNCVKXGꢁ#FFTGUUKPIꢅꢁJR and DJNZ instructions include a signed 8-bit displace-  
ment that specifies a range of addresses -126 to +129 from the Op Code, to which  
program control can be transferred.  
&KTGEVꢁ#FFTGUUKPIꢅꢁIn this mode, instructions include a 16-bit logical address.  
4GIKUVGTꢁ+PFKTGEVꢁ#FFTGUUKPIꢅꢁThe address is taken from one of the register pairs  
BC, DE or HL.  
+PFGZGFꢁ#FFTGUUKPIꢅꢁIn this mode, instructions include an 8-bit signed displace-  
ment from the address in an index register IX or IY.  
Other contexts in which memory is accessed include instruction fetching, inter-  
rupts, DMA operations, cycles generated by external masters while BUSACK is  
Low, and possibly DRAM Refresh cycles.  
ꢊꢃ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
/
ꢀꢐ41/ꢀ  
ꢀ4#/ꢑ  
1
&
/GOQT[ꢁ/CPCIGOGPVꢁ7PKVꢁꢈ//7ꢉ  
The MMU translates the 16-bit addresses used by software, called logical  
addresses, into 20- or 23-bit physical addresses, as part of all memory accesses  
performed by the processor. It has no effect on accesses performed by the DMA  
channels, which include 23-bit address registers. It also has no effect on addresses  
in I/O space, which always have A22-16 all 0.  
The MMU resets to a state in which it has no effect on addresses in processor  
cycles, passing A15-0 through without change and keeping A22-16 all 0. If an  
application requires 64 KB of memory or less, the MMU is not necessary.  
Even when the MMU has been programmed to do active address transaction, it  
passes A11-0 (or A9-0 depending on its operating mode) from the logical to the  
physical address without change. In other words, it manages memory in 4-KB (or  
1-KB) byte blocks.  
The Z80S188’s MMU can operate in either of two modes: Classic and Extended.  
Reset selects Classic mode, in which the MMU registers at I/O addresses 0038-  
003AHhave the same functionality as on the Z80180 and other 8018x family  
members (introduced before the Z80S188). This mode is limited to a 1-MB  
address space, and manages memory in 4-KB blocks.  
By executing three specific I/O operations in succession:  
1. IN from 003BH  
2. IN from 003DH  
3. OUT to 003CH  
software selects the EXTENDED mode of MMU operation.  
Extended mode expands the physical memory address space to 8 MB, and reduces  
the unit of memory management to 1-KB blocks. The I/O registers at 0038-003H  
operate differently, and are augmented by additional registers at 003B-003H  
0
1. The Out operation (step 3, previously) does not actually write the register  
at 00CH.  
2. Changing from Classic to Extended mode does not change the memory  
mapping in effect. Instead, the contents of registers 0038-003AHare  
rearranged to reflect the new mode.  
3. Software selects Extended mode as part of device initialization, before  
interrupts are enabled. When interrupts are enabled, the software guaran-  
tees that the three I/O instructions are consecutive by performing them  
between DI and EI instructions.  
4. Software can change back from Extended to Classic mode by using the  
sequence IN from 003BH, IN from 003DH, IN from 003CH.  
“MMU Registers”, on page 118, describes the registers associated with the MMU.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢊꢂ  
1
&
/
ꢀꢐ41/ꢀ  
ꢀ4#/ꢑ  
%NCUUKEꢁ/QFGꢁ1RGTCVKQPꢅꢁIn Classic mode, the MMU compares bits 15-12of  
each logical address to two 4-bit fields in its Common Base Address Register  
(CBAR), in an unsigned manner.  
If bits 15-12of a logical address are less than the value in bits 3-0 of the CBAR,  
the MMU considers the address to be in Common Area 0. For these addresses, the  
MMU passes bits 15-12to the A15-12 pins unchanged, and drives A22-16 all  
0s.  
If bits 15-12of a logical address are greater than or equal to the value in bits 3-  
0 of the CBAR, but are less than the value in bits 7-4of the CBAR, the MMU  
considers the address to be in the Bank Area. For these addresses, the MMU adds  
the value in its 8-bit Bank Base Register (BBR) to bits 15-12of the logical ad-  
dress, and outputs the 8-bit sum on A19-12 with A22-20 all 0s.  
If bits 15-12of a logical address are greater than or equal to the value in bits 7-  
4 of the CBAR, it considers the address to be in Common Area 1. For these ad-  
dresses, the MMU adds the value in its 8-bit Common Base Register (CBR) to bits  
15-12of the logical address, and outputs the 8-bit sum on A19-12 with A22-20  
all 0s.  
0
 In Classic mode, software must not program the value in bits 7-4of the  
CBAR to be less than the value in bits 3-0of the CBAR.  
'ZVGPFGFꢁ/QFGꢁ1RGTCVKQPꢅꢁIn Extended mode, the MMU compares bits 15-10  
of each logical address to bits 7-2of its Bank Area Register (BAR) and Common  
Area Register (CAR), in an unsigned manner.  
If bits 15-10of a logical address are less than the value in bits 7-2 of the BAR,  
the MMU considers the address to be in Common Area 0. For these addresses, the  
MMU passes bits 15-10to the A15-10 pins unchanged, and drives A22-16 all  
0s.  
If bits 15-10of a logical address are greater than or equal to the value in bits 7-  
2of the BAR, but are less than the value in bits 7-2of the CAR, the MMU con-  
siders the address to be in the Bank Area. For these addresses, the MMU adds the  
13-bit value in its Bank Base Registers High and Low (BBRH and BBRL) to bits  
15-10of the logical address, and outputs the 13-bit sum on A22-10.  
If bits 15-10of a logical address are greater than or equal to the value in bits 7-  
2 of the CAR, it considers the address to be in Common Area 1. For these address-  
es, the MMU adds the 13-bit value in its Common Base Registers High and Low  
(CBRH and CBRL) to bits 15-10of the logical address, and outputs the 13-bit  
sum on A22-10.  
0
 In Classic mode, the value in bits 7-2 of the CAR must not be  
programmed to be less than the value in bits 7-2of the BAR.  
//7ꢁ%QPHKIWTCVKQPUꢅꢁIn the general case, the MMU divides the 64-KB logical  
memory space into three parts, with Common Area 0 always located at the start of  
the physical address space, and the Bank Area and Common Area 1 relocatable to  
other parts of the physical address space, by the values in the Bank Base Register  
and Common Base Register, respectively.  
ꢊꢎ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
/
ꢀꢐ41/ꢀ  
ꢀ4#/ꢑ  
1
&
Certain combinations of values in the CBAR in Classic mode [or BAR and CAR  
in Extended mode] result in the logical address space being divided into fewer  
active areas:  
If the CBAR [or BAR and CAR] contains all 0s, all logical addresses fall into  
Common Area 1, and are relocated to a contiguous 64-KB area starting at the  
address in the CBR times 4096 [or the value in CBRH6-0 and CBRL7-2, times  
1024].  
If CBAR3-0 are 0but CBAR7-4 are non-0[or bits 7-2of the BAR are 0but bits  
7-2of the CAR are non-0], the Bank Area and Common Area 1 are active.  
Logical addresses less than (CBAR7-4)*4096, or (CAR7-2)*1024are relo-  
cated by the Bank Base Register, while other addresses are related by the  
Common Base Register.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢊꢊ  
1
&
/
ꢀꢐ41/ꢀ  
ꢀ4#/ꢑ  
If BAR7-2 and CAR7-2 are equal and not 0, Common Area 0 and Common Area  
1 are active. Logical addresses less than (CBAR3-0)*4096, or (BAR7-  
2)*1024are not relocated, and map to the start of physical memory. Other  
addresses are relocated by the Command Base register.  
6JGꢁ//7ꢁ#HVGTꢁ4GUGVꢅꢁSince the MMU resets to Classic mode and the CBAR  
resets to 11110000, logical addresses 0000-EFFFHare in the Bank Area and  
F000-FFFFHare in Common Area 1. But since the BBR and CBR both reset to  
0, the MMU passes all logical addresses through without change, with A22-16 all  
0s.  
1Pꢀ%JKRꢁ41/ꢁQTꢁ41/%5ꢁ&GXKEG  
Bit 5in the On-Chip Memory Control Register (page 115) controls whether phys-  
ical addresses 00000-00FFFHaccess external memory, vs. on-chip ROM on a  
masked part, or memory connected to the ROMCS pin on an unmasked part. If  
this bit is 1, as it is after a Reset, on-chip ROM or ROMCS is enabled.  
1Pꢀ%JKRꢁ4#/  
Bits 7-6in the On-Chip Memory Control register (page 115) control processor  
access to on-chip RAM.  
If bit 7is 0, on-chip RAM is disabled.  
If bits 7-6are 10, as they are after a reset, on-chip RAM does not decode A22-16  
of physical addresses, and responds to all physical addresses having A15-11 all 1,  
which we might call addresses xxF800Hthrough xxFFFFH.  
If bits 6-5are 11, on-chip RAM responds to physical addresses with A22-11 all  
1: addresses 7FF800-7FFFFFH.  
'ZVGTPCNꢁ/GOQT[ꢁ7UKPIꢁ/'/%5ꢃꢀꢄ  
Tables 42-45 on pages 123-126 describe the registers for the Memory Chip Select  
and Wait block. For each pin there is a high and a low register.  
5K\Gꢋ'PCDNGꢁ(KGNFꢅꢁBits 5-2of each Low Register are the Size/Enable field. Table  
4 describes the possible values of this field.  
In all cases, if the address ranges for MEMCS0 and MEMCS1 overlap, MEMCS0  
is Low and MEMCS1 is High for addresses in the region of overlap.  
ꢊꢉ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
/
ꢀꢐ41/ꢀ  
ꢀ4#/ꢑ  
1
&
6
ꢁꢎꢅ 5 ꢋ'  
ꢁ8  
ꢁ/  
ꢃꢀꢄ  
5K\Gꢋ  
'PCDNG  
5VCVGꢁQHꢁ/'/%5ꢁ2KP  
ꢃꢃꢃꢃ  
*KIJꢀꢐFKUCDNGFꢑ  
ꢃꢃꢃꢂ  
ꢃꢃꢂꢃ  
ꢃꢃꢂꢂ  
ꢃꢂꢃꢃ  
ꢃꢂꢃꢂ  
ꢃꢂꢂꢃ  
ꢃꢂꢂꢂ  
ꢂꢃꢃꢃ  
ꢂꢃꢃꢂ  
ꢂꢃꢂꢃ  
ꢂꢃꢂꢂ  
ꢂꢂZZ  
.QYꢀꢐGPCDNGFꢅꢀGZEGRVꢀ/'/%5ꢂꢀYJGPꢀ/'/%5ꢃꢀKUꢀ.QYꢑ  
.QYꢀYJGPꢀ#ꢎꢎꢀꢒꢀJKIJꢀTGIꢀDKVꢀꢍꢀꢐꢉꢀ/$ꢀRCTVKVKQPꢑ  
.QYꢀYJGPꢀ#ꢎꢎꢌꢎꢂꢀꢒꢀJKIJꢀTGIꢀDKVUꢀꢍꢌꢏꢀꢐꢎꢀ/$ꢀRCTVKVKQPꢑ  
.QYꢀYJGPꢀ#ꢎꢎꢌꢎꢃꢀꢒꢀJKIJꢀTGIꢀDKVUꢀꢍꢌꢆꢀꢐꢂꢀ/$ꢀRCTVKVKQPꢑ  
.QYꢀYJGPꢀ#ꢎꢎꢌꢂꢁꢀꢒꢀJKIJꢀTGIꢀDKVUꢀꢍꢌꢉꢀꢐꢆꢂꢎ-ꢀRCTVKVKQPꢑ  
.QYꢀYJGPꢀ#ꢎꢎꢌꢂꢇꢀꢒꢀJKIJꢀTGIꢀDKVUꢀꢍꢌꢊꢀꢐꢎꢆꢏ-ꢀRCTVKVKQPꢑ  
.QYꢀYJGPꢀ#ꢎꢎꢌꢂꢍꢀꢒꢀJKIJꢀTGIꢀDKVUꢀꢍꢌꢎꢀꢐꢂꢎꢇ-ꢀRCTVKVKQPꢑ  
.QYꢀYJGPꢀ#ꢎꢎꢌꢂꢏꢀꢒꢀJKIJꢀTGIꢀDKVUꢀꢍꢌꢂꢀꢐꢏꢉ-ꢀRCTVKVKQPꢑ  
.QYꢀYJGPꢀ#ꢎꢎꢌꢂꢆꢀꢒꢀJKIJꢀTGIꢀDKVUꢀꢍꢌꢃꢀꢐꢊꢎ-ꢀRCTVKVKQPꢑ  
.QYꢀYJGPꢀ#ꢎꢎꢌꢂꢉꢀꢒꢀJKIJꢀTGIꢀꢔꢀDKVꢀꢍꢀQHꢀNQYꢀTGIꢀꢐꢂꢏ-ꢀRCTVKVKQPꢑ  
.QYYJGP#ꢎꢎꢌꢂꢊꢒꢀJKIJꢀTGIꢀꢔꢀDKVUꢀꢍꢌꢏꢀQHꢀNQYꢀTGIꢀꢐꢇ-ꢀRCTVKVKQPꢑ  
4GUGTXGFꢅꢀFQꢀPQVꢀRTQITCO  
9CKVꢁ5VCVGUꢁ(KGNFꢅꢁBits 1-0of each low register control how many Wait states  
the Z80S188 generates for memory accesses in which that pin goes Low, as  
described in Table 5. These bits reset to 11(three Wait states).  
0
 OR instructions are performed on these wait states with the number  
selected by the Central Wait State Generator described on page 36, and wait states  
generated by the external WAIT pin. That is, the cycle completes only after all  
three sources have permitted completion.  
6
ꢁꢏꢅ /'/%5ꢃꢀꢄꢁ9 ꢁ5  
.QYꢁ4GIꢁ$KVUꢁꢄꢀꢃ 9CKVꢁ5VCVGU /KPꢁ%NQEMUꢋ%[ENG  
ꢃꢃ  
ꢃꢂ  
ꢂꢃ  
ꢂꢂ  
'ZVGTPCNꢁ/GOQT[ꢁYKVJꢁ'ZVGTPCNꢁ&GEQFKPI  
If there are more than two types of external memory (three, counting a ROMCS  
device on an unmasked part), external address decoding logic is necessary to  
decode separate selection for two or more of the categories. There are three  
methods of designing this logic:  
(WTVJGTꢁ&GEQFKPIꢁQHꢁ/'/%5ꢃꢀꢄꢅꢁThis method uses the Low state of MEMCS0  
or MEMCS1 to qualify decoding of the highest address lines not used in generating  
the MEMCS output. RD and WR can be used directly as Low-active Output  
Enables and Write Enable controls on the memory. This method is the simplest,  
but is a few nanoseconds slower than the following methods.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢊꢆ  
1
&
/
ꢀꢐ41/ꢀ  
ꢀ4#/ꢑ  
(WNNꢁ&GEQFKPIꢁ3WCNKHKGFꢁD[ꢁ/'/43ꢅꢁThis method uses the Low state of  
MEMRQ to qualify decoding of as many address lines as necessary, from A22 on  
down. RD and WR can be used directly as Low-active Output Enable and Write  
Enable controls on the memory.  
(WNNꢁ&GEQFKPIꢍꢁ5VTQDGUꢁ3WCNKHKGFꢁD[ꢁ/'/43ꢅꢁUsing this method, logic  
decodes chip selection from the address lines only, but performs AND instructions  
(positive-logic OR function) on the Low state of MEMRQ with Lows on RD and  
WR. This action produces Output Enable and Write Enable controls for the  
memory.  
Depending on the memory device timing, either of these choices may yield the  
highest performance, or the greatest timing margin. With either of these two  
methods, software ensures that any memory connected to MEMCS0-1 is never  
selected for the same read cycle as the externally-decoded memory.  
%GPVTCNꢁ9CKVꢁ5VCVGꢁ)GPGTCVQT  
The Z80S188 includes a register that controls automatic insertion of wait states  
into all memory and I/O accesses. The output of this generator performs logical  
OR instructions (Low-active OR, positive-logic AND) with wait contributions  
from other on-chip wait state logic and the external WAIT pin. The result is that for  
a given address, the number of wait states taken is the largest number among these  
facilities and any external wait-state generator.  
The DMA/Wait Control register (DCNTL) is described on page 142, and is  
present on all 8018x family members. The DCNTL is located in the DMA register  
address range, but its wait states apply to accesses by the processor as well as  
those generated by the DMA channels.  
Bits 7-6 of DCNTL select the number of waits states for all memory accesses, as  
described below:  
&%06.ꢑꢀꢐ  
9CKVꢁ5VCVGU  
/KPꢁ2*+ꢁ%NQEMUꢋ%[ENGꢁHQTꢁ/GOQT[  
ꢃꢃ  
ꢃꢂ  
ꢂꢃ  
ꢂꢂ  
&4#/ꢁ4GHTGUJ  
ZiLOG’s Z80 and Z8018x families have traditionally included dynamic RAM  
refresh logic. This logic is identical on all Z8018x devices including the Z80S188.  
The Refresh Control Register (RCR), described on page 114, controls the DRAM  
refresh feature. When bit 7 is 1, as it is after a reset, the part generates DRAM  
refresh cycles. Z80S188 applications, which do not include dynamic memory,  
write an all-0 byte to the RCR as part of initialization. This action disables DRAM  
refreshing, and saves the bus bandwidth that would otherwise be taken by refresh  
cycles.  
ꢊꢏ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
+
ꢋ1  
1
&
If bits 7-6 are 11, as they are after a reset, refresh cycles are three clocks long,  
while if they are 10, refresh cycles are two clocks long. Figure 8 illustrates the  
timing of a 3-clock refresh cycle; a two-clock cycle eliminates the middle clock  
cycle (the one labelled T ).  
RW  
If bit 7 is 1, bits 1–0 of the RCR control how often refresh cycles occur, as  
described in Table 6.  
6
6
6
(
ꢂꢅ ꢌꢀ%  
ꢁ4  
ꢁ%  
0
 * If three refresh cycles are specified, T  
is inserted. Otherwise, T  
is  
RW  
RW  
not inserted.  
ꢁꢐꢅ 4  
4%4ꢄꢀꢃ 4GHTGUJꢁ%[ENGꢁ(TGSWGPE[  
6
ꢁ%  
ꢁ%  
ꢃꢃ  
ꢃꢂ  
ꢂꢃ  
ꢂꢂ  
ꢂꢃꢀ2*+ꢀENQEMU  
ꢎꢃꢀ2*+ꢀENQEMU  
ꢉꢃꢀ2*+ꢀENQEMU  
ꢇꢃꢀ2*+ꢀENQEMU  
+0276ꢋ176276  
The Z80S188 includes an I/O space that is distinct from memory space. This I/O  
space is accessed by means of IN and OUT instructions rather than LD, PUSH,  
POP, and other instructions that access memory space. The MMU passes addresses  
in I/O space through without change; such addresses always have A22-16 all 0.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢊꢍ  
1
&
+
ꢋ1  
+ꢋ1ꢁ+PUVTWEVKQPU  
The original Z80 featured a 256-byte I/O space. The following instructions are  
specific to this 256-byte I/O space, and must only be used to access I/O devices  
that do not decode A15-8.  
On the Z80S188, bit 7 of the Interrupt Priority Register (INTPR) controls whether  
the SIO, PIO, CTC, WDT, Chip Select and Wait registers, and the Interrupt Priority  
register itself, decode A15-8 all 0, or ignore these lines. If this AllPageIO bit is 1,  
the following instructions can be used for these registers.  
In no case can these instructions be used for the other registers on the port. The  
80180 registers are:  
OUT (port),A  
IND  
INDR  
INI  
INIR  
OTDR  
OTIR  
OUTD  
OUTI  
The following instructions ensure that A15-8 are all 0, and can be used to access  
any of the Z80S188’s on-chip I/O registers, as well as external devices that decode  
A15-8 as all 0:  
IN0 r,(port)  
OUT0 (port),r  
OTDM  
OTDMR  
OTIM OTIMR  
The following instructions drive A15-0 from the BC register pair, and can be used  
to access the full 64-KB I/O space:  
IN r,(C)  
OUT (C),r  
The following instruction can be used to access the entire 64-KB register space,  
but only by first loading the MS 8 bits of the address into A. This step is not neces-  
sary for devices that do not decode A15-8, including the SIO, PIO, CTC, WDT,  
CHIP SELECT and WAIT registers when the AllPageIO bit is 1.  
IN  
A,(port)  
4GNQECVKPIꢁVJGꢁꢂꢃꢄꢂꢃꢁTGIKUVGTU  
The “Registers Summary”, on page 109 describes how the Z80S188’s I/O regis-  
ters are divided into 80180 registers and Z80S188-specific registers. The latter  
registers are always located in the range 00D0-00FCH. After a reset, the 80180  
registers are located in the range 0000-003HF, but bits 7-6 of the I/O Control  
ꢊꢇ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
+
ꢋ1  
1
&
register (page 115) allow software to relocate the 80180 registers to higher  
addresses:  
+1%4ꢁꢑꢀꢐ ꢄꢂꢃꢁ4GIKUVGTꢁ#FFTGUUGU  
ꢃꢃ  
ꢃꢂ  
ꢂꢃ  
ꢂꢂ  
ꢃꢃꢃꢃꢌꢃꢃꢊ(  
ꢃꢃꢉꢃꢌꢃꢃꢍ(  
ꢃꢃꢇꢃꢌꢃꢃ$(  
4GUGTXGF  
This facility was included to ease porting of Z80 applications to the Z8018x  
family, but use it with care, as certain tools may assume that the 80180 registers  
are located in the 0000-003FHrange. These tools must be reconfigured to allow  
for relocated 80180 registers.  
+ꢋ1ꢁ%JKRꢁ5GNGEV  
The Z80S188 includes one I/O CHIP SELECt pin (IOCS), controlled by the I/O  
Chip Select high and low registers (IOCSH, IOCSL), which are described on  
page 127.  
Bit 4 of the low register controls whether or not the decode logic matches A15-8  
equal to the high register.  
Bits 3-2 of the low register are a Size field, and control how the logic matches Bits  
7-5 of the low register against A7-5, as described in Table 7.  
6
ꢁꢑꢅ #ꢑꢀꢏꢁ&  
ꢁ+1%5ꢁ2  
+1%5.ꢁ$KVUꢁꢌꢀꢆ  
#ꢑꢀꢏꢁ/CVEJKPI  
ꢃꢃ  
ꢃꢂ  
ꢂꢃ  
ꢂꢂ  
#ꢍꢌꢆꢀKIPQTGF  
#ꢍꢀꢒꢀDKVꢀꢍꢀQHꢀNQYꢀTGIKUVGT  
#ꢍꢌꢏꢀꢒꢀDKVUꢀꢍꢌꢏꢀQHꢀNQYꢀTGIKUVGT  
#ꢍꢌꢆꢀꢒꢀDKVUꢀꢍꢌꢆꢀQHꢀNQYꢀTGIKUVGT  
For I/O cycles that drive IOCS Low, bits 1-0 of the low register select how many  
wait states the I/O Chip select logic add to such cycles. These bits can be consid-  
ered to add 0-3 Wait states to a base cycle of 4 clocks, or to add 1-4 Wait states to  
a basic 3-clock cycle. In either case:  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢊꢁ  
1
&
+
ꢋ1  
+1%5.ꢄꢀꢃ /KPꢁ2*+ꢁ%NQEMUꢋ%[ENGꢁHQTꢁ+1%5ꢁTCPIG  
ꢃꢃ  
ꢃꢂ  
ꢂꢃ  
ꢂꢂ  
%GPVTCNꢁ+ꢋ1ꢁ9CKVU  
As noted in a previous section, bits 5-4 of the DMA/Wait Control Register can be  
used to insert wait states into I/O cycles with the Z80S188-specific registers at  
addresses 00D0-00FCH, and into I/O cycles with external devices. These bits  
add 0-3 Wait states to a base cycle of 4 clocks, or add 1-4 Wait states to a basic 3-  
clock cycle:  
&%06.ꢏꢀꢎ  
/KPꢁ2*+ꢁ%NQEMUꢋ%[ENGꢁHQTꢁCNNꢁPQPꢀꢁꢂꢃꢁ+ꢋ1  
ꢃꢃ  
ꢃꢂ  
ꢂꢃ  
ꢂꢂ  
+143ꢁCPFꢁ4&ꢁ6KOKPI  
Bit 5 in the Operating Mode Control Register (OMCR, described on page 114)  
controls the timing of the IORQ signal for accesses to non-180 I/O registers, and  
the timing of the RD signal when software reads from an non-180 I/O register.  
If this bit is 1, as it is after a reset, the Z80S188 drives IORQ (and RD if applicable)  
Low from the falling edge of PHI in the T1 clock cycle, which is compatible with  
the Hitachi 64180. If this bit is 0, the Z80S188 drives IORQ (and RD if applicable)  
Low one-half clock cycle later, from the rising edge of PHI at the start of T2,  
which is compatible with the ZiLOG Z80. Both cases are illustrated in Figure .  
6ꢂ  
6ꢎ  
6Y  
6ꢊ  
2*+  
+143 ꢐ1/%4ꢆꢒꢂꢑ  
+143 ꢐ1/%4ꢆꢒꢃꢑ  
4& ꢐ1/%4ꢆꢒꢂꢑ  
4& ꢐ1/%4ꢆꢒꢃꢑ  
94  
(
ꢓꢅ +ꢋ1ꢁ%  
ꢁ6  
ꢉꢃ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
%
1
&
%.1%-+0)  
The Z80S188 can be clocked in either of two ways:  
1. By an external TTL- or CMOS-level clock on the EXTAL pin  
2. By a crystal connected to its XTAL and EXTAL pins  
For an external clock, the signal must be free of overshoot or ringing, must make  
continuous, monotonic, and rapid transitions in both directions, and must meet the  
minimum High and Low times specified in “AC Characteristics”.  
/WNVKRN[ꢁD[ꢁꢆꢁ1RVKQP  
Regardless of whether EXTAL is connected to a crystal or an external clock signal,  
bit 7 of the Clock Multiplier register (CMR, described on page 112) controls  
whether or not the Z80S188 multiplies the frequency of EXTAL by two.  
If CMR bit 7 is 1, the part multiplies the frequency by two. If this bit is 0, as it is  
after a reset, the part does not perform the multiplication.  
This feature can be used with crystals (or external clocks) up to 16.67 MHz. This  
feature may allow use of a lower-cost crystal, and eliminates the need for an LC  
tank circuit, described in “Circuits”, on page 41.  
&KXKFGꢁD[ꢁꢆꢁ1RVKQP  
Bit 7 of the CPU Control Register (CCR, described on page 113) controls whether  
the Z80S188 uses the signal from the clock multiplier directly as PHI, or whether  
it divides the signal by two to obtain PHI.  
If CCR bit 7 is 0, as it is after a reset, the part divides the signal from the clock  
multiplier by 2. This mode insulates the part against an asymmetric waveform.  
Software can write a 1 to CCR bit 7 as part of device initialization, to use the  
selected signal directly.  
If an external clock is connected to EXTAL, and neither the *2 nor /2 option is  
used, the waveform on EXTAL must meet the minimum High and Low times spec-  
ified in “AC Characteristics”, on page 203.  
%KTEWKVU  
When using a crystal connected to XTAL and EXTAL, locate it as close as possible  
to the pins, and minimize the trace lengths among the crystal, pins, and the two  
capacitors illustrated in Figure 10, which illustrates the connection of a funda-  
mental mode crystal up to and including 20 MHz. C1 and C2 are 20-30 pF, a  
typical value for which is 22 pF.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢉꢂ  
1
&
%
%ꢂ  
:6#.  
%T[UVCN  
+PRWVU  
%ꢎ  
':6#.  
(
ꢄꢃꢅ (  
ꢁ/  
ꢁ%  
ꢁ%  
ꢁꢔꢁꢆꢃꢁ/*  
For frequencies above 20 MHz, use a third-overtone crystal and include a C-L  
tank circuit to filter the fundamental frequency, as illustrated in Figure 11. Again,  
it is essential to minimize trace lengths by locating all of the components as close  
as possible to the XTAL and EXTAL pins.  
%ꢎ  
ꢎꢎꢀR(  
%.-1  
:ꢂ  
%ꢊ  
ꢎꢎꢃꢀR(  
%.-+  
%ꢂ  
ꢎꢎꢀR(  
4GSWKTGFꢀHQTꢀVJKTFꢌ  
QXGTVQPGꢀOQFG  
ET[UVCNUꢀQPN[ꢀ  
(QTꢀꢇꢃꢂꢇZꢀFGXKEGUꢅꢀ:6#.ꢀꢒꢀ%.-1ꢅ  
':6#.ꢀꢒꢀ%.-+  
(
ꢄꢄꢅ 6  
ꢀ1  
ꢁ ꢁꢆꢃꢁ/*  
%T[UVCNꢁ5RGEKHKECVKQPU  
For fundamental mode crystals up to 20 MHz:  
Fundamental, parallel type (AT cut recommended)  
Load capacitance: C = C1 = C2 = 20-30 pF (22 pF typical)  
L
Equivalent Resistance R < 60 ohms  
S
C
= C  
= 15-22 pF  
OUT  
IN  
4GFWEGFꢁ1UEKNNCVQTꢁ&TKXGꢁ1RVKQP  
Bit 6 in the Clock Multiplier Register, described on page 112, controls the drive  
(gain) of the oscillator. When this bit is 0, as it is after a reset, the Z80S188 drives  
a crystal connected to XTAL and EXTAL in an energetic manner, to guarantee that  
oscillation always starts. This drive is suitable for traditional crystals packaged in  
ꢉꢎ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
4
ꢀ%  
1
&
HC-49-type packages, but may be too powerful for crystals packaged for minia-  
turized applications like PCMCIA.  
To reduce the drive/gain of the oscillator, software writes a 1to bit 6 of the Clock  
Control Register as part of initialization. This action reduces the drive to about  
25% of Normal mode, and also reduces the maximum oscillator frequency from  
33 to 20 MHz.  
4'5'6ꢁ%10&+6+105  
How Reset affects each of the registers in I/O space is described in the section,  
“I/O Registers”, on page 109. Among processor registers, the following registers  
and state bits are cleared to 0: PC, SP, I, IEF1, IEF2, R, and F. The following are not  
changed by Reset: A, B, C, D, E, H, L, IX, and IY.  
The Z80S188 resets itself at power-up. When power is applied internally, the  
Z80S188 detects the power rising. After the oscillator starts, the Power On Reset  
16  
circuitry holds the Z80S188 in reset for 2 clock cycles, driving RESET low to  
provide a reset to external peripherals.  
Another possible source of reset is the Watch-Dog Timer (WDT). See section  
“Watch-Dog Timer”, on page 63, for more about the WDT.  
219'4ꢁ/#0#)'/'06  
As on other members of the 8018x family, the Z80S188’s main power saving  
modes are controlled by the Standby and Idle/Quick bits in the CPU Control  
Register (page 113), the IOSTOP bit in the I/O Control Register (page 115), and  
the execution of SLP and HALT instructions. Section “Low-Power Modes”, next,  
describes the low-power modes.  
.QYꢀ2QYGTꢁ/QFGU  
The IOSTOP bit in the I/O Control Register (page 115) controls operation of the  
ASCIs, PRTs and CSI/O. When this bit is 0, these peripherals operate normally.  
When this bit is 1, they are disabled, reducing power use.  
The Standby and Idle/Quick bits in the CPU Control Register (page 113) control  
the actions of the Z80S188 when it executes an SLP instruction. If the application  
uses the XTAL/EXTAL oscillator and Standby is 1, a SLP instruction stops the  
oscillator, leading to the lowest power consumption of any mode. This action  
requires time to restart the oscillator in response to Reset, an interrupt request, or a  
bus request.  
When Standby is 1, the Idle/Quick bit controls how many PHI clocks the  
Z80S188 waits after re-enabling the oscillator, before restarting operation, with 0  
17  
selecting 2 (128K) clocks, and 1selecting 64 clocks.  
When Standby is 0, the oscillator runs for the duration of the SLP instruction, but  
clocking is blocked to most of the Z80S188. In this case, the Idle/Quick bit  
controls whether the oscillator output is driven onto the PHI pin, with a 1in Idle/  
Quick disabling clocking on PHI.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢉꢊ  
1
&
2
ꢀ/  
When Standby is 1, the BREXT bit, bit 5 in the CPU Control Register (page 113),  
controls whether the Z80S188 restarts the oscillator in response to a Low on the  
BUSREQ pin, with a 1enabling these responses.  
The interaction of these various bits and states is detailed in Table 8 below,  
including the conditions that cause the Z80S188 to leave each low-power mode  
and resume normal operation.  
6
ꢁꢂꢅ  
ꢀ2  
ꢁ/  
+FNGꢋ  
3WKEM  
+PUVTWEVKQP 5VCPFD[  
+15612 /QFGꢊꢁ1RGTCVKQP  
1VJGTꢀVJCPꢀ  
*#.6  
1VJGTꢀVJCPꢀ  
5.2  
:
:
0QTOCNꢊꢀ6JGꢀRTQEGUUQTꢀHGVEJGUꢀKPUVTWEVKQPUꢀCPFꢀ  
GZGEWVGUꢀVJGOꢅꢀRQUUKDN[ꢀUJCTKPIꢀVJGꢀDWUꢀYKVJꢀQPꢌEJKRꢀ  
&/#UꢀCPFꢀGZVGTPCNꢀOCUVGTUꢄꢀ1PꢌEJKRꢀRGTKRJGTCNUꢀ  
QRGTCVGꢀWPFGTꢀUQHVYCTGꢀEQPVTQNꢄ  
1VJGTꢀVJCPꢀ  
*#.6  
1VJGTꢀVJCPꢀ  
5.2  
:
:
:
+ꢋ1ꢁ5VQRꢊꢀ6JGꢀRTQEGUUQTꢅꢀ//7ꢅꢀ&/#UꢅꢀCPFꢀGZVGTPCNꢀ  
OCUVGTUꢀQRGTCVGꢀPQTOCNN[ꢅꢀDWVꢀVJGꢀ#5%+Uꢅꢀ246UꢅꢀCPFꢀ  
%5+1ꢀCTGꢀFKUCDNGFꢀVQꢀTGFWEGꢀRQYGTꢀEQPUWORVKQPꢄꢀ6JGꢀ  
QPN[ꢀVJKPIꢀVJGUGꢀFGXKEGUꢀECPꢀFQꢀKUꢀVQꢀIGPGTCVGꢀCPꢀKPVGTꢌ  
TWRVꢀEQODKPCVQTKCNN[ꢄꢀ5QHVYCTGꢀECPꢀUYKVEJꢀVJGꢀ<ꢇꢃ5ꢂꢇꢇꢀ  
DGVYGGPꢀ014/#.ꢀCPFꢀ+ꢋ1ꢀ5612ꢀOQFGꢀCUꢀCRRTQRTKCVG  
*#.6  
:
*CNVꢊꢀ6JGꢀ2TQEGUUQTꢀEQPVKPWCNN[ꢀHGVEJGUꢀVJGꢀ1Rꢀ%QFGꢀ  
HQNNQYKPIꢀVJGꢀ*#.6ꢅꢀDWVꢀFQGUꢀPQVꢀGZGEWVGꢀKVꢅꢀRQUUKDN[ꢀ  
UJCTKPIꢀVJGꢀDWUꢀYKVJꢀQPꢌEJKRꢀ&/#UꢀCPFꢀGZVGTPCNꢀ  
OCUVGTUꢄꢀ*#.6ꢀOQFGꢀTGXGTVUꢀVQꢀ014/#.ꢀOQFGꢀKPꢀECUGꢀ  
QHꢀCꢀ.QYꢀQPꢀ4'5'6ꢀQTꢀ0/+ꢅꢀCꢀ.QYꢀQPꢀ+06ꢃꢀKHꢀGPCDNGFꢅꢀCPꢀ  
KPVGTTWRVꢀTGSWGUVꢀHTQOꢀCPꢀ#5%+ꢅꢀ246ꢅꢀ%5+1ꢅꢀQTꢀ&/#ꢅꢀQTꢀCꢀ  
TGSWGUVꢀQPꢀ+06ꢎꢌꢂꢀKHꢀUWEJꢀCTGꢀGPCDNGFꢄ  
*#.6  
5.2  
:
:
*CNVꢁCPFꢁ+ꢋ1ꢁ5VQRꢊꢀ5KOKNCTꢀVQꢀ*#.6ꢀOQFGꢀGZEGRVꢀVJCVꢀVJGꢀ  
#5%+Uꢅꢀ246UꢅꢀCPFꢀ%5+ꢋ1ꢀCTGꢀFKUCDNGFꢄ  
5NGGRꢊꢀ%NQEMKPIꢀKUꢀDNQEMGFꢀVQꢀVJGꢀRTQEGUUQTꢅꢀ&/#UꢅꢀCPFꢀ  
&4#/ꢀTGHTGUJꢀNQIKEꢅꢀUQꢀVJCVꢀVJGUGꢀUVQRꢀIGPGTCVKPIꢀDWUꢀ  
CEVKXKV[ꢄꢀ6JGꢀDWUꢀECPꢀDGꢀITCPVGFꢀVQꢀGZVGTPCNꢀOCUVGTUꢄꢀ+ꢋ1ꢀ  
ECPꢀQRGTCVGꢀGZEGRVꢀHQTꢀ&/#ꢄꢀ5.''2ꢀOQFGꢀTGXGTVUꢀVQꢀ  
014/#.ꢀOQFGꢀWPFGTꢀVJGꢀUCOGꢀEQPFKVKQPUꢀCUꢀHQTꢀ*#.6ꢀ  
OQFGꢅꢀGZEGRVꢀVJCVꢀ&/#UꢀECPPQVꢀKPVGTTWRVꢄ  
5.2  
5.2  
5[UVGOꢁ5VQRꢊꢀVJGꢀQUEKNNCVQTꢀMGGRUꢀTWPPKPIꢀCPFꢀIGPGTꢌ  
CVKPIꢀ2*+ꢅꢀDWVꢀENQEMKPIꢀKUꢀDNQEMGFꢀVQꢀOQUVꢀQHꢀVJGꢀEJKRꢄꢀ  
$WUꢀITCPVKPIꢀECPꢀQEEWTꢄꢀ5;56'/ꢀ5612ꢀOQFGꢀECPꢀTGXGTVꢀ  
VQꢀ014/#.ꢀOQFGꢀKPꢀECUGꢀQHꢀCꢀ.QYꢀQPꢀ4'5'6ꢀQTꢀ0/+ꢅꢀCꢀ  
.QYꢀQPꢀ+06ꢎꢌꢃꢀVQꢀVJGꢀGZVGPVꢀVJGUGꢀCTGꢀGPCDNGFꢅꢀQTꢀCPꢀ  
GPCDNGFꢀKPVGTTWRVꢀTGSWGUVꢀHTQOꢀCPꢀQPꢌEJKRꢀRGTKRJGTCNꢀ  
VJCVꢀECPꢀIGPGTCVGꢀQPGꢀEQODKPCVQTKCNN[ꢄ  
+FNGꢊꢀ6JGꢀQUEKNNCVQTꢀTWPUꢅꢀDWVꢀ2*+ꢀKUꢀDNQEMGFꢅꢀCUꢀKUꢀ  
ENQEMKPIꢀVQꢀOQUVꢀQHꢀVJGꢀEJKRꢄꢀ$WUꢀITCPVKPIꢀECPꢀQEEWTꢀKHꢀ  
VJGꢀ$4':6ꢀDKVꢀꢐ%%4ꢆꢑꢀKUꢀꢂꢄꢀ+&.'ꢀOQFGꢀECPꢀTGXGTVꢀVQꢀ  
014/#.ꢀOQFGꢀWPFGTꢀVJGꢀUCOGꢀEKTEWOUVCPEGUꢀCUꢀHTQOꢀ  
5;56'/ꢀ5612ꢀOQFGꢄ  
ꢉꢉ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
2
ꢀ+ꢋ1ꢀꢐ2+1   
1
&
6
ꢁꢂꢅ  
ꢀ2  
ꢁ/  
+FNGꢋ  
3WKEM  
+PUVTWEVKQP 5VCPFD[  
5.2   
+15612 /QFGꢊꢁ1RGTCVKQP  
5VCPFD[ꢊꢀ6JGꢀ:6#.ꢋ':6#.ꢀQUEKNNCVQTꢀKUꢀUVQRRGFꢄꢀ6JKUꢀ  
OQFGꢀFQGUꢀPQVꢀCRRN[ꢀVQꢀCRRNKECVKQPUꢀVJCVꢀWUGꢀ.(:6#.ꢋ  
.(':6#.ꢄꢀ$WUꢀITCPVKPIꢀECPꢀQEEWTꢀKHꢀVJGꢀ$4':6ꢀDKVꢀ  
ꢐ%%4ꢆꢑꢀKUꢀꢂꢅꢀKPꢀYJKEJꢀECUGꢀVJGꢀFGXKEGꢀTGCEVKXCVGUꢀVJGꢀ  
QUEKNNCVQTꢅꢀYCKVꢀHQTꢀꢎ ꢀꢐꢂꢎꢇ-ꢑꢀENQEMUꢅꢀITCPVꢀVJGꢀDWUꢅꢀCPFꢀ  
FGCEVKXCVGꢀVJGꢀQUEKNNCVQTꢀCICKPꢀCHVGTꢀVJGꢀDWUꢀTGSWGUVꢀKUꢀ  
PGICVGFꢄꢀ56#0&$;ꢀOQFGꢀECPꢀTGXGTVꢀVQꢀ014/#.ꢀOQFGꢀ  
WPFGTꢀVJGꢀUCOGꢀEKTEWOUVCPEGUꢀCUꢀHTQOꢀ5;56'/ꢀ5612ꢀ  
OQFGꢄꢀ+HꢀQPGꢀQHꢀVJGUGꢀUVKOWNKꢀQEEWTꢀYJKNGꢀVJGꢀ<ꢇꢃ5ꢂꢇꢇꢀKUꢀ  
YCKVKPIꢀHQTꢀꢂꢎꢇ-ꢀENQEMUꢀDGHQTGꢀTGURQPFKPIꢀVQꢀCPꢀGPCDNGFꢀ  
DWUꢀTGSWGUVꢅꢀQTꢀYJKNGꢀVJGꢀDWUꢀKUꢀITCPVGFꢅꢀKVꢀTGꢌGPVGTUꢀ  
014/#.ꢀOQFGꢀYJGPꢀVJGꢀDWUꢀTGSWGUVꢀKUꢀPGICVGFꢄꢀ  
1VJGTYKUGꢅꢀVJGꢀ<ꢇꢃ5ꢂꢇꢇꢀTGCEVKXCVGUꢀVJGꢀQUEKNNCVQTꢀCPFꢀ  
YCKVꢀHQTꢀꢎ ꢀꢐꢂꢎꢇ-ꢑꢀENQEMUꢀDGHQTGꢀEQOOGPEKPIꢀPQTOCNꢀ  
QRGTCVKQPꢄ  
5.2  
5VCPFD[ꢁYKVJꢁ3WKEMꢁ4GEQXGT[ꢊꢀ5KOKNCTꢀVQꢀ56#0&$;ꢀ  
OQFGꢅꢀGZEGRVꢀVJCVꢀVJGꢀ<ꢇꢃ5ꢂꢇꢇꢀYCKVUꢀQPN[ꢀꢏꢉꢀENQEMUꢀ  
CHVGTꢀGPCDNKPIꢀVJGꢀQUEKNNCVQTꢅꢀDGHQTGꢀITCPVKPIꢀVJGꢀDWUꢀQTꢀ  
TGUWOKPIꢀPQTOCNꢀQRGTCVKQPꢄ  
In SLEEP, SYSTEM STOP, IDLE, or either STANDBY mode, if the Z80S188  
leaves the mode because of an NMI or an enabled interrupt with the IEF1 flag 1, it  
resumes operation by performing the interrupt, with the return address being the  
instruction after the SLP. If the device exits the low-power mode because of an  
individually-enabled interrupt request, but the IEF1 bit is 0, the Z80S188 resumes  
by executing the instruction after the SLP.  
2#4#..'.ꢁ+ꢋ1ꢁꢈ2+15  
2+1ꢁ4GIKUVGTU  
The Z80S188 includes the equivalent of two Z80 PIO devices, which provide four  
ports called Port A through Port D. Each port includes 8 data pins named PA7-0,  
PB7-0, PC7-0, or PD7-0, an input Strobe ASTB, BSTB, CSTB, or DSTB, and an  
output Ready signal ARDY, BRDY, CRDY, or DRDY.  
Two consecutive addresses in I/O space are associated with each port. As for the  
other Z80 peripherals on the Z80S188, bit 7 of the Interrupt Priority Register  
controls whether A15-8 are decoded as all 0for these addresses, as for the  
80180 peripherals, or whether A15-8 are ignored so that Z80-compatible I/O  
instructions can be used to access the PIOs. The following table shows only bits  
7-0of each PIO address.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢉꢆ  
1
&
2
ꢀ+ꢋ1ꢀꢐ2+1   
6
ꢁꢓꢅ 2+1ꢁ#  
#ꢑꢀꢃ  
(WPEVKQP  
&%*  
&&*  
&'*  
&(*  
&ꢉ*  
&ꢆ*  
&ꢏ*  
&ꢍ*  
2QTVꢀ#ꢀ&CVC  
2QTVꢀ#ꢀ%QPVTQN  
2QTVꢀ$ꢀ&CVC  
2QTVꢀ$ꢀ%QPVTQN  
2QTVꢀ%ꢀ&CVC  
2QTVꢀ%ꢀ%QPVTQN  
2QTVꢀ&ꢀ&CVC  
2QTVꢀ&ꢀ%QPVTQN  
An OUT instruction to the lower (Data) address for each port sets output data,  
while an IN instruction from the lower (Data) address reads input data. The  
Z80S188 decodes the less significant bits of data written to the higher (Control)  
address for each port, thus categorizing such output into the following words:  
6
ꢁꢄꢃꢅ 1  
ꢁ%  
ꢁ9  
&ꢑꢀꢃ  
1WVRWVꢁ%CVGIQT[  
ZZZZZZZꢃ  
GZZZꢃꢃꢂꢂ  
GCJOꢃꢂꢂꢂ  
OOZZꢂꢂꢂꢂ  
+PVGTTWRVꢀ8GEVQTꢀ9QTF  
+PVGTTWRVꢀ&KUCDNGꢀ9QTF  
+PVGTTWRVꢀ%QPVTQNꢀ9QTF  
/QFGꢀ%QPVTQNꢀ9QTF  
Two other kinds of output words can contain any data, and are implicitly the target  
of an OUT instruction to the Control address following certain other Words.  
After a Mode Control Word where bits 7-6 are 11is written to the Control  
address, the next OUT to the Control address is implicitly an I/O Register Control  
Word, in which 1s identify input pins and 0s identify outputs.  
After an Interrupt Control Word where bit 4 is 1is written to the Control address,  
the next OUT to the Control address is implicitly a Mask Control Word, in which  
0s identify pins that can cause an interrupt.  
/QFGUꢁQHꢁ1RGTCVKQP  
Software can set each port into one of four modes, by writing a Mode Control  
Word to the port’s Control address. Each mode is numbered according to the  
binary value of bits 7-6 of the Mode Control Word, and is also named.  
1WVRWVꢁOQFGꢋOQFGꢁꢃꢅꢁIn this mode, all 8 port pins are outputs. The XRDY pin  
goes High when software or a DMA channel writes data to the port’s Data  
register. A Low pulse on the XSTB pin indicates when external logic has acquired  
the data. A rising edge on XSTB makes the Z80S188 drive the XRDY line back  
Low, and can be programmed to cause an interrupt request from the port.  
ꢉꢏ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
2
ꢀ+ꢋ1ꢀꢐ2+1   
1
&
0
 Because PIO ports do not provide a status register, the only alternative to  
enabling interrupts for a port operating in mode 0, 1, or 2, is to connect the port’s  
XRDY line to a port pin of another port, that is operating in BIT CONTROL  
mode.  
%.-  
94ꢗ  
2146ꢀ176276  
4'#&;  
5641$'  
+06  
(
ꢄꢆꢅ /  
ꢁꢃꢁ1  
ꢁ6  
+PRWVꢁOQFGꢋOQFGꢁꢄꢅꢁIn this mode, all 8 port pins are inputs. Software starts a  
sequence of transfers by doing a dummy read from the port’s Data address, which  
drives XRDY High as a data request to external logic. That logic drives XSTB Low  
to signify that it has provided data on the port pins. The Low level of XSTB opens  
the Data register latches, and the rising edge latches the data, makes the Z80S188  
drive XRDY Low, and can be programmed to cause an interrupt request from the  
port. When this interrupt occurs, or when software detects XRDY Low in another  
port, it can read the captured data from the port’s Data address, which again drives  
XRDY High.  
%.-  
5641$'  
5#/2.'  
2146  
+0276  
4'#&;  
+06  
4&  
(
ꢄꢌꢅ /  
ꢁꢄꢁ+  
ꢁ6  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢉꢍ  
1
&
2
ꢀ+ꢋ1ꢀꢐ2+1   
$KFKTGEVKQPCNꢁOQFGꢋOQFGꢁꢆꢅꢁThis mode is only available on ports A and C  
because it uses the BRDY and BSTB pins in conjunction with port A, or uses the  
DRDY and DSTB pins in conjunction with port C. When this mode is selected for  
port A or C, the only mode that can be used on port B or D (respectively) is BIT  
CONTROL mode, mode 3.  
To simplify the language, this mode is described for port A. ARDYand ASTB are  
used for output handshaking, as in mode 0, while BRDY and BSTB are used for  
input handshaking, as in mode 1.  
If interrupts are enabled for port A, its interrupt vector is returned when ASTB  
goes High for an output handshake. If interrupts are enabled for port B, its inter-  
rupt vector is returned when BSTB goes High for an input handshake, or if a mode  
3 interrupt condition is programmed for port B, and it occurs on the PB7-0 lines.  
This ambiguity can be avoided by programming port B’s Mask Control Word with  
all ones, to disable mode 3 interrupts.  
Bidirectionality is achieved by having the Z80S188 drive output data onto the  
PA7-0 (or PC7-0) pins in this mode, only when external logic drives ASTB (or  
CSTB) Low. Obviously, external logic must not drive any of the PA7-0 (or PC7-0)  
pins at the same time that it drives ASTB (or CSTB) Low.  
%.-  
94ꢗ  
#4&;  
#56$  
2146ꢀ#  
&CVCꢀ1WV  
&CVCꢀ+P  
5CORNG  
&#6#ꢀ$75  
+06  
$56$  
$4&;  
ꢗ94ꢀꢒꢀ4&ꢀꢄꢀ%'ꢀꢄꢀ+14)ꢀꢄꢀ/ꢂ  
ꢄꢎꢅ / ꢁꢆꢁ$  
(
ꢁ6  
$KVꢁ%QPVTQNꢁOQFGꢋOQFGꢁꢌꢅꢁIn this mode, the port pins can be any mixture of  
inputs and outputs. After writing 11 to bits 7-6 in a Mode Control Word, software  
next writes an I/O Register Control Word to the port’s Data address, containing a 1  
for each port pin that is an input, and a 0 for each port pin that the Z80S188 drives  
as an output. When this value is written, the Z80S188 immediately begins driving  
pins corresponding to 0, and releases drive on pins corresponding to 1.  
ꢉꢇ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
2
ꢀ+ꢋ1ꢀꢐ2+1   
1
&
In this mode, the port’s READY and STROBE pins are not used in conjunction  
with this port. Instead, the port can interrupt based on conditions on its port pins,  
as controlled by bits 7-5 of an Interrupt Control Word and a subsequent Mask  
Control Word. After writing a 1to bit 4 of an Interrupt Control Word, software  
next writes a Mask Control Word to the port’s Control address, containing a 0for  
each port that is active for mode 3 interrupt, and a 1for each pin that is ignored.  
Pins with a corresponding 1(input) in the I/O Register Control word, and a 0in  
the Mask Control Word, are active with respect to mode 3 interrupts.  
If bit 5 in a port’s Interrupt Control Word is written as 1, the pins are active High,  
while if bit 5 is 0they are active Low.  
If bit 6 of the Interrupt Control Word is written as 1, all of the active pins in the  
port must be in the active state simultaneously to cause a mode 3 interrupt. If bit 6  
is 0, any of the pins that are in an active state can cause an interrupt.  
%.-  
2146  
&#6#ꢀ$75  
&CVCꢀ9QTFꢀꢎ  
&CVCꢀ9QTFꢀꢂ  
+06  
&CVCꢀOCVEJ  
QEEWTUꢀJGTG  
+143  
4&  
&ꢃ &ꢍ  
&CVCꢀ+P  
&CVCꢀ9QTFꢀꢂꢀRNCEGFꢀQPꢀDWU  
ꢍꢁ$ ꢁ/ ꢁ4  
(
ꢄꢏꢅ /  
ꢁꢌꢁ$ ꢁ%  
ꢁ6  
2+1ꢁ+PVGTTWRVU  
The PIO, SIO, and CTC modules perform logical OR instructions on their inter-  
rupt requests with those from any external peripherals that may be connected to  
the INT0 pin. These external peripherals drive INT0 Low in an open-collector or  
open-drain fashion. The Z80S188 drives INT0 Low in an open-drain fashion,  
when any of the PIOs, SIO, or CTC request an interrupt.  
Each PIO port can request an interrupt, and includes state bits called Interrupt  
Pending (IP) and Interrupt Under Service (IUS) and its own 8-bit interrupt vector.  
The PIOs cannot be used in interrupt mode 0. They can be used in interrupt mode  
1, but since the functionality of this mode is so limited, all following descriptions  
of PIO interrupt operation assume that software has performed an IM 2 instruction  
to place the processor in interrupt mode 2.  
+PVGTTWRVꢁ2TKQTKV[ꢁ&CKU[ꢁ%JCKPKPIꢅꢁBecause more than one port, channel, or  
interrupt type can request an interrupt at the same time, a mechanism is needed to  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢉꢁ  
1
&
2
ꢀ+ꢋ1ꢀꢐ2+1   
select the order in which their requests are serviced. Z80 peripherals and certain  
other ZiLOG devices use a daisy chain to control the relative priority of interrupt  
requests among multiple devices and interrupt types within devices.  
As described in “Interrupt Acknowledge Daisy Chaining”, on page 18, each PIO  
port includes an Interrupt Enable In (IEI) pin, from which it receives permission to  
interrupt from higher-priority devices, and an Interrupt Enable Out (IEO) pin, on  
which it grants permission to interrupt, to lower-priority devices.  
The daisy-chain order and priority within each Z80-device-equivalent module is  
fixed. For the PIOs, port A has the highest priority, followed by ports B, C, and D.  
The PIOs, SIO, and CTC in the Z80S188 are always consecutive on the daisy  
chain, but the relative priority among PIO AB, PIO CD, SIO, and CTC is  
programmable in the Interrupt Priority register, with the sole restriction that PIO  
AB always has higher priority than PIO CD.  
Please see “Interrupt Acknowledge Daisy Chaining”, on page 18 for more infor-  
mation about interrupt daisy-chaining.  
2+1ꢁ5QHVYCTGꢁ5GSWGPEGU  
The following sections present typical software sequences for both polled and  
interrupt-driven operation in each of the four operating modes. These procedures  
can be applied to any channel with the following restrictions:  
BIDIRECTIONAL mode 2 can only be used on channels A and C.  
If channel A or C is used in mode 2, then channel B or D respectively can only be  
used in BIT CONTROL mode 3.  
2QNNGFꢁ1RGTCVKQPꢁKPꢁ1WVRWVꢁ/QFGꢁꢄꢅꢁ  
1. Connect the XRDY output to a pin of a port that is in Bit Control Mode 3, or  
to some other general purpose input such as DCD0 or CTS0, for which bit 6 or  
5 (respectively) of ASCI0’s Extension Control register is 1.  
2. Program the register(s) associated with that pin to ensure that it is an input. For  
a PIO port, write a CFH to that port’s Control address to select mode 3,  
followed by an I/O Register Control Word that includes a 1 for the pin in  
question.  
3. Write a 03Hto its Control address, if this port may have been used in another  
mode since Reset, to ensure that interrupts from the port are disabled.  
4. Write a 0HFto this port’s Control address, to select Output Mode 0.  
5. Write the first (or next) data byte to be sent via the port to the port’s Data  
address when it is available. This action sets the XRDY pin High.  
6. Read, periodically, the register containing the bit corresponding to the input  
pin that is connected to the XRDY pin, and test the bit. When a Low appears on  
the pin, indicating that the destination device has responded with a rising edge  
on the XSTB pin, return to step 5.  
ꢆꢃ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
2
ꢀ+ꢋ1ꢀꢐ2+1   
1
&
+PVGTTWRVꢀ&TKXGPꢁ1RGTCVKQPꢁKPꢁ1WVRWVꢁ/QFGꢁꢃꢅ  
1. Disable interrupts (DI), if necessary.  
2. Execute as many of the following instructions as have not already been  
implemented since Reset:  
IM  
2
LD A,inttab/256  
LD I,A  
;inttab=start of interrupt table  
LD HL,outisr  
LD (inttab+ourvec),HL  
;outisr = start of ISR  
;ourvec = our vector  
0
00.  
 The value of inttabis a multiple of 256; that is, bits 7-0 of its value is  
3. Write the even value called ourvecin the previous step, to the port’s Control  
address. Bit 0of this value must be 0.  
4. Write 0FHto this port’s Control address, to select Output Mode 0.  
5. Write 87Hto this port’s Control address, to enable interrupts.  
6. Clear an output byte count in memory.  
7. Enable interrupts (EI)  
8. As each output data byte becomes available:  
a. Disable interrupts (DI).  
b. Check the output byte count in memory. If it is 0, write the character to the  
port’s Data address, otherwise store it where the interrupt service routine  
can find it.  
c. Increment the output byte count in memory.  
d. Enable interrupts (EI).  
9. When control comes to outisr:  
a. Save as many registers as the ISRmight use (worst case), using PUSH,  
EX AF, AF’, or EXXinstructions.  
b. Decrement the output byte count. If it is still 1, fetch the next character and  
output it to the port’s Data address.  
c. Conclude the interrupt service routine by restoring the saved register  
values, then executing EIfollowed by RETI. The port decodes the RETI  
instruction and re-enables interrupts from itself and from lower-priority  
devices.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢆꢂ  
1
&
2
ꢀ+ꢋ1ꢀꢐ2+1   
2QNNGFꢁ1RGTCVKQPꢁKPꢁ+PRWVꢁ/QFGꢁꢄꢅꢁ  
1. Connect the XRDY output to a pin of a port that is in Bit Control Mode 3, or to  
some other general purpose input such as DCD0 or CTS0, for which bit 6 or 5  
(respectively) of ASCI0’s Extension Control Register is 1.  
2. Program the register(s) associated with that pin to ensure that it is an input. For  
a PIO port, write a CFH to that port’s Control address to select mode 3,  
followed by an I/O Register Control Word that includes a 1 for the pin in  
question.  
3. Write a 03Hto its Control address, to ensure that interrupts from the port are  
disabled, if this port may have been used in another mode since Reset.  
4. Write a 4FHto this port’s Control address, to select Input Mode 1.  
5. Read the port’s Data address, to make the XRDYpin High.  
6. Read the register containing the bit corresponding to the input pin that is  
connected to the XRDYpin periodically, and test the bit.  
7. Read the port’s Data address and process the byte when it shows a Low on the  
pin, indicating that the external device has responded with a data byte and a  
rising edge on the XSTB pin.  
+PVGTTWRVꢀ&TKXGPꢁ1RGTCVKQPꢁKPꢁ+PRWVꢁ/QFGꢁꢄꢅꢁ  
1. If necessary, disable interrupts (502Z90502)  
2. Execute as many of the following instructions that have not been implemented  
since Reset:  
IM  
2
LD A,inttab/256  
LD I,A  
; inttab = start of interrupt table  
LD HL,inisr  
LD (inttab+ourvec),HL  
; inisr = start of ISR  
; ourvec = our vector  
0
 The value of inttabmust be a multiple of 256, that is, bits 7-0 of its  
value must be 00.  
3. Write the even value called ourvecin the previous step, to the port’s Control  
address. Bit 0 of this value must be 0.  
4. Write 4FHto this port’s Control address, to select Input Mode 1.  
5. Write 87Hto this port’s Control address, to enable interrupts.  
6. Read the port’s Data address, to make the XRDY pin High.  
7. Re-enable interrupts (EI).  
8. Save as many registers as the ISRmight use (worst case), using PUSH, EX  
AF,AF’, or EXXinstructions, when control comes to inisr.  
9. Read the port’s Data address and process the character.  
10. Conclude the interrupt service routine by restoring the saved register values,  
then executing EIfollowed by a RETIinstruction. The port decodes the RETI  
ꢆꢎ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
2
ꢀ+ꢋ1ꢀꢐ2+1   
1
&
instruction and re-enables interrupts from itself and from lower-priority  
devices.  
2QNNGFꢁ1RGTCVKQPꢁKPꢁ$KFKTGEVKQPCNꢁ/QFGꢁꢆꢅꢁThis mode can only be used on ports  
A and C.  
1. Connect both the ARDY and BRDY pins, or CRDY and DRDY pins, to pins of a  
port that is in Bit Control Mode 3, or to some other general purpose inputs such  
as DCD0 and CTS0, with bits 6 and 5 of ASCI0’s Extension Control Register  
containing the value 11. (Since port B or D must be in Bit Control Mode 3 in  
order to use Bidirectional Mode 2 on port A or C respectively, two port B or D  
pins are natural choices.)  
2. Program the register(s) associated with these two pins to ensure that they are  
inputs. For a PIO port, write a CFHto that port’s Control address to select mode  
3, followed by an I/O Register Control Word that includes 1s for the pins in  
question.  
3. If the port may have been used in another mode since Reset, write 03Hto the  
Control addresses of both port A and B (or C and D), to ensure that interrupts  
are disabled.  
4. Write CFH to the port B (or D) Control address, if necessary, to select Bit  
Control Mode 3, followed by an I/O Control Word to the port B (or D) Control  
address, containing a 1for each input pin and a 0for each output.  
5. Write 8FHto the Port A (or C) Control address, to select Bidirectional Mode 2.  
6. Read the Port A (or C) Data address, to make the BRDY (or DRDY) pin High.  
7. Clear an Output Started flag in memory.  
8. Write the first output byte available to the Port A (or C) Data address, to make  
the ARDY (or CRDY) pin High. Also, set the Output Started flag at this time.  
9. Read the register(s) containing the bits corresponding to the ARDY and BRDY  
(or CRDY and DRDY) lines periodically.  
10. Write the Output Started flag to the Port A Data address if it is set and ARDY  
is Low, indicating that the external device has acknowledged the last output,  
and another output byte is available.  
11. Read BRDY from the Port A Data address, and process it if BRDY is Low,  
indicating that external logic has provided an input character.  
+PVGTTWRVꢀ&TKXGPꢁ1RGTCVKQPꢁKPꢁ$KFKTGEVKQPCNꢁ/QFGꢁꢆꢅꢁThis mode can only be  
used on ports A and C.  
1. If necessary, disable interrupts (DI).  
2. Execute as many of the following instructions that have not been implemented  
since Reset:  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢆꢊ  
1
&
2
ꢀ+ꢋ1ꢀꢐ2+1   
IM  
2
LD A,inttab/256  
LD I,A  
; inttab = start of interrupt table  
LD HL,outisr  
LD (inttab+outvec),HL  
LD HL,inisr  
; outisr = start of output ISR  
; outvec = output vector  
; inisr = start of input ISR  
; invec = input vector  
LD (inttab+invec),HL  
0
 The value of inttabmust be a multiple of 256,that is, bits 7-0 of its  
value must be 00.  
3. Write the even value called outvecin the previous step, to the port A (or C)  
Control address, and the even value called invecto the port B (or D) Control  
address. Bit 0 of both values must be 0.  
4. Write CFH to the port B (or D) Control address, if necessary, to select Bit  
Control Mode 3, followed by an I/O Control Word to the port B (or D) Control  
address, containing a 1for each input pin and a 0for each output.  
5. Write 8FHto the Port A (or C) Control address, to select Bidirectional Mode 2.  
6. Write 97Hto the Port B (or D) Control address, to enable input interrupts and  
indicate that a mask word follows, then write FFHto the Port B (or D) Control  
address, to disable all port B pins from causing an interrupt.  
7. Write 87Hto the Port A (or C) Control address, to enable output interrupts.  
8. Read the Port A (or C) Data address, to make the BRDY (or DRDY) pin High.  
9. Clear an Output Data Count in memory to 0.  
10. Enable interrupts (EI).  
11. When each output byte becomes available:  
a. Disable interrupts (DI)  
b. Check the output data count in memory. If it is 0, write the character to the  
Port A (or C) Data address, to make the ARDY (or CRDY) pin High.  
Otherwise, store the character in memory where the interrupt service  
routine can find it.  
c. Increment the output data count.  
d. Enable interrupts (EI)  
12. If control comes to outisr:  
a. Save as many registers that the interrupt service routine may use (worst  
case), using PUSH, EX AF,AF’, or EXX instructions.  
b. Decrement the output data count in memory. If it is still non-zero, retrieve  
the next output character and output it to the Port A (or C) Data address.  
c. Restore the saved registers, then execute an EI and RETI. The port  
decodes the RETI instruction and re-enables interrupts from itself and  
from lower-priority devices.  
13. If control comes to inisr:  
ꢆꢉ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
2
ꢀ+ꢋ1ꢀꢐ2+1   
1
&
a. Save as many registers as the interrupt service routine may use (worst  
case), using PUSH, EX AF,AF’, or EXXinstructions.  
b. Read the Port A (or C) Data address to obtain the byte from the external  
device, and process it.  
c. Restore the saved registers, then execute an EI and RETI. The port  
decodes the RETI instruction and re-enables interrupts from itself and  
from lower-priority devices.  
1VJGTꢁ$KFKTGEVKQPCNꢁ1RGTCVKPIꢁ/QFGUꢅꢁSoftware can be written for other Bidi-  
rectional possibilities than those described above. For example, output can be  
handled in an interrupt-driven fashion while input can be handled by polling, or  
operate in the opposite direction. Also, when using input interrupts, port B or D  
input pins can be left unmasked to cause interrupts, which use the same vector as  
input interrupts.  
2QNNGFꢁ1RGTCVKQPꢁKPꢁ$KVꢁ%QPVTQNꢁ/QFGꢁꢌꢅꢁ  
1. Write 03Hto this port’s Control address, if this port may have been used in  
another mode since Reset, to ensure that interrupts from the port are disabled.  
2. Write CFHto the port’s Control address, to select Bit Control Mode 3.  
3. Write an I/O Control Word to the port’s Control address, containing a 1for  
each input pin and a 0for each output pin.  
4. Read the port’s Data address whenever the state of inputs is needed. For output  
bits this action returns the data last written to the Data address.  
5. Write the new states to the port’s data address whenever the state of outputs  
needs to change. Data written to input bits is ignored.  
+PVGTTWRVꢀ&TKXGPꢁ1RGTCVKQPꢁKPꢁ$KVꢁ%QPVTQNꢁ/QFGꢁꢌꢅꢁ  
1. If necessary, disable interrupts (DI)  
2. Execute as many of the following instructions as have not already been  
implemented since Reset:  
IM  
2
LD A,inttab/256  
LD I,A  
; inttab = start of interrupt table  
LD HL,ourisr  
LD (inttab+ourvec),HL  
; ourisr = start of ISR  
; ourvec = our vector  
0
 The value of inttabmust be a multiple of 256, that is, bits 7-0 of its  
value must be 00.  
3. Write the even value called ourvecin the previous step, to the port’s Control  
address. Bit 0 of this value must be 0.  
4. Write CFHto the port’s Control address, to select Bit Control Mode 3.  
5. Write an I/O Control Word to the port’s Control address, containing a 1for  
each input pin and a 0for each output pin. If all pins are outputs, the port does  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢆꢆ  
1
&
2
ꢀ+ꢋ1ꢀꢐ2+1   
not interrupt. See the preceding section,“Polled Operation in Bit Control Mode  
3”.  
6. Write a value of form 1ah10111to the port’s Control address. This enables  
interrupts from the port and indicates that a mask value follows. The h bit is 1  
if a High on the selected port pin(s) is the active state, or 0if a Low on the  
pin(s) is the active state. The a bit matters only if the following mask word  
contains 0s for more than one input pin. In this case a 0in the a bit makes the  
port request an interrupt when any of the selected pins are in the selected active  
state, and a 1in a makes the port request an interrupt when all of the selected  
pins are in the active state. The former is called an OR function and the latter  
an AND function.  
7. Write a mask value to the port’s Control address. The port ignores bits in this  
value corresponding to output pins. For input pins, a 0enables the pin to cause  
an interrupt as described above, while a 1prevents the pin from causing an  
interrupt. If no input pins are enabled by a corresponding 0, the port does not  
interrupt: See the preceding section “Polled Operation in Bit Control Mode 3”.  
8. Enable interrupts (EI).  
9. Whenever the state of inputs is needed, read the port’s Data address. For output  
bits this action returns the data last written to the Data address.  
10. Write the new states to the port’s data address whenever the state of outputs  
needs to change. Data written to input pins is ignored.  
11. Monitor the input pin(s) selected by 0s in step 6 for the condition specified by  
the h and a bits. When this logical state goes from false to true, the port  
requests an interrupt.  
12. When control comes to ourisr:  
a. Software saves as many registers as it might use (worst-case), using  
PUSH, EX AF,AF’, or EXXinstructions.  
b. Software may need to read the port’s Data address, or other registers, to  
gather more data about current conditions.  
c. The interrupt service routine’s (ISR’s) response to the interrupt is  
application-dependent. No action is necessary to clear the interrupt. The a  
and hbits, or the mask, may be changed for the next interrupt.  
d. The ISR concludes by restoring the saved registers, followed by EIand  
RETIinstructions. The port decodes the RETIinstruction and re-enables  
interrupts from itself and from lower-priority devices.  
2+1UꢁCPFꢁ4GUGV  
Reset configures the PIO ports as follows:  
1. Each port is placed in Input Mode 1. This disables output drive on all port pins.  
2. XRDYoutputs are forced Low.  
3. Interrupts are disabled.  
ꢆꢏ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
&/#ꢀ%  
1
&
4. Output registers for modes 0, 2, and 3 are cleared to 0s, which correspond to  
Lows.  
5. Mode 3 mask registers are cleared to 0s to disable interrupts for all pins.  
&/#ꢁ%*#00'.5  
The Z80S188 includes two DMA channels called DMA0 and DMA1. Both chan-  
nels can transfer data between memory and a peripheral in I/O space. In addition,  
DMA0 can perform memory to memory block transfers, and transfers between  
memory and memory-mapped I/O devices.  
Both DMA channels are of the flowthrough type, in which each byte transferred  
requires two bus cycles, one to read the source and the second to write the desti-  
nation. Because of this technique, neither memory nor peripherals differentiate  
the bus cycles performed by the DMA channels, because they are identical to bus  
cycles from the processor.  
DMA transfer can occur as fast as 6 clocks/byte. At 33 MHz, the speed is up to 5.5  
MB/second. Destination/output devices typically require edge-sensitive request  
mode, in which case the maximum rate is 9 clocks/byte, or 3.67 MB/second at 33  
MHz.“DMA Registers”, on page 132, describes the registers associated with the  
DMA channels.  
&/#ꢁ$CUKEU  
DMA0 has two 23-bit address registers and a 16-bit byte count, while DMA1 has  
one 23-bit memory address registers and a 16-bit I/O address register and byte  
count. For DMA0 the address registers are called the Source and Destination  
Address Registers (SAR and DAR). DMA1’s registers and called the Memory and  
I/O Address Registers (MAR and IAR).  
Each address register is divided into three Z80S188 I/O registers, called L(LOW),  
H(High), and B. When the DMA channel is operating, A7-0is driven from the L  
register and A15-8from the H register. For memory addresses (always for MAR)  
the channel drives A22-16 from the LS 7 bits of the B register. For I/O addresses  
(always for IAR) the channel uses the LS three bits of the B register to select the  
source of the DMA Request signal that controls data transfer.  
Each byte count register is divided into two Z80S188 I/O registers, called L(Low)  
and H(High).  
After programming a channel’s address and byte count registers, software starts  
the channel by setting its Enable bit in the DSTAT register (DE0 or DE1). As a  
DMA channel transfers each byte, the byte counter register decrements. When a  
channel has decremented the byte count to 0, it becomes inactive by clearing the  
Enable bit.  
Software can select whether a channel increments or decrements a memory  
address as it transfers each byte. DMA0 also has an option to keep a memory  
address fixed. To select this fixed address option for the source or destination,  
DMA0 must be a memory-mapped I/O device that provides a DMA Request  
signal on the DREQ0pin.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢆꢍ  
1
&
&/#ꢀ%  
&/#ꢁ4GSWGUVU  
An external peripheral, that needs a DMA channel to transfer data for it, must  
provide a DMA request signal to the DREQ0pin for DMA0, and/or to the DREQ1  
pin for DMA1. A DMA request can be connected directly to one of these pins if  
only one external peripheral is serviced by that DMA channel, or via external  
selection logic if more than one external device is to use the DMA channel.  
Bits corresponding to address bits 18-16 of the register containing the I/O address  
of a peripheral, select between the external DREQpin and internal peripherals as  
the source of each DMA channel’s request. For a memory-mapped peripheral, that  
is, a source or destination of a DMA0 memory-to-memory operation that’s  
programmed to use a fixed address, the DREQ0pin is always used as the  
REQUEST signal.  
The DMA request signal indicates when an input or source peripheral has a byte  
to be transferred to memory, or when an output or destination peripheral needs a  
byte from memory.  
'FIGꢀꢁXUꢅꢁ.GXGNꢀ5GPUKVKXGꢁ4GSWGUVU  
DMA requests can be programmed to be Low-level sensitive or falling-edge  
sensitive. For an output/destination peripheral, the timing requirements on the  
DMA Request signal dictate falling-edge mode. An input/source peripheral can  
use either an edge- or level-sensitive DMA Request.  
Figure 16 illustrates the timing of a level-sensitive DMA Request. DMA opera-  
tion is triggered when the Z80S188 samples the DMA request line Low. In the  
figure below, the Z80S188 samples the Request line again, at the rising PHI edge  
that begins the second-last clock cycle of the machine cycle that writes the byte to  
the destination. If the Request line is Low at that time, as it is in the rightmost  
down-arrow below, DMA operation continues for another byte. If the Request is  
sampled High, as at the leftmost down-arrow below, the current DMA channel  
relinquishes use of the bus (to the processor, the other DMA channel, or an  
external master) after completing the write cycle.  
CPU Machine Cycle DMA Read Cycle  
T1 T2 T3 T1 T2 T3 T1  
DMA Write Cycle (I/O)  
DMA Write Cycle  
DMA Read Cycle  
T1  
T2  
T2  
TW  
TW  
T3  
TW  
T3  
TW  
..  
..  
.*.*  
**  
**  
Request  
*.*. Request is sampled at  
(
ꢄꢐꢅ 2  
ꢋ&/#ꢁ1  
ꢁ.  
ꢀ5  
ꢁ4  
ꢆꢇ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
&/#ꢀ%  
1
&
Figure 17 illustrates the timing of an edge-sensitive request. At the first down-  
arrow, the DMA channel writes a byte to the destination. A new falling edge has  
not occurred by the second-last rising PHI edge of the cycle, so the bus is relin-  
quished to the processor. At the same sampling point in the processor cycle, a new  
falling edge has occurred on the Request line. The DMA reads and then writes a  
byte. At the same point in its write cycle, a new falling edge has not occurred, and  
bus control is returned to the processor, and the DMA channel does not operate  
again until the Request line has gone High and then Low again, some time past the  
right edge of the figure below.  
CPU Machine  
Cycle  
CPU Machine  
Cycle  
DMA Read  
Cycle  
DMA Write  
Cycle  
DMA Write Cycle  
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
2
3
W
3
1
2
3
1
2
3
1
2
W
3
1
φ
..  
.*.*  
.*.*  
..  
**  
**  
Request  
..  
**Request is sampled at  
(
ꢄꢑꢅ 2  
ꢋ&/#ꢁ1  
ꢁ' ꢀ5 ꢁ4  
/GOQT[ꢀVQꢀ/GOQT[ꢁ/QFGU  
In a DMA0 memory-to-memory operation, in which both the source and destina-  
tion are programmed for address incrementing or decrementing, there is no  
peripheral to supply a request signal to control the transfer. In this case, software  
can select between two modes of operation by programming MMOD, bit 1 of the  
DMA Mode register.  
If MMOD is 0, the processor and DMA channel alternate bus cycles until the  
DMA has completed the block transfer and decremented its byte count to 0. This  
mode is called CYCLE STEAL mode.  
If MMOD is 1, the DMA channel does continuous cycles until it completes the  
block transfer, and the processor can do nothing during this time. This mode is  
called BURST mode.  
&/#ꢁ+PVGTTWRVU  
Software can enable interrupts from each DMA channel, which then requests an  
interrupt when it has decremented its byte count to 0. When the processor  
acknowledges such an interrupt, the interrupt service routine address is fetched  
from memory at (I : IL : 8) for DMA0 or (I : IL : 10) for DMA1.  
If the interrupt service routine does not have another block of data for the DMA  
channel to transfer, it prevents further interrupts by clearing the interrupt enable  
bit (DSTAT bit 2 for DMA0, bit 3 for DMA1) before it re-enables interrupts with an  
EI instruction. If the ISR programs the DMA channel for another transfer, inter-  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢆꢁ  
1
&
&/#ꢀ%  
rupts can be re-enabled with an EI instruction, after the DMA is restarted by  
writing DCNTL.  
5GVVKPIꢁ7RꢁCꢁ&/#ꢁ6TCPUHGT  
9TKVGꢁVJGꢁ#FFTGUUꢁ4GIKUVGTUꢅꢁFor DMA0, this transfer includes SAR0L, SAR0H,  
SAR0B, DAR0L, DAR0H, and DAR0B. If the source is in I/O space, write SAR0B  
with a code to select the source of the DMA Request for DMA0, as described in  
Table 11:  
6
ꢁꢄꢄꢅ 5#4ꢃ$ꢁ  
 ꢁ5  
 ꢁ+ꢋ1ꢁ5  
5#4ꢃ$ꢁ$KVUꢁꢆꢀꢃ  
&/#ꢁ4GSWGUVꢁ5QWTEG  
ꢃꢃꢃ  
ꢃꢃꢂ  
ꢃꢂꢃ  
ꢃꢂꢂ  
ꢂꢃꢃ  
ꢂꢃꢂ  
ꢂꢂꢃ  
ꢂꢂꢂ  
&4'3ꢃꢀRKP  
#5%+ꢃꢀ4&4(  
#5%+ꢂꢀ4&4(  
4GUGTXGFꢅꢀFQꢀPQVꢀRTQITCO  
5+1ꢀ#ꢀ4Z  
5+1ꢀ$ꢀ4Z  
2+1ꢀ#ꢀ+P  
2+1ꢀ$ꢀ+P  
If the DMA destination is in I/O space, write DAR0B with a code to select the  
source of the DMA Request for DMA0, as described in Table 12:  
6
ꢁꢄꢆꢅ &#4ꢃ$ꢁ  
 ꢁ&  
 ꢁ+ꢋ1ꢁ5  
&#4ꢃ$ꢁ$KVUꢁꢆꢀꢃ  
&/#ꢁ4GSWGUVꢁ5QWTEG  
ꢃꢃꢃ  
ꢃꢃꢂ  
ꢃꢂꢃ  
ꢃꢂꢂ  
ꢂꢃꢃ  
ꢂꢃꢂ  
ꢂꢂꢃ  
ꢂꢂꢂ  
&4'3ꢃꢀRKP  
#5%+ꢃꢀ6&4'  
#5%+ꢂꢀ6&4'  
4GUGTXGFꢅꢀFQꢀPQVꢀRTQITCO  
5+1ꢀ#ꢀ6Z  
5+1ꢀ$ꢀ6Z  
2+1ꢀ#ꢀ1WV  
2+1ꢀ$ꢀ1WV  
For DMA1, software must write MAR1L, MAR1H, MAR1B, IAR1L, IAR1H, and  
IAR1B. Write IAR1B with a code to select (with the DIM1 bit in the DCNTL  
register) the source of the DMA Request for DMA1, as described in Table 13:  
ꢏꢃ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
&/#ꢀ%  
1
&
6
ꢁꢄꢌꢅ +#4ꢄ$ꢁ  
+#4ꢄ$ꢁ$KVUꢁꢆꢀꢃ  
&+/ꢄ  
&/#ꢁ4GSWGUVꢁ5QWTEG  
ꢃꢃꢃ  
ꢃꢃꢂ  
:
&4'3ꢂꢀRKP  
#5%+ꢃꢀ6&4'  
#5%+ꢃꢀ4&4(  
#5%+ꢂꢀ6&4'  
#5%+ꢂꢀ4&4(  
4GUGTXGFꢅꢀFQꢀPQVꢀRTQITCO  
5+1ꢀ#ꢀ6Z  
ꢃꢀꢐOGO+ꢋ1ꢑ  
ꢂꢀꢐ+ꢋ1OGOꢑ  
ꢃꢀꢐOGO+ꢋ1ꢑ  
ꢂꢀꢐ+ꢋ1OGOꢑ  
:
ꢃꢂꢃ  
ꢃꢂꢂ  
ꢂꢃꢃ  
ꢃꢀꢐOGO+ꢋ1ꢑ  
ꢂꢀꢐ+ꢋ1OGOꢑ  
ꢃꢀꢐOGO+ꢋ1ꢑ  
ꢂꢀꢐ+ꢋ1OGOꢑ  
ꢃꢀꢐOGO+ꢋ1ꢑ  
ꢂꢀꢐ+ꢋ1OGOꢑ  
ꢃꢀꢐOGO+ꢋ1ꢑ  
ꢂꢀꢐ+ꢋ1OGOꢑ  
5+1ꢀ#ꢀ4Z  
ꢂꢃꢂ  
ꢂꢂꢃ  
ꢂꢂꢂ  
5+1ꢀ$ꢀ6Z  
5+1ꢀ$ꢀ4Z  
2+1ꢀ#ꢀ1WV  
2+1ꢀ#ꢀ+P  
2+1ꢀ$ꢀ1WV  
2+1ꢀ$ꢀ+P  
9TKVGꢁVJGꢁ$[VGꢁ%QWPVꢁ4GIKUVGTUꢅꢁWrite the less-significant byte to BCR0L or  
BCR1L, and the MS byte to BCR0H or BCR1H. An all-0 value makes the DMA  
transfer 65,536 bytes.  
(QTꢁ&/#ꢃꢍꢁYTKVGꢁVJGꢁ&/1&'ꢁ4GIKUVGTꢅꢁBits 3-2 select the operating mode for  
the source, as described in Table 14. Bits 5-4 select the operating mode for the  
destination, as described in Table 15. For memory-to-memory block transfers, bit  
1 (MMOD) selects between Cycle Steal and Burst mode, as described in  
“Memory-to-Memory Modes”, on page 59.  
6
ꢁꢄꢎꢅ &/#ꢃꢁ5  
/QFG  
ꢁ/  
&/1&'ꢁꢌꢀꢆ  
ꢃꢃ  
ꢃꢂ  
ꢂꢃ  
ꢂꢂ  
+PETGOGPVꢀ/GOQT[ꢀ#FFTGUU  
&GETGOGPVꢀ/GOQT[ꢀ#FFTGUU  
(KZGFꢀ/GOQT[ꢀ#FFTGUUꢀꢐTGSWGUVꢀQPꢀ&4'3ꢃꢀRKPꢑ  
(KZGFꢀ+ꢋ1ꢀ#FFTGUU  
6
ꢁꢄꢏꢅ &/#ꢃꢁ&  
/QFG  
ꢁ/  
&/1&'ꢁꢏꢀꢎ  
ꢃꢃ  
ꢃꢂ  
ꢂꢃ  
ꢂꢂ  
+PETGOGPVꢀ/GOQT[ꢀ#FFTGUU  
&GETGOGPVꢀ/GOQT[ꢀ#FFTGUU  
(KZGFꢀ/GOQT[ꢀ#FFTGUUꢀꢐTGSWGUVꢀQPꢀ&4'3ꢃꢀRKPꢑ  
(KZGFꢀ+ꢋ1ꢀ#FFTGUU  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢏꢂ  
1
&
&/#ꢀ%  
9TKVGꢁVJGꢁ&%06.ꢁ4GIKUVGTꢅꢁTypically, software reads this register, modifies the  
bits for the current DMA channel, and writes back the result. Bits 7-4 select the  
number of waits to insert for Memory and I/O accesses, as described in “Central  
Wait State Generator”, on page 36. For DMA0, bit 2 selects edge- vs. level-sensi-  
tivity on the DMA Request, as described in an earlier section. For DMA1, bit 3  
selects between edge- and level-sensitivity, and bits 1-0 select the operating mode,  
as described in Table 16:  
6
ꢁꢄꢐꢅ &/#ꢄꢁ1  
ꢁ/  
&%06.ꢁꢄꢀꢃ /QFG  
ꢃꢃ  
ꢃꢂ  
ꢂꢃ  
ꢂꢂ  
+PETGOGPVꢀ/GOQT[ꢀ#FFTGUUꢀꢀ(KZGFꢀ+ꢋ1ꢀ#FFTGUU  
&GETGOGPVꢀ/GOQT[ꢀ#FFTGUUꢀꢀ(KZGFꢀ+ꢋ1ꢀ#FFTGUU  
(KZGFꢀ+ꢋ1ꢀ#FFTGUUꢀꢀ+PETGOGPVꢀ/GOQT[ꢀ#FFTGUU  
(KZGFꢀ+ꢋ1ꢀ#FFTGUUꢀꢀ&GETGOGPVꢀ/GOQT[ꢀ#FFTGUU  
9TKVGꢁVJGꢁ&56#6ꢁ4GIKUVGTꢁVQꢁ'PCDNGꢁVJGꢁ&/#ꢁ%JCPPGNꢅꢁSoftware reads this  
register, modifies the bits noted below, and writes back the result. For DMA0,  
write 110to bits 6-4, keep bit 3 unchanged, and write a 1to bit 2 if DMA0 inter-  
rupts when it has decremented the byte count to 0, or a 0to bit 2 if DMA0 does  
not interrupt.  
For DMA1, write a 1to bit 7, 01to bits 5-4, write a 1to bit 3 if the user requires  
DMA1 to interrupt when it has decremented the byte count to 0, or a 0to bit 3 if  
not, and keep bit 2 unchanged.  
0/+ꢁCPFꢁ&/'  
When software writes to DSTATto start either DMA channel as described above,  
this action also sets the DMA Master Enable (DME) bit that can be read as bit 0 in  
DSTAT. A 1in this bit enables operation by either or both DMA channels.  
To guarantee that a Non-Maskable Interrupt (NMI) is handled promptly, the  
Z80S188 clears DME to suspend DMA operation, when NMILow is detected.  
As soon as possible, the NMIservice routine reads DSTAT. For each DMA  
channel, if the DEbit (DSTAT7 or 6) is 1, and the associated device (if any) has  
not overrun or underrun, the service routine clears that channel’s DWE bit  
(DSTAT5 or 4) to 0. If either DWE bit is 0, the result is written back to DSTAT.  
This action sets DME again and re-enables DMA operation.  
&/#ꢁ%JCPPGNꢁ%QORNGVKQP  
While a DMA channel is operating, software can stop it by reading the DSTAT  
register, clearing bits 6 and 4 for DMA0, or 7 and 5 for DMA1, and writing the  
result back to DSTAT.  
Otherwise, if software enabled the channel to interrupt, when the channel decre-  
ments the byte count to 0, an interrupt is requested.  
ꢏꢎ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
9
ꢌ& ꢀ6  
1
&
If software does not enable the DMA channel to interrupt, it polls the Enable bit in  
DSTAT (bit 6 for DMA0, bit 7 for DMA1) to determine when the DMA channel  
finishes transferring the current block of data. In some applications, software can  
use status or an interrupt from the associated peripheral device, to determine  
completion of the block transfer.  
*CPFNKPIꢁ&/#ꢁ+PVGTTWRVU  
When the conditions noted in “On-Chip Interrupt Handling”, on page 29 are met  
with respect to a DMA interrupt request, the processor fetches the interrupt  
service routine address from memory at (I:IL:8) for DMA0 or  
(I:IL:10) for DMA1. The service routine, as a minimum:  
1. Reads the DSTAT register to determine that the DE bit for the DMA channel  
corresponding to the service routine entry point, has gone from 1to 0. If a  
common routine is used for both DMAs, the service routine determines which  
DE bit has been cleared, or both.  
2. Reprograms the channel’s registers if there is more for a completed DMA  
channel to process, and restart it, as described above.  
3. Clears the DIE bit for the channel, in the DSTAT register, to prevent another  
interrupt for the same DMA completion, if there is no more data to process.  
4. The ISR ends with an EI and a RET instruction, to return to the interrupted  
process.  
9#6%*ꢀ&1)ꢁ6+/'4  
The Watchdog Timer (WDT) can be used to protect against unreliable software,  
power line faults that put the processor into unusual states, and other processes  
harmful to the device.  
When the WDT is enabled, software must reload it periodically to prevent it from  
driving the WDTOUT output Low. WDTOUT can be connected to RESET, to  
NMI, or to external logic. The time period, within which software must reload the  
16 18 20  
WDT to prevent a Low on WDTOUT, is programmable among 2 , 2 , 2 , or  
22  
2
system clocks.  
The registers in the WDT are described in “Watch-Dog Timer Registers”, on page  
143. Several provisions of the WDT are intended to enhance its integrity against  
runaway execution. The WDT can be reloaded by writing the specific value 4EH  
to the WDT Command register. This register can only be disabled by writing a 0  
to bit 7 of the WDT Master register, then writing the value B1Hto the WDT  
Command register.  
%1706'4ꢋ6+/'4ꢁ%*#00'.5ꢁꢈ%6%5  
The Z80S188 includes the equivalent of one Z80 CTC device: four Counter/Timer  
Channels numbered 0 through 3. Each channel includes a readable 8-bit down  
counter, a prescaler that can divide the channel’s input clock by 16 or 256, a  
Clock/Trigger input (CLK/TRG0-3), and a Zero Count/Timeout output (ZC/TO0-3).  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢏꢊ  
1
&
%
ꢋ6  
ꢀ%  
ꢀꢐ%6%   
Each channel can operate in a Counter mode, in which the CLK/TRG pin provides  
its down-count clock, or in TIMER mode, in which the down-count clock is the  
Z80S188’s master PHI clock divided by 16 or 256, and in which the CLK/TRG pin  
can optionally provide a trigger to start down-counting.  
In both modes, when down-counting reaches 0, the channel produces a pulse on  
its ZC/TO output, and reloads the down counter from its Time Constant register.  
%6%ꢁ#FFTGUUGUꢁCPFꢁ4GIKUVGTU  
Each CTC channel has one 8-bit address in I/O space. Like the other Z80 periph-  
erals in the Z80S188, CTC I/O decoding can include A15-8all 0as for 80180  
register decoding, or can ignore A15-8, depending on the AllPageIO bit in the  
Interrupt Priority register. The latter choice allows use of Z80 I/O instructions for  
legacy-code compatibility.  
6
ꢁꢄꢑꢅ %6%ꢁ+ꢋ1ꢁ#  
%JCPPGN +ꢋ1ꢁ#FFTGUU  
&ꢃ*  
&ꢂ*  
&ꢎ*  
&ꢊ*  
“Counter/Timer (CTC) Registers”, on page 144, describes the use of the CTC  
addresses.  
Reading a CTC channel’s address always yields the contents of its down counter.  
Except when a channel is expecting a Time Constant as described below, writing  
an even value (having a 0in bit 0) to channel 0’s address sets bits 7-3 of the inter-  
rupt vector value for all four channels, while writing an odd value (having a 1in  
bit 0) to any channel loads its Channel Control register. If bit 2 written to a  
Channel Control register is 1, the next write to that channel’s address loads the  
channel’s Time Constant register.  
%JCPPGNꢁ%QPVTQNꢁ4GIKUVGTꢅꢁBit 7 of this register must be 1to enable an interrupt  
from the channel when its down counter reaches 0, or 0if an interrupt is not  
required.  
A 1in bit 6 selects Counter mode, in which the down-counter is decremented by  
the selected edge on the CLK/TRG input, while a 0in bit 6 selects Timer mode, in  
which the down-counter is decremented by the PHI clock divided by 16 or 256,  
and in which the selected edge on CLK/TRG can optionally enable the channel to  
start down-counting.  
In Timer mode only, a 1in bit 5 conditions the prescaler to divide PHI by 256,  
while a 0in bit 5 divides PHI by 16. In Counter mode, bit 5 has no significance.  
In Counter mode, a 1in bit 4 selects rising edges on CLK/TRG to decrement the  
down-counter, while a 0selects falling edges. In Timer mode with a 1in bit 3, a 1  
ꢏꢉ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
%
ꢋ6  
ꢀ%  
ꢀꢐ%6%   
1
&
in bit 4 selects a rising edge on CLK/TRG to start down-counting, while a 0selects  
a falling edge on CLK/TRG. In Timer mode with a 0in bit 3, bit 4 has no  
significance.  
In Timer mode, a 1in bit 3 conditions the channel to wait for the edge selected by  
bit 4, following the rising edge of machine cycle T2 after the one loading the Time  
Constant. A 0in bit 3 starts the prescaler counting at the rising edge of T2. In  
Counter mode, bit 3 is insignificant.  
A 1written to bit 2 conditions a channel to load the next byte written to the  
channel’s address into the Time Constant register. Writing a 0to bit 2 keeps the  
channel decoding bit 0 to select between the Channel Control register and the  
Interrupt Vector register. If a channel is already operating, and software writes 10  
to bits 2-1, the subsequently-written Time Constant cannot take effect until the  
next time the channel counts down to 0.  
A 1written to bit 1 stops the channel, if it was running, and resets it. If software  
writes 11to bits 2-1, the channel is re-enabled for operation when software writes  
the new Time Constant. Writing 0to bit 1 of a running channel, allows the  
channel to continue running.  
Bit 0 must be 1to identify a byte for the Channel Control register. Writing a byte  
to channel 0, with a 0in bit 0, writes bits 7-3 of the value into the Interrupt Vector  
register that applies to all four channels.  
6KOGꢁ%QPUVCPVꢁ4GIKUVGTꢅꢁAfter software writes a 1to bit 2 of a Channel Control  
register, the next byte written to that channel’s address is loaded into the channel’s  
Time Constant register. If the channel is not already running, the value is also  
loaded into the down-counter, and the channel is enabled to count down from that  
value. (In Timer mode with a 1in bit 3 of the CCR, actual down-counting is  
delayed until the channel senses the selected edge on CLK/TRG.)  
A 0time constant forces a channel count down from 256.  
+PVGTTWRVꢁ8GEVQTꢁ4GIKUVGTꢅꢁIf software writes a value with a 0in bit 0 to channel  
0’s address, bits 7-3 of the value are captured in this register. Subsequently, when  
any CTC channel interrupts the processor (assuming the processor is in INT0  
interrupt mode 2), the CTC returns these bits as bits 7-3 of the Interrupt Vector,  
with the number of the interrupting channel as bits 2-1 and a 0in bit 0.  
4GCFKPIꢁVJGꢁ&QYPꢁ%QWPVGTꢅꢁReading any channel’s address yields the current  
contents of its down-counter. The software can remembers the status of each  
channel.  
%6%ꢁ+PVGTTWRVU  
The CTC, PIO, and SIO modules perform logical OR instructions on interrupt  
requests using those from any external peripherals that may be connected to the  
INT0 pin. These external peripherals drive INT0 Low in an open-collector or open-  
drain fashion. The Z80S188 drives INT0 Low in an open-drain fashion when any  
of the CTC or SIO channels or PIO ports are requesting an interrupt.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢏꢆ  
1
&
%
ꢋ6  
ꢀ%  
ꢀꢐ%6%   
Each CTC channel can request an interrupt, and includes state bits called Interrupt  
Pending (IP) and Interrupt Under Service (IUS). The 4 CTC channels share a 5-bit  
base interrupt vector. A CTC channel that is the highest priority requesting device  
during an interrupt acknowledge cycle returns the channel number in bit 2-1 of the  
interrupt vector.  
+PVGTTWRVꢁ2TKQTKV[ꢁ&CKU[ꢁ%JCKPKPIꢅꢁSince more than one port, channel, or inter-  
rupt type can request an interrupt at the same time, a mechanism is needed to  
select the order in which their requests are serviced. Z80 peripherals and certain  
other ZiLOG devices use a daisy chain to control the relative priority of interrupt  
requests among multiple devices and interrupt types within devices.  
As described in “Interrupt Acknowledge Daisy Chaining”, on page 18, each CTC  
channel includes an Interrupt Enable In (IEI) pin, from which permission is  
received to interrupt from higher-priority devices, and an Interrupt Enable Out  
(IEO) pin, on which permission is received to interrupt to lower-priority devices.  
The daisy-chain order and priority within each Z80-device-equivalent module is  
fixed. For the CTC, channel 0 has the highest priority and channel 3 the lowest.  
The CTC, PIOs, and SIO in the Z80S188 are always consecutive on the daisy  
chain, but the relative priority among them is programmable in the Interrupt  
Priority register.  
See “Interrupt Acknowledge Daisy Chaining”, on page 18 for more information  
about interrupt daisy-chaining.  
%6%ꢁ5QHVYCTGꢁ5GSWGPEGU  
The following sections describe polled and interrupt-driven operations in both  
Counter and Timer modes. These operations apply equally to any of the four chan-  
nels.  
2QNNGFꢁ1RGTCVKQPꢁKPꢁ%QWPVGTꢁ/QFGꢅꢁ  
1. Write a 47Hto the channel’s address if falling edges on the channel’s CLK/  
TRGn pin decrement the counter, or 57Hif rising edges decrement the counter.  
2. Write the value from which the counter counts down, to the channel’s address.  
A 0 value forces the channel count down from 256. This value is loaded into  
the counter and the channel’s TIME CONSTANT register. Unless software  
reloads a new TIME CONSTANT value in step 5, this is also the value from  
which the counter restarts, after it has counted down to 0.  
3. Enable the channel to count down by 1 whenever the selected edge occurs on  
its CLK/TRGn pin. Software can read the channel’s address at any time, to  
determine the counter value.  
4. When a channel’s counter contains 01, and the selected edge occurs on its  
CLK/TRGn pin, instead of going to 00, the counter is reloaded with the value  
currently in the channel’s Time Constant register. This event is accompanied  
by a High pulse on the channel’s ZC/TON pin. Unless software is monitoring  
the counter very closely, so that it is guaranteed to read every value of the  
counter, the most reliable method for software to detect this event is to  
ꢏꢏ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
%
ꢋ6  
ꢀ%  
ꢀꢐ%6%   
1
&
compare successive values that have read from the channel’s address. When a  
value is larger than its predecessor, the counter has counted down to 0 and  
reloaded. (Software cannot detect reloads if the Time Constant value is 01.)  
5. To load a new value into the Time Constant register while the channel is  
running, software first writes a 45H or 55H to the channel’s address  
(depending on the same edge selection as in step 1), and then writes the new  
Time Constant value to the channel’s address.  
+PVGTTWRVꢀ&TKXGPꢁ1RGTCVKQPꢁKPꢁ%QWPVGTꢁ/QFGꢅꢁ  
1. Disable interrupts (DI), if necessary.  
2. Execute as many of the following instructions that have not been implemented  
since Reset:  
IM  
2
LD A,inttab/256  
LD I,A  
; inttab = start of interrupt table  
LD HL,ctcNisr  
LD (inttab+ctcNvec),HL  
; ctcNisr = start of ISR  
; ctcNvec = our vector  
0
 The value of inttabmust be a multiple of 256, that is, bits 7-0 of its  
value must be 00.  
3. Bit 0 of the value called ctcNvecin the previous step must be 0, and  
bits 2-1 must be equal to this channel’s number. Unless this step has been done  
previously, write this value to channel 0’s address (D0H).  
4. Write a C7Hto this channel’s address if falling edges on the channel’s CLK/  
TRGn pin decrements the counter, or D7H if rising edges decrement the  
counter.  
5. Write the value from which the counter counts down, to the channel’s address.  
A 0value makes the channel count down from 256. This value is loaded into  
the counter and the channel’s Time Constant register. Unless software reloads  
a new Time Constant value in step 6, this is also the value from which the  
counter restarts, after it has counted down to 0.  
6. The channel is enabled to count down from the value written in the previous  
step, whenever the selected edge occurs on its CLK/TRGn pin. If the counter  
restarts from a different value when it reaches 0, software immediately writes  
a C5Hor D5Hto the channel’s address (depending on the same edge selection  
as in step 4), and then writes the new Time Constant value to the channel’s  
address.  
7. Software reads the counter’s value from the channel’s address at any time.  
8. When a channel’s counter contains 01, and the selected edge occurs on its  
CLK/TRGn pin, instead of containing the value 00, the counter reloads with  
the value currently in the channel’s Time Constant register. This event is  
accompanied by a High pulse on the channel’s ZC/TOn pin, and the channel  
requests an interrupt.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢏꢍ  
1
&
%
ꢋ6  
ꢀ%  
ꢀꢐ%6%   
9. When the processor acknowledges the interrupt, the CTC automatically  
supplies the channel’s number in bits 2-1 of the interrupt vector, so that control  
comes to ctcNisr. At that time:  
a. Software saves as many registers as it may use (worst-case), using PUSH,  
EX AF,AF’, or EXXinstructions.  
b. If the counter must be reloaded with a different value the next time it  
reaches 0, the interrupt service routine (ISR) writes a C5Hor D5Hto the  
channel’s address (depending on the same edge selection as in step 4), and  
then writes the new Time Constant value to the channel’s address.  
c. Other actions by the ISR are application-dependent.  
d. The ISRconcludes by restoring the saved registers, followed by EIand  
RETI instructions. The channel decodes the RETI instruction and re-  
enables interrupts from itself and from lower-priority devices.  
2QNNGFꢁ1RGTCVKQPꢁKPꢁ6KOGTꢁ/QFGꢅꢁ  
1. Write a value of form 00pet111Bto the channel’s address. A 0in the pbit  
conditions the channel to decrement its counter once every 16 PHI clocks,  
while a 1in bit p (20H) conditions the channel to decrement the counter once  
every 256 PHI clocks. A 0in the t bit conditions the timer to start as soon as  
the following time constant is written, while a 1in bit t forces the timer to wait  
for the time constant, then the edge selected by the e bit, on its CLK/TRGn pin.  
If t is 1and eis 0(08H), the channel waits for a falling edge on CLK/TRGn  
before starting the timer. If tand eare both 1(18H), the channel waits for a  
rising edge on CLK/TRGn before starting the timer.  
2. Write the value from which the timer counts down, to the channel’s address.  
This value is loaded into the counter and the channel’s Time Constant register.  
Unless software reloads a new Time Constant value, this is also the value from  
which the timer restarts, after it has counted down to 0.  
3. Software can read the channel’s address at any time, to determine the counter  
value.  
4. When a channel’s counter is decremented to 00, it is reloaded with the value  
currently in the channel’s Time Constant register. This event is accompanied  
by a High pulse on the channel’s ZC/TOn pin. Unless software is monitoring  
the counter very closely, so that every value of the counter is read, the most  
reliable way for software to detect this event is to compare successive values  
that were read from the channel’s address. When a value is larger than its  
predecessor, the counter has counted down to 0 and then reloaded. (Software  
cannot detect reloads if the Time Constant value is 01.)  
5. To load a new value into the Time Constant register while the channel is  
running, software waits for any programmed CLK/TRG wait to finish, as  
evidenced by the counter value being decremented from its initial value. The  
software writes 00pet101Bto the channel’s address, and then writes the new  
Time Constant value to the channel’s address.  
ꢏꢇ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
%
ꢋ6  
ꢀ%  
ꢀꢐ%6%   
1
&
+PVGTTWRVꢀ&TKXGPꢁ1RGTCVKQPꢁKPꢁ6KOGTꢁ/QFGꢅꢁ  
1. Disable interrupts (DI), if necessary.  
2. Execute as many of the following instructions that have not been imlemented  
since Reset:  
IM  
2
LD A,inttab/256  
LD I,A  
; inttab = start of interrupt table  
LD HL,ctcNisr  
LD (inttab+ctcNvec),HL  
; ctcNisr = start of ISR  
; ctcNvec = our vector  
0
 The value of inttabmust be a multiple of 256, that is, bits 7-0 of its  
value must be 00.  
3. Write the value of bit 0 to channel 0’s address (D0H) unless this step has been  
implemented previously. Bit 0 of the value called ctcNvec in the previous step  
must be 0, and bits 2-1 must be equal to this channel’s number.  
4. Write a value of form 10pet111Bto the channel’s address. A 0in the p bit  
conditions the channel to decrement its counter once every 16 PHI clocks,  
while a 1in p(20H) conditions the channel to decrement the counter once  
every 256 PHI clocks. A 0in the t bit conditions the timer to start as soon as  
the following time constant is written. A 1in tmakes the timer wait for the  
time constant, followed by the edge selected by the e bit, on its CLK/TRGn pin.  
If tis 1and eis 0(08H), the channel waits for a falling edge on CLK/TRGn  
before starting the timer. If tand eare both 1(18H), the channel waits for a  
rising edge on CLK/TRGn before starting the timer.  
5. Write the value from which the timer counts down, to the channel’s address.  
This value is loaded into the counter and the channel’s Time Constant register.  
Unless software reloads a new Time Constant value, this value is also the value  
from which the timer restarts, after it has counted down to 0.  
6. If the counter restarts from a different value when it reaches 0, software waits  
for any programmed CLK/TRG wait to finish, as evidenced by the counter  
value being decremented from its initial value. Software writes 10pe0101B  
to the channel’s address, and then writes the new Time Constant value to the  
channel’s address.  
7. Software can read the channel’s address at any time, to determine the counter  
value.  
8. When a channel’s counter is decremented to 00, the counter is reloaded with  
the value currently in the channel’s Time Constant register. This event is  
accompanied by a High pulse on the channel’s ZC/TOn pin, and the channel  
requests an interrupt.  
9. When the processor acknowledges the interrupt, the CTC automatically  
supplies the channel’s number in bits 2-1 of the interrupt vector, so that control  
comes to ctcNisr. At that time:  
a. Software saves as many registers as it might use (worst-case), using  
PUSH, EX AF,AF’, or EXXinstructions.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢏꢁ  
1
&
2
ꢀ4  
ꢀ6  
ꢀꢐ246   
b. If the timer restarts from a different value the next time it reaches 0, the  
interrupt service routine (ISR) writes 10pe0101B to the channel’s  
address, and then writes the new Time Constant value to the channel’s  
address.  
c. Other actions by the ISR are application-dependent.  
d. The ISRconcludes by restoring the saved registers, followed by EIand  
RETI instructions. The channel decodes the RETI instruction and re-  
enables interrupts from itself and from lower-priority devices.  
241)4#//#$.'ꢁ4'.1#&ꢁ6+/'45ꢁꢈ2465  
Each PRT is a 16-bit down-counter that can be read dynamically, with a reload  
value that can be dynamically programmed. Each PRT can optionally interrupt the  
processor when it counts down to 0and reloads.  
The PRTs on most other 8018x family members count down at the fixed  
frequency of PHI/20, but the Z80S188 includes a flexible prescaler that can count  
down each PRT at any power-of-two divisor between PHI and PHI/16384. The  
prescalers reset to an 80180-compatible countdown rate of PHI/20.  
Software can program PRT1 to do waveform generation on its TOUT output,  
under control of the TOC 1-0 bits in the Timer Control Register. This capability is  
enhanced by the flexible prescaler.  
“Programmable Reload Timer (PRT) Registers”, on page 147, shows the PRT  
registers. Reset clears both Timer Downcount Enable bits (TDE1, TDE0) in the  
Timer Control register to 0, which inhibits the PRTs from operating.  
5VCTVKPIꢁCꢁ246  
Before starting a PRT, software writes the Timer Prescale register to select the  
downcounter frequency, which can be PHI/20 as on the 80180, or any power-of-  
two divisor between PHI and PHI/16384.  
Next, software programs the PRT’s initial down-count value to its Timer Data  
registers (TMDR0L and TMDR0H, or TMDR1L and TMDR1H), and write its  
second (and possibly constant) down-count value to its Timer ReloaD registers  
(RLDR0L and RLDR0H, or RLDR1L and RLDR1H).  
Then software reads the Timer Control register (TCR), set the appropriate Timer  
Downcount Enable bit (TDE0or TDE1), set or clear the corresponding Timer  
Interrupt Enable bit (TIE0or TIE1) depending on whether an interrupt is desired  
when the count is decremented to 0, and write the result value back to the TCR.  
The read-modify-write procedure, described above, ensures that starting one PRT  
does not affect the operation of the other. Applications that only use one PRT can  
write only the desired value to the TCR.  
5VQRRKPIꢁCꢁ246  
Software can stop a running PRT at any time, by reading the TCR, clearing its  
TDE bit, and writing the result value back to the TDR. The software may do this  
ꢍꢃ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
2
ꢀ4  
ꢀ6  
ꢀꢐ246   
1
&
because the PRT’s counting is no longer necessary, or before rewriting its RLDR  
value as described below.  
246ꢁ1RGTCVKQP  
While a PRT is running, the down-counter is decremented at the frequency  
selected in the Timer Prescale Register, which resets to PHI/20. When the count  
down reaches 0, the PRT automatically reloads its TMDR from its RLDR, and  
sets its TIF bit in the TCR. If the TIE bit in the TCR is 1, an interrupt is requested.  
Software can clear a TIF bit after reading it as 1in the TCR, by thereafter reading  
either half of that PRT’s TMDR. However, a TMDR read, without first reading a  
TIF bit as 1in the TCR, does not clear the PRT’s TIF.  
Software can read the down-counter, from TMDR0L and TMDR0H or TMDR1L  
and TMDR1H, at any time without worrying about the timer counting between  
the two 8-bit IN0instructions, as long as it reads the L register first. Reading the L  
register captures the 8 MS bits of the down-counter in a separate 8-bit latch, from  
which the value is read when software reads the H register.  
9TKVKPIꢁCPꢁ4.&4ꢅꢁSoftware can write a new reload value, to RLDR0L and  
RLDR0H or RLDR1L and RLDR1H, while the PRT is running, but there is no  
hardware safeguard against the down-counter decrementing to 0 between the two  
8-bit OUT0instructions necessary to write the new reload value, and consequently  
loading an incorrect value.  
If software writes a new reload value in response to a PRT interrupt or to detecting  
a TIF bit 1in the TCR, and count values are always large enough to prevent this  
type of problem, software can automatically write the RLDR. Otherwise, software  
performs the following tasks:  
1. Reads the Timer Control Register (TCR)  
2. Clears the TDE bit,  
3. Writes the result back to the TCR,  
4. Writes the RLDR (L and H, in either order)  
5. Writes the value from step 1 (with the TDE bit 1) back to the TCR.  
*CPFNKPIꢁ246ꢁKPVGTTWRVU  
When the conditions noted in “On-Chip Interrupt Handling”, on page 29 are met  
with respect to an interrupt request from a PRT, the processor reads the address of  
the interrupt service routine from memory at address (I:IL:4) for PRT0, or  
(I:IL:6) for PRT1. The PRT ISR performs the following actions:  
1. Saves as many registers of the interrupted process as it may use, by means of  
PUSH, EX AF,AF, and/or EXXinstructions.  
2. Reads the TCR, verify that its TIF bit is 1, and then reads the PRT’s TMDRL  
register to clear its TIF bit. This process prevents another interrupt during the  
same 0count.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢍꢂ  
1
&
5
ꢀ+ꢋ1ꢀ%  
ꢀꢐ5+1   
3. Changes the RLDR value for the down count sequence after the one that is  
currently in progress, as described above.  
A PRT interrupt involves time-periodic functions in service to the overall  
application.  
4. Restores the saved registers when the PRT ISRis complete, then returns to  
the interrupt process using EI and RET instructions.  
If both PRTs are active and both are started and stopped, sometimes at interrupt  
level and sometimes at mainline level, mainline code that reads, modifies, and  
writes the TCR protects against conflicts with an ISR for the other PRT,  
surrounding the read-modify-write (or steps 1-5 in “Writing an RLDR”, on page  
71) with DI and EI instructions.  
246UꢁCPFꢁ4GUGV  
Both prescalers reset to PHI/20, both TMDRs and both RLDRs reset to FFFFH,  
and the TCR resets to all 0s, which inhibits PRT operation until a TDE bit is set.  
5'4+#.ꢁ+ꢋ1ꢁ%*#00'.5ꢁꢈ5+15  
The Z80S188 includes the equivalent of one Z80-SIO device: two multiprotocol,  
full-duplex serial channels called A and B. Each channel can handle Asynchro-  
nous, Classic Synchronous, or HDLC/SDLC communications, providing a variety  
of options in each mode.  
Each channel provides pins for Tx and Rx Data, Tx and Rx Clock inputs, Request  
to Send and Data Terminal Ready outputs, Clear to Send and Data Carrier Detect  
inputs, a Sync input or output, and a Wait/Ready output.  
5+1ꢁ#FFTGUUGU  
Each channel has a Data address and a Control address in I/O space.  
As for the other Z80 peripherals on the Z80S188, bit 7 of the Interrupt Priority  
register controls whether A15-8are decoded as all 0 for these addresses, as for  
the 80180 peripherals, or whether A15-8are ignored so that Z80-compatible I/O  
instructions can be used to access the SIO channels. The following table describes  
only bits 7-0 of each SIO address.  
6
ꢁꢄꢂꢅ 5+1ꢁ#  
(WPEVKQP  
#ꢑꢀꢃ  
&ꢇ*  
&ꢁ*  
&#*  
&$*  
%JCPPGNꢀ#ꢀ&CVC  
%JCPPGNꢀ#ꢀ%QPVTQN  
%JCPPGNꢀ$ꢀ&CVC  
%JCPPGNꢀ$ꢀ%QPVTQN  
Writing to a channel’s Data address provides a byte of data to be transmitted,  
while reading from a channel’s Data address fetches a byte of received data.  
ꢍꢎ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
5
ꢀ+ꢋ1ꢀ%  
ꢀꢐ5+1   
1
&
Read or write the Data address only when status information read from the  
Control address indicates that received data is available for reading, or that the  
Transmitter is ready for a data byte.  
Alternatively, if a transmitter or receiver is programmed to operate with DMA  
channel 0 or 1, internal signalling controls when the DMA channel reads or writes  
the Data address.  
The Control address for an SIO channel uses indirect addressing to access several  
write-only and read-only registers, as described in the following table  
6
ꢁꢄꢓꢅ 9  
ꢁ# ꢁ4  
ꢁ4  
ꢁ2 ꢁ%  
9TKVGꢁ4GIKUVGTU  
4GCFꢁ4GIKUVGTU  
94ꢃ ꢂꢅꢀ94ꢊ   
44ꢃ   
%JCPPGNꢁ#  
%JCPPGNꢁ$  
94ꢃ   
44ꢃ   
Indirect addressing works as follows. After Reset, reading the Control address for  
an SIO channel returns the contents of Read Register 0, and writing to the Control  
address writes Write Register 0.  
Write Register 0 includes three fields. Bits 7-6 allow software to issue one of three  
separate commands affecting frame/message structure, with 00signifying No  
Operation. Bits 5-3 allow software to issue one of seven other commands, with  
000signifying No Operation. Bits 2-0 are an indirect register number that allows  
a software to select a different Write or Read register for its next access to the  
Control register, with 000keeping the next access referring to Read or Write  
register 0.  
Writing an all-0byte to WR0 affects nothing. At the other extreme, one write to  
WR0 can issue two separate commands and select another register for the next  
access to the Control address.  
When software writes a non-0 value to bits 2-0 of WR0, and then reads or writes  
the register selected by that value, the SIO channel clears bits 2-0 of WR0 back to  
000immediately thereafter, so that the next access to the CONTROL address  
again accesses Write register 0 or Read register 0.  
Accesses to the Data register have no effect on this alternating access mechanism  
in the Control register.  
5+1ꢁ9TKVGꢁ4GIKUVGTU  
Rather than describing registers as bit 7 of WR0 through bit 0 of WR7, then RR0-  
RR2, this section describes registers, and fields within them, in a top-down order  
that makes the SIO easier to learn. This order is also the order in which software  
writes the Write Registers during channel initialization.  
“Serial I/O (SIO) Registers”, on page 152, presents the SIO registers and fields in  
Classic numerical order.  
94ꢎꢅꢁThis register sets the basic modes of the overall channel.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢍꢊ  
1
&
5
ꢀ+ꢋ1ꢀ%  
ꢀꢐ5+1   
WR4bits 3-2 are the most basic mode selection in an SIO channel. If these bits are  
00, the channel operates in a Synchronous mode. Otherwise, the channel operates  
in an Asynchronous mode, and the field indicates the (minimum) number of STOP  
bits that the transmitter sends between characters.  
94ꢎꢁ$KVUꢁꢌꢀꢆ $CUKEꢁ/QFG  
ꢃꢃ  
ꢃꢂ  
ꢂꢃ  
ꢂꢂ  
5[PEJTQPQWU  
#U[PEꢅꢀ6ZꢀOKPꢀꢂꢀUVQRꢀDKV  
#U[PEꢅꢀ6ZꢀOKPꢀꢂꢄꢆꢀUVQRꢀDKVU  
#U[PEꢅꢀ6ZꢀOKPꢀꢎꢀUVQRꢀDKVU  
If WR4bits 3-2 are 00, then WR4bits 5-4 select the Synchronous protocol:  
94ꢎꢁ$KVUꢁꢏꢀꢎ  
5[PEJTQPQWUꢁOQFG  
ꢃꢃ  
ꢃꢂ  
ꢂꢃ  
ꢂꢂ  
%NCUUKEꢀYKVJꢀꢇꢌDKVꢀ5[PEꢀꢐOQPQU[PEꢑ  
%NCUUKEꢀYKVJꢀꢂꢏꢌDKVꢀ5[PEꢀꢐ$KU[PEꢑ  
*&.%ꢋ5&.%  
'ZVGTPCNꢀ5[PE  
If WR4 bits 3-2 are 00to select a Synchronous mode, WR4 bits 7-6 must be 00to  
select a 1X clock. If WR4 bits 3-2 are non-0 to select Async operation, WR4 bits  
7-6 may be any of the following values:  
94ꢎꢁ$KVUꢁꢑꢀꢐ  
%NQEMꢁ&KXKUKQP  
ꢃꢃ  
$KVꢀTCVGꢀꢒꢀ4Z%ꢀCPFꢀ6Z%ꢀRKPꢀHTGSWGPE[ꢀꢐ5[PEꢀQTꢀKUQEJTQꢌ  
PQWUꢑ  
ꢃꢂ  
ꢂꢃ  
ꢂꢂ  
$KVꢀTCVGꢀꢒꢀ4Z%ꢀCPFꢀ6Z%ꢀRKPꢀHTGSWGPE[ꢀꢋꢀꢂꢏ  
$KVꢀTCVGꢀꢒꢀ4Z%ꢀCPFꢀ6Z%ꢀRKPꢀHTGSWGPE[ꢀꢋꢀꢊꢎ  
$KVꢀTCVGꢀꢒꢀ4Z%ꢀCPFꢀ6Z%ꢀRKPꢀHTGSWGPE[ꢀꢋꢀꢏꢉ  
The combination of Asynchronous format on TxD and RxD, and a 1X clock, is  
sometimes called Isochronous mode. In this mode, data on RxD must be Synchro-  
nized with the clock on RXC as in Synchronous modes, so it is not appropriate to  
call this an Asynchronous mode on the bit level. However, characters can still  
occur irregularly/asynchronously, because start and stop bits frame each character.  
WR4 bits 1-0 control whether the transmitter generates and sends, and the  
receiver expects and checks, an additional parity bit in each character, after the  
number of bits specified in WR3 (for Rx) or WR5 (for Tx):  
94ꢎꢁ$KVUꢁꢏꢀꢎ  
5[PEJTQPQWUꢁOQFG  
Zꢃ  
ꢃꢂ  
0QꢀRCTKV[  
'XGPꢀRCTKV[  
ꢍꢉ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
5
ꢀ+ꢋ1ꢀ%  
ꢀꢐ5+1   
1
&
94ꢎꢁ$KVUꢁꢏꢀꢎ  
5[PEJTQPQWUꢁOQFG  
ꢂꢂ  
1FFꢀRCTKV[  
Even parity means that the total number of one bits in each character, including  
the parity bit, is even. On the receive side, if parity is used with less than 8 bits/  
character, the parity bit is included in data that software or a DMA channel reads  
from the channel’s Data address.  
0
 Parity can be used in either Asynchronous or Synchronous modes, but it is  
more common in Asynchronous applications.  
94ꢏꢅꢁMost of the bits in WR5 control the Transmitter.  
A 1in WR5 bit 4 enables the transmitter to send data, when software or a DMA  
channel writes data to the channel’s Data address. A 0in WR5 bit 4 disables the  
Transmitter.  
WR5 bits 6-5 control how many data bits the Transmitter sends in each character:  
94ꢏꢁ$KVUꢁꢐꢀꢏ  
6TCPUOKVꢁ&CVCꢁ$KVUꢁRGTꢁ%JCTCEVGT  
ꢃꢃ  
ꢃꢂ  
ꢂꢃ  
ꢂꢂ  
ꢆꢀQTꢀ.GUU  
This number does not include any start, parity, or stop bits.  
If this field is less than 11(to select less than 8 bits per character), the Transmitter  
sends the less significant bits of each character that software or a DMA channel  
writes to the channel’s Data address.  
If WR5 bits 6-5 are 00(to select 5 or less bits per character), each byte written to  
the channel’s Data address must have one of the formats described in the  
following table. The Transmitter sends the 1–5 least significant bits of each char-  
acter, based on the contents of the more significant bits of each byte:  
6Zꢁ%JCTCEVGT 0WODGTꢁQHꢁ$KVUꢁ5GPV  
ꢃꢃꢃ&&&&&  
ꢂꢃꢃꢃ&&&&  
ꢂꢂꢃꢃꢃ&&&  
ꢂꢂꢂꢃꢃꢃ&&  
ꢂꢂꢂꢂꢃꢃꢃ&  
ꢆꢀ$KVU  
ꢉꢀ$KVU  
ꢊꢀ$KVU  
ꢎꢀ$KVU  
ꢂꢀ$KV  
Writing a 1to WR5 bit 4 immediately forces the TXD pin Low to send a break  
condition, even if the transmitter is currently sending a character. Writing a 0to  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢍꢆ  
1
&
5
ꢀ+ꢋ1ꢀ%  
ꢀꢐ5+1   
WR5bit 4 releases this forcing condition, typically letting the pin return to High/1/  
Mark.  
WR5 bit 0 controls whether the transmitter includes transmitted characters in its  
CRC calculation. In Classic Synchronous applications in which not all Tx charac-  
ters are included in the CRC, software sets this bit to 1for a character to be  
included, or 0for a character to be excluded, just before writing each character to  
the Data address.  
WR5 bit 2 selects the CRC polynomial for both transmitting and receiving. It  
must be 0 for HDLC/SDLC mode. For Classic Synchronous mode it can be either:  
94ꢏꢁ$KVꢁꢆ  
%4%ꢁRQN[PQOKCN  
X16+X12+X5+1 (CCITT)  
X16+X15+X2+1 (CRC-16)  
0
1
WR5bits 7 and 1 control the DTRand RTS pins respectively. In both cases, a 1  
makes the pin Low and a 0makes it High. The only exception to complete soft-  
ware control is that in Async mode, if software changes the RTS bit from 1to 0  
while data is still being sent, the pin does not become High until all data previ-  
ously written to the channel’s Data address has been sent.  
94ꢌꢅꢁThe bits in WR3 control the receiver.  
A 1in WR3 bit 0 enables the receiver, a 0disables the receiver. Set this bit only  
after all other receive parameters have been set and the receiver is completely  
initialized.  
WR3bits 7-6 control the number of data bits the receiver captures in each char-  
acter, not including any start, parity, or stop bits:  
94ꢌꢁ$KVUꢁꢑꢀꢐ  
4GEGKXGꢁ&CVCꢁ$KVUꢁRGTꢁ%JCTCEVGT  
ꢃꢃ  
ꢃꢂ  
ꢂꢃ  
ꢂꢂ  
WR3bit 5controls whether the CTS and DCD pins auto-enable the Transmitter and  
Receiver, respectively. If bit 5 is 0, the pins can be read in Read Register 0, but  
have no effect on the hardware.  
In Synchronous modes, writing a 1to WR3 bit 4 sets the Sync/Hunt bit in Read  
Register 0, forcing the receiver into Hunt mode, in which it searches for a Sync  
character or Flag.  
WR3 bit 3controls whether the receiver includes received characters in its CRC  
checking. In HDLC/SDLC mode, software sets this bit to 1during initialization,  
because all characters in every frame are covered by the CRC. In other Synchro-  
ꢍꢏ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
5
ꢀ+ꢋ1ꢀ%  
ꢀꢐ5+1   
1
&
nous modes, software must set this bit to the appropriate state for each received  
character, before the next character is transferred from the receive shift register to  
the receive FIFO, or within 8-bit times of when each character goes into the FIFO.  
This procedure is possible because, in Synchronous modes other than HDLC/  
SDLC, the receiver includes an extra 8 bits of shift register between the receive  
shift register (from which each character is transferred to the Rx FIFO) and the  
receive CRC checker. This action allows 8-bit times for software to read each  
character, decide if it must included in the CRC, and set or clear WR3 bit 3  
accordingly.  
In HDLC/SDLC mode, WR3bit 2 controls whether the receiver checks an address  
at the start of each frame. If bit 2 is 1, the receiver ignores any frame in which the  
first 8 bits do not match either the contents of WR6 or the global address FFH. If  
this bit is 0, the receiver receives all frames.  
In Synchronous modes other than HDLC/SDLC, WR3bit 1 controls whether the  
receiver places Sync characters in the Rx FIFO (if this bit is 0) or strips them from  
the data stream (if this bit is 1).  
0
 Because this option does not affect whether received Sync characters are  
included in CRC checking, software must clear this bit when it receives the first  
(non-Sync) character of each message, and thereafter check for embedded Syncs  
and clear WR3bit 3 for such characters.  
94ꢄꢅꢁThis register controls a channel’s interrupts and WAIT/READY pin.  
WR1 bits 7-5 control the WAIT/READY pin. A 1in bit 7 enables the pin. Bit 6  
selects between the Ready function (1) and the Wait function (0). Bit 5 selects  
whether the pin is based on the transmitter () or receiver (1). Treating all three  
bits as a field:  
94ꢄꢁ$KVUꢁꢑꢀꢏ  
(WPEVKQPꢁQHꢁ9CKVꢋ4GCF[ꢁ2KP  
ꢃꢃZ  
ꢃꢂZ  
ꢂꢃꢃ  
ꢂꢃꢂ  
ꢂꢂꢃ  
0QVꢀFTKXGP  
*KIJ  
.QYꢀꢒꢀ6ZꢀPQVꢀHWNNꢘꢀ*KIJꢀꢒꢀ6ZꢀHWNN  
.QYꢀꢒꢀ4ZꢀFCVCꢀCXCKNCDNGꢘꢀ*KIJꢀꢒꢀ4ZꢀGORV[  
.QYꢀꢒꢀYTKVGꢀVQꢀ&CVCꢀCFFTGUUꢅꢀ6ZꢀHWNNꢘꢀ  
0QVꢀ&TKXGPꢀꢒꢀPQꢀYTKVGꢀQTꢀPQVꢀHWNN  
ꢂꢂꢂ  
NQYꢀꢒꢀTGCFꢀHTQOꢀ&CVCꢀCFFTGUUꢅꢀ4ZꢀGORV[ꢘꢀ  
0QVꢀ&TKXGPꢀꢒꢀPQꢀTGCFꢀQTꢀPQVꢀGORV[  
0
 This field does not have to be programmed with any particular value in  
order to use a receiver or transmitter with a DMA channel.  
WR1 bit 2 in Channel B controls whether the SIO modifies the interrupt vector  
that it returns during an interrupt acknowledge cycle, to identify the highest-  
priority cause of the interrupt. If this bit is 0, the SIO always returns the interrupt  
vector as software wrote it to Write Register 2 in channel B. If this bit is 1, the  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢍꢍ  
1
&
5
ꢀ+ꢋ1ꢀ%  
ꢀꢐ5+1   
SIO modifies bits 3-1 of the vector it returns, to identify the highest-priority cause  
of the interrupt (higher values have higher priority):  
8GEVQTꢁ$KVUꢁꢌꢀꢄ  
*KIJGUVꢀ2TKQTKV[ꢁ+PVGTTWRV  
ꢃꢃꢃ  
ꢃꢃꢂ  
ꢃꢂꢃ  
ꢃꢂꢂ  
ꢂꢃꢃ  
ꢂꢃꢂ  
ꢂꢂꢃ  
ꢂꢂꢂ  
%JCPPGNꢀ$ꢀ6Zꢀ$WHHGTꢀ'ORV[  
%JCPPGNꢀ$ꢀ'ZVGTPCNꢋ5VCVWUꢀ%JCPIG  
%JCPPGNꢀ$ꢀ4Zꢀ%JCTCEVGTꢀ#XCKNCDNG  
%JCPPGNꢀ$ꢀ5RGEKCNꢀ4GEGKXGꢀ%QPFKVKQP  
%JCPPGNꢀ#ꢀ6Zꢀ$WHHGTꢀ'ORV[  
%JCPPGNꢀ#ꢀ'ZVGTPCNꢋ5VCVWUꢀ%JCPIG  
%JCPPGNꢀ#ꢀ4Zꢀ%JCTCEVGTꢀ#XCKNCDNG  
%JCPPGNꢀ#ꢀ5RGEKCNꢀ4GEGKXGꢀ%QPFKVKQP  
0
 WR1bit 2in channel A has no function.  
WR1bits 4-3 control receive interrupts:  
94ꢄꢁ$KVUꢁꢎꢀꢌ  
4GEGKXGꢁKPVGTTWRVꢁOQFG  
ꢃꢃ  
ꢃꢂ  
ꢂꢃ  
&KUCDNGFꢀꢐPGXGTꢑ  
1PꢀHKTUVꢀEJCTCEVGT  
#NNꢀEJCTCEVGTUꢘꢀRCTKV[ꢀGTTQTꢀKUꢀCꢀ5RGEKCNꢀ4GEGKXGꢀ%QPFKꢌ  
VKQP  
ꢂꢂ  
#NNꢀEJCTCEVGTUꢘꢀRCTKV[ꢀGTTQTꢀKUꢀPQVꢀCꢀ5RGEKCNꢀ4GEGKXGꢀ  
%QPFKVKQP  
If parity checking is enabled in WR4, WR bit 2 is 1, and this field is 10, an inter-  
rupt for a received character with a parity error is written to the Special Receive  
Condition ISR, while interrupts for parity-correct characters are written to the Rx  
Character Available ISR.  
A 1in WR1 bit 1 enables an interrupt whenever the Transmitter buffer is empty.  
A 1in WR1 bit 0 enables External/Status Change interrupts. “Handling External/  
Status Interrupts”, on page 94, describes how to handle such interrupts.  
%QOOCPFUꢁKPꢁ94ꢃꢅꢁIn addition to the indirect register address in bits 2-0, WR0  
contains two command fields. Commands are values written to these fields, that  
are not themselves latched like most other register bits, but rather serve to change  
the state of the SIO channel at the end of the write operation.  
ꢍꢇ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
5
ꢀ+ꢋ1ꢀ%  
ꢀꢐ5+1   
1
&
WR0 bits 5-3 can contain the following commands:  
94ꢃꢁ$KVUꢁꢏꢀꢌ  
%QOOCPFꢁ0COGꢁCPFꢁ&GUETKRVKQP  
ꢃꢃꢃ  
0WNNꢁEQFGꢅꢀ7UGꢀVJKUꢀXCNWGꢀYJGPꢀYTKVKPIꢀ94ꢃꢀVQꢀUGVꢀCPꢀKPFKꢌ  
TGEVꢀCFFTGUUꢀCPFꢋQTꢀKUUWGꢀCꢀEQOOCPFꢀKPꢀDKVUꢀꢍꢌꢏꢄ  
ꢃꢃꢂ  
ꢃꢂꢃ  
5GPFꢁ#DQTVꢅꢀ+Pꢀ*&.%ꢀOQFGꢅꢀVJKUꢀEQOOCPFꢀOCMGUꢀVJGꢀ  
VTCPUOKVVGTꢀUGPFꢀCPꢀ#DQTVꢀUGSWGPEGꢅꢀEQPUKUVKPIꢀQHꢀꢇꢀVQꢀꢂꢊꢀ  
ꢂUꢄ  
4GUGVꢁ'ZVGTPCNꢋ5VCVWUꢁ+PVGTTWRVUꢅꢀ#HVGTꢀCPꢀ'ZVGTPCNꢋ5VCVWUꢀ  
KPVGTTWRVꢅꢀVJGꢀUVCVWUꢀDKVUꢀKPꢀ44ꢃꢀCTGꢀNCVEJGFꢄꢀ6JKUꢀEQOOCPFꢀ  
WPNCVEJGUꢀVJGOꢀCPFꢀTGꢌGPCDNGUꢀUWEJꢀKPVGTTWRVUꢄꢀ.CVEJKPIꢀ  
VJGꢀUVCVWUꢀDKVUꢀECRVWTGUꢀUJQTVꢀRWNUGUꢅꢀUQꢀVJCVꢀUQHVYCTGꢀJCUꢀ  
CꢀEJCPEGꢀVQꢀFGVGEVꢀJQYꢀVJGUGꢀDKVUꢀJCXGꢀEJCPIGFꢄ  
ꢃꢂꢂ  
%JCPPGNꢁ4GUGVꢅꢀ6JKUꢀEQOOCPFꢀTGUGVUꢀVJGꢀEJCPPGNꢀUVCVGꢀNKMGꢀ  
Cꢀ.QYꢀQPꢀ4'5'6ꢄꢀ9TKVKPIꢀVJKUꢀEQOOCPFꢀVQꢀEJCPPGNꢀ#ꢀCNUQꢀ  
TGUGVUꢀVJGꢀKPVGTTWRVꢀRTKQTKVK\CVKQPꢀNQIKEꢄꢀ#NNQYꢀHQWTꢀGZVTCꢀ  
2*+ꢀENQEMUꢀCHVGTꢀKUUWKPIꢀVJKUꢀEQOOCPFꢅꢀDGHQTGꢀYTKVKPIꢀVQꢀ  
VJGꢀEJCPPGNꢀCICKPꢄ  
ꢂꢃꢃ  
ꢂꢃꢂ  
'PCDNGꢁ+PVGTTWRVꢁQPꢁ0GZVꢁ4Zꢁ%JCTCEVGTꢅꢀ+Hꢀ94ꢊꢀDKVUꢀCTGꢀꢃꢂꢀ  
VQꢀUGNGEVꢀ+PVGTTWRVꢀ1Pꢀ(KTUVꢀ%JCTCEVGTꢀOQFGꢀHQTꢀVJGꢀTGEGKXGTꢅꢀ  
VJKUꢀEQOOCPFꢀTGꢌGPCDNGUꢀCPꢀKPVGTTWRVꢀHQTꢀVJGꢀPGZVꢀEJCTꢌ  
CEVGTꢀTGEGKXGFꢄ  
4GUGVꢁ6TCPUOKVVGTꢁ+PVGTTWRVꢁ2GPFKPIꢅꢀ+HꢀVTCPUOKVVGTꢀKPVGTꢌ  
TWRVUꢀCTGꢀGPCDNGFꢀD[ꢀ94ꢂꢀDKVꢀꢂꢅꢀKPVGTTWRVUꢀQEEWTꢀYJGPꢀVJGꢀ  
6ZꢀDWHHGTꢀTGIKUVGTꢀDGEQOGUꢀGORV[ꢄꢀ5QHVYCTGꢀECPꢀKUUWGꢀVJKUꢀ  
EQOOCPFꢀVQꢀRTGXGPVꢀHWTVJGTꢀ6ZꢀKPVGTTWRVUꢅꢀWPVKNꢀUQHVYCTGꢀ  
YTKVGUꢀCꢀPGYꢀ6ZꢀEJCTCEVGTꢀVQꢀVJGꢀEJCPPGN Uꢀ&CVCꢀCFFTGUUꢅꢀQTꢀ  
WPVKNꢀVJGꢀ%4%ꢀJCUꢀDGGPꢀUGPVꢄ  
ꢂꢂꢃ  
ꢂꢂꢂ  
'TTQTꢁ4GUGVꢅꢀ6JGꢀ2CTKV[ꢀCPFꢀ1XGTTWPꢀDKVUꢀKPꢀ44ꢂꢀCTGꢀEWOWꢌ  
NCVKXGꢋNCVEJGFꢄꢀ6JKUꢀEQOOCPFꢀTGUGVꢀVJGUGꢀDKVUꢄ  
4GVWTPꢁ(TQOꢁ+PVGTTWRVꢅꢀ9TKVKPIꢀVJKUꢀEQOOCPFꢀVQꢀEJCPPGNꢀ#ꢀ  
JCUꢀVJGꢀUCOGꢀGHHGEVꢀCUꢀGZGEWVKPIꢀCPꢀ4'6+ꢀKPUVTWEVKQPꢈꢀKVꢀ  
ENGCTUꢀVJGꢀ+PVGTTWRVꢀ7PFGTꢀ5GTXKEGꢀꢐ+75ꢑꢀUVCVWUꢀQHꢀVJGꢀ  
JKIJGUVꢀRTKQTKV[ꢀ5+1ꢀOQFWNGꢀVJCVꢀJCFꢀ+75ꢀUGVꢀꢐKHꢀCP[ꢑꢄꢀ6JKUꢀ  
GPCDNGUꢀNQYGTꢌRTKQTKV[ꢀKPVGTTWRVUꢀVJCVꢀJCFꢀDGGPꢀKPJKDKVGFꢀ  
D[ꢀVJGꢀ+75ꢀEQPFKVKQPꢄ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢍꢁ  
1
&
5
ꢀ+ꢋ1ꢀ%  
ꢀꢐ5+1   
WR0 bits 7-6 may contain the following commands:  
94ꢃꢁ$KVUꢁꢑꢀꢐ  
%QOOCPFꢁ0COGꢁCPFꢁ&GUETKRVKQP  
ꢃꢃ  
0WNNꢁEQFGꢅꢀ7UGꢀVJKUꢀXCNWGꢀYJGPꢀYTKVKPIꢀVQꢀ94ꢃꢀVQꢀUGVꢀCPꢀ  
KPFKTGEVꢀCFFTGUUꢀCPFꢋQTꢀKUUWGꢀCꢀEQOOCPFꢀKPꢀDKVUꢀꢆꢌꢊꢄ  
ꢃꢂ  
4GUGVꢁ4Zꢁ%4%ꢁ%JGEMGTꢅꢀ6JKUꢀEQOOCPFꢀKUꢀPGGFGFꢀQPN[ꢀKPꢀ  
%NCUUKEꢀ5[PEJTQPQWUꢀOQFGꢅꢀDGECWUGꢀKPꢀ*&.%ꢋ5&.%ꢀOQFGꢀ  
%4%ꢀEJGEMKPIꢀKUꢀHWNN[ꢀCWVQOCVKEꢄꢀ+Pꢀ%NCUUKEꢀ5[PEJTQPQWUꢀ  
OQFGꢅꢀUQHVYCTGꢀKUUWGUꢀVJKUꢀEQOOCPFꢀDGHQTGꢀVJGꢀHKTUVꢀ  
HTCOGꢅꢀCPFꢀCHVGTꢀKVꢀJCUꢀEJGEMGFꢀVJGꢀ%4%ꢀEQTTGEVPGUUꢀQHꢀCꢀ  
HTCOGꢄ  
ꢂꢃ  
ꢂꢂ  
4GUGVꢁ6Zꢁ%4%ꢁ)GPGTCVQTꢅꢀ+Pꢀ*&.%ꢋ5&.%ꢀOQFGꢅꢀVJKUꢀ  
EQOOCPFꢀKUꢀPGGFGFꢀQPN[ꢀFWTKPIꢀFGXKEGꢀKPKVKCNK\CVKQPꢄꢀ+Pꢀ  
%NCUUKEꢀ5[PEJTQPQWUꢀOQFGꢅꢀUQHVYCTGꢀKUUWGUꢀVJKUꢀEQOOCPFꢀ  
DGHQTGꢀYTKVKPIꢀVJGꢀHKTUVꢀEJCTCEVGTꢀQHꢀCꢀPGYꢀHTCOGꢀVQꢀVJGꢀ  
EJCPPGN UꢀFCVCꢀCFFTGUUꢄ  
4GUGVꢁ6Zꢁ7PFGTTWPꢋ'1/ꢁ.CVEJꢅꢀ+UUWKPIꢀVJKUꢀEQOOCPFꢀ  
ENGCTUꢀCPꢀKPVGTPCNꢀUVCVGꢀKPꢀVJGꢀVTCPUOKVVGTꢀECNNGFꢀVJGꢀ  
7PFGTTWPꢋ'1/ꢀDKVꢅꢀYJKEJꢀKUꢀWUGFꢀQPN[ꢀKPꢀ5[PEJTQPQWUꢀ  
OQFGUꢄꢀ6JKUꢀDKVꢀKUꢀUGVꢀD[ꢀ4'5'6ꢀCPFꢀYJGPꢀVJGꢀVTCPUOKVVGTꢀ  
UGPFUꢀVJGꢀGPFꢀQHꢀCꢀ5[PEJTQPQWUꢀHTCOGꢋOGUUCIGꢄꢀ+Vꢀ  
EQPVTQNUꢀYJCVꢀVJGꢀVTCPUOKVVGTꢀFQGUꢀYJGPꢀKVꢀTWPUꢀQWVꢀQHꢀ  
FCVCꢅꢀCꢀ6TCPUOKVꢀ7PFGTTWPꢀEQPFKVKQPꢄꢀ  
+Pꢀ%NCUUKEꢀ5[PEJTQPQWUꢀOQFGꢅꢀKHꢀVJGꢀDKVꢀKUꢀꢂꢀVJGꢀ6ZꢀUGPFUꢀCꢀ  
5[PEꢀEJCTCEVGTꢅꢀYJKNGꢀKHꢀVJGꢀDKVꢀKUꢀꢃꢀKVꢀUGPFUꢀVJGꢀCEEWOWꢌ  
NCVGFꢀ%4%ꢀHQNNQYKPIꢀD[ꢀQPGꢀQTꢀOQTGꢀ5[PEꢀEJCTCEVGTꢐUꢑꢄꢀ+Pꢀ  
*&.%ꢋ5&.%ꢀOQFGꢅꢀKHꢀVJGꢀDKVꢀKUꢀꢂꢀVJGꢀ6ZꢀUGPFUꢀQPGꢀQTꢀOQTGꢀ  
(NCIꢐUꢑꢀYJGPꢀCPꢀWPFGTTWPꢀQEEWTUꢄꢀ+HꢀVJGꢀDKVꢀKUꢀꢃꢅꢀKVꢀUGPFUꢀVJGꢀ  
CEEWOWNCVGFꢀ%4%ꢀHQNNQYGFꢀD[ꢀQPGꢀQTꢀOQTGꢀ(NCIꢐUꢑꢄ  
*KUVQTKECNN[ꢅꢀ5+1ꢀFQEWOGPVCVKQPꢀJCUꢀWTIGFꢀ*&.%ꢋ5&.%ꢀ  
UQHVYCTGꢀVQꢀKUUWGꢀVJKUꢀEQOOCPFꢀCPFꢀENGCTꢀVJGꢀDKVꢅꢀCUꢀUQQPꢀ  
CUꢀRQUUKDNGꢀCHVGTꢀKVꢀRTGUGPVUꢀVJGꢀHKTUVꢀEJCTCEVGTꢀQHꢀVJGꢀHTCOGꢀ  
VQꢀVJGꢀ6TCPUOKVVGTꢄꢀ+PꢀVJKUꢀECUGꢅꢀVJGꢀVTCPUOKVVGTꢀCNYC[Uꢀ  
UGPFUꢀCꢀ%4%ꢄꢀ+HꢀUQHVYCTGꢀFGVGEVUꢀVJCVꢀVJGꢀWPFGTTWPꢀ  
QEEWTTGFꢀCVꢀCPꢀKPCRRTQRTKCVGꢀRQKPVꢅꢀUQHVYCTGꢀECPꢀQXGTTKFGꢀ  
VJGꢀUGPFKPIꢀQHꢀVJGꢀ%4%ꢀD[ꢀKUUWKPIꢀCꢀ5GPFꢀ#DQTVꢀEQOOCPFꢄꢀ  
6JKUꢀUGSWGPEGꢀKUꢀV[RKECNꢀYJGPꢀCPꢀWPFGTTWPꢀQEEWTUꢀYKVJKPꢀCꢀ  
HTCOGꢄ  
+PVGTTWRVꢁ8GEVQTꢁKPꢁ%JCPPGNꢁ$ꢁ94ꢆꢅꢁData written to this register are returned  
during an interrupt acknowledge cycle for any interrupt from either channel. If  
channel B’s WR1 bit 2 is 0, all eight bits are returned as written. If this bit is 1, bits  
7-4 and 0are returned as written, and bits 3-1reflect the highest priority channel  
and interrupt type being requested, as described above for WR1 bit 2.  
94ꢐꢅꢁThe contents of this register depends on the channel mode:  
Async: not used  
ꢇꢃ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
5
ꢀ+ꢋ1ꢀ%  
ꢀꢐ5+1   
1
&
Monosync or External Sync: Tx Sync character  
Bisync: First 8 bits of common Tx/Rx Sync pattern  
HDLC/SDLC: Address match character if WR2 bit 2 is 1  
94ꢑꢅꢁThe contents of this register depends on the channel mode:  
Async or External Sync: not used  
Monosync: Rx Sync character  
Bisync: Last 8 bits of common Tx/Rx Sync pattern  
HDLC/SDLC: must be 01111110(Flag pattern)  
5+1ꢁ4GCFꢁTGIKUVGTU  
44ꢃꢅꢁThis register includes the most basic channel status.  
RR0 bit 0 is 1if there is at least one received character available to be read from  
the channel’s data address.  
In channel A, RR0 bit 1 is 1if there are any interrupt condition(s) in either  
channel.  
RR0 bit 2 is 1if there is permission to write a transmit character to the channel’s  
data address.  
0
1. Bits 7-3 of RR0 are latched as a group by the channel, whenever any of  
bits 7 or 5-3 change, or when bit 6 is 1. This latching prevents transient  
conditions from being lost before software can detect them. To clear this  
latching and read the real-time status of these bits, write a Reset  
External Status Interruptscommand to WR0, as described  
above.  
2. In the following descriptions, the phrase the last time status was latched  
or unlatched is defined as the more recent of the following states  
a. The first time any of bits 7 or 5-3 changed, or bit 6 was set, since  
Reset or since the last Reset  
External/Status  
Interruptscommand was written to WR0  
b. When the last Reset  
External/Status Interrupts  
command was written to WR0  
RR0 bit 3 describes the state of the channel’s DCD pin (0= High, 1= Low) the  
last time status was latched or unlatched.  
RR0 bit 4 describes the state of the SYNC pin the last time status was latched or  
unlatched. Behind the latch, this pin is an input or output according to the mode:  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢇꢂ  
1
&
5
ꢀ+ꢋ1ꢀ%  
ꢀꢐ5+1   
/QFG  
$GJKPFꢁVJGꢁ.CVEJꢍꢁ44ꢃꢁ$KVꢁꢎꢊ  
#U[PE  
4GHNGEVUꢀVJGꢀUVCVGꢀQHꢀVJGꢀEJCPPGN Uꢀ5;0%ꢀRKPꢀꢐꢃꢀKUꢀ*KIJꢅꢀꢂꢀKUꢀ  
.QYꢑ  
'ZVGTPCNꢀ  
5[PE  
4GHNGEVUꢀVJGꢀUVCVGꢀQHꢀVJGꢀEJCPPGN Uꢀ5;0%ꢀRKPꢀꢐꢃꢀKUꢀ*KIJꢅꢀꢂꢀKUꢀ  
.QYꢑꢄꢀ#HVGTꢀUQHVYCTGꢀHKTUVꢀGPCDNGUꢀVJGꢀTGEGKXGTꢅꢀQTꢀCHVGTꢀKVꢀ  
YTKVGUꢀCPꢀ'PVGTꢀ*WPVꢀOQFGꢀEQOOCPFꢀVQꢀ94ꢃꢅꢀVJGꢀTGEGKXGTꢀKUꢀ  
KPꢀ*WPVꢀOQFGꢄꢀ  
#ꢀHCNNKPIꢀGFIGꢀQPꢀ5;0%ꢀENGCTUꢀ*WPVꢀOQFGꢀCPFꢀGPCDNGUꢀEJCTꢌ  
CEVGTꢀCUUGODN[ꢅꢀCUꢀYGNNꢀCUꢀUGVVKPIꢀVJKUꢀDKVꢀCPFꢀECWUKPIꢀCPꢀ  
'ZVGTPCNꢋ5VCVWUꢀKPVGTTWRVꢀKHꢀKVꢀKUꢀGPCDNGFꢄꢀ  
*QYGXGTꢅꢀCꢀTKUKPIꢀGFIGꢀQPꢀVJKUꢀRKPꢀFQGUꢀPQVꢀUGVꢀ*WPVꢀOQFGꢀ  
PQTꢀFKUCDNGꢀEJCTCEVGTꢀCUUGODN[ꢄꢀ+VꢀQPN[ꢀENGCTUꢀVJKUꢀDKVꢅꢀCPFꢀ  
ECWUGUꢀCPQVJGTꢀ'ZVGTPCNꢋ5VCVWUꢀKPVGTTWRVꢀKHꢀKVꢀKUꢀGPCDNGFꢄꢀ5QHVꢌ  
YCTGꢀTGURQPFUꢀVQꢀVJKUꢀDKVꢀꢐKPVGTTWRVꢑꢀD[ꢀYTKVKPIꢀCPꢀ'PVGTꢀ*WPVꢀ  
/QFGꢀEQOOCPFꢀVQꢀ94ꢃꢄ  
%NCUUKEꢀ5[PE %NGCTUꢀYJGPꢀVJGꢀTGEGKXGTꢀKUꢀFKUCDNGFꢅꢀCPFꢀYJGPꢀUQHVYCTGꢀ  
YTKVGUꢀCPꢀ'PVGTꢀ*WPVꢀ/QFGꢀEQOOCPFꢀVQꢀ94ꢃꢄꢀ6JKUꢀDKVꢀKUꢀUGVꢀ  
YJGPꢀVJGꢀJCTFYCTGꢀFGVGEVUꢀCꢀꢐꢇꢌꢀQTꢀꢂꢏꢌDKVꢑꢀ5[PEꢀRCVVGTPꢄꢀ6JGꢀ  
EJCPPGN Uꢀ5;0%ꢀRKPꢀKUꢀCPꢀQWVRWVꢀEQPVTQNNGFꢀD[ꢀVJKUꢀDKVꢀꢐꢃꢀKUꢀ  
*KIJꢅꢀꢂꢀKUꢀ.QYꢑꢄ  
*&.%ꢋ5&.% %NGCTUꢀYJGPꢀVJGꢀTGEGKXGTꢀKUꢀFKUCDNGFꢅꢀCPFꢀYJGPꢀUQHVYCTGꢀ  
YTKVGUꢀCPꢀ'PVGTꢀ*WPVꢀ/QFGꢀEQOOCPFꢀVQꢀ94ꢃꢄꢀ6JKUꢀDKVꢀKUꢀUGVꢀ  
YJGPꢀVJGꢀJCTFYCTGꢀFGVGEVUꢀCꢀ(NCIꢀRCVVGTPꢀꢐꢃꢂꢂꢂꢂꢂꢂꢃꢑꢄꢀ6JGꢀ  
EJCPPGN Uꢀ5;0%ꢀRKPꢀKUꢀCPꢀQWVRWVꢀEQPVTQNNGFꢀD[ꢀVJKUꢀDKVꢀꢐꢃꢀꢒꢀ  
*KIJꢅꢀꢂꢀꢒꢀ.QYꢑꢄ  
RR0 bit 5 describes the state of the channel’s CTS pin (0=High, 1=Low) the last  
time status was latched or unlatched.  
RR0 bit 6 displays the Transmit Underrun status the last time status was latched or  
unlatched. Behind the latch, Transmit Underrun status is set by Reset, and when  
an Underrun occurs in a Synchronous mode, that is, when software or a DMA  
channel has not written a character to the channel’s Data address by the time one  
is needed, inside a frame or message. Transmit Underrun status is cleared only by  
writing the Reset Transmit Underrun command to WR0, as described above.  
0
 In Synchronous modes the transmitter behaves differently when an  
Underrun occurs, depending on whether software has cleared the Transmit  
Underrun status. If so, it sends the CRC before sending the Sync or Flag. If not, it  
sends a Sync or Flag.  
RR0 bit 7 displays the Break detection status in Async mode, or Abort detection  
status in HDLC/SDLC mode, the last time status was latched or unlatched. Behind  
the latch, Break detection is set by an all-0character with a Framing Error, and  
cleared when the channel’s RXD pin returns to 1. Break detection can also be set  
when Abort detection is set by seven consecutive 1s inside a frame, and is cleared  
when a 0is received.  
ꢇꢎ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
5
ꢀ+ꢋ1ꢀ%  
ꢀꢐ5+1   
1
&
44ꢄꢅꢁThis register contains Special Receive Condition status and the HDLC/  
SDLC Residue value.  
In HDLC/SDLC mode, a 1in RR1 bit 7 indicates that a closing Flag has been  
received. It can be cleared by writing an ERROR RESET command to WR0, and is  
automatically cleared when the first character of the next frame is received.  
A 1in RR1 bit 6 indicates a Framing Error in Async mode or a CRC error in other  
modes. Framing Error accompanies the character in which the error was detected.  
As CRC error, this bit is meaningful only when bit 7 is 1. In either meaning, the  
bit is not latched and is updated after a character is read and the next character has  
been received.  
A 1in RR1 bit 5 indicates a Receive Overrun condition. Overrun occurs if the  
Receive FIFO contains 3 characters and another character has been assembled in  
the receive shift register. This error bit accompanies the character that overwrote  
the previous character, which was lost. But even if the character is read, this bit is  
latched, and maintains the value of 1until software writes an Error Reset  
command to WR0. If receive data interrupts are enabled and Status Affects Vector  
operation is enabled because WR1 bit 2 is 1, the channel returns the Special  
Receive Condition vector for a character with an Overrun error.  
RR1 bit 4 indicates a Parity Error. It is 1if parity checking is enabled because  
WR4 bit 0 is 1, and the character parity did not match the type selected by WR4  
bit 1. This bit is latched, and stays 1until software writes an Error Reset  
command to WR0.  
For HDLC/SDLC reception, when RR1 bit 7 is 1, RR1 bits 3-1 indicate the  
number of data bits in the last few characters presented by the receiver for the  
frame. Figures 18 through illustrate the relationship between values of this field  
and the contents of these characters, for 8 through 5 bits/character respectively.  
In Async modes, RR1 bit 0 is set when all transmit data written to the channel’s  
data address has been sent. It is always 1in Synchronous modes.  
.CUVꢀ%JCTCEVGTUꢀQHꢀ(TCOG  
.CUV  
ꢎPFꢌ.CUV  
ꢊTFꢌ.CUV  
44ꢂꢀ$KVUꢀꢊꢌꢂ  
ꢂꢃꢃ  
FCVC  
%4%  
%4%  
%4%  
%4%  
%4%  
%4%  
%4%  
%4%  
%4%  
FCVC  
FCVC  
%4%  
ꢃꢂꢃ  
ꢂꢂꢃ  
ꢃꢃꢂ  
ꢂꢃꢂ  
ꢃꢂꢂ  
ꢂꢂꢂ  
ꢃꢃꢃ  
%4%  
%4%  
FCVC  
%4%  
FCVC  
FCVC  
%4%  
FCVC  
F
FCV  
FCVC  
(
ꢄꢂꢅ 4  
ꢁ8  
ꢅꢁ.  
ꢁ%  
ꢁ(  
ꢁꢈꢂꢁ$ ꢋ%  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢇꢊ  
1
&
5
ꢀ+ꢋ1ꢀ%  
ꢀꢐ5+1   
.CUVꢀ%JCTCEVGTUꢀQHꢀ(TCOG  
.CUV  
ꢎPFꢌ.CUV  
ꢊTFꢌ.CUV  
44ꢂꢀ$KVUꢀꢊꢌꢂ  
F
%4%  
%4%  
%4%  
%4%  
%4%  
%4%  
%4%  
%4%  
ꢂꢃꢃ  
FCV  
FCVC  
%4%  
ꢃꢂꢃ  
ꢂꢂꢃ  
ꢃꢃꢂ  
ꢂꢃꢂ  
ꢃꢂꢂ  
ꢂꢂꢂ  
ꢃꢃꢃ  
%4%  
FCVC  
%4%  
FCVC  
%4%  
FCVC  
%4%  
FCVC  
ꢐ&QGUꢀPQVꢀQEEWTꢑ  
%4%  
(
ꢄꢓꢅ 4  
ꢁ8  
ꢅꢁ.  
ꢁ%  
ꢁ(  
ꢁꢈꢑꢁ$ ꢋ%  
.CUVꢀ%JCTCEVGTUꢀQHꢀ(TCOG  
.CUV  
ꢎPFꢌ.CUV  
ꢉVJꢌ.CUV  
FCVC  
ꢊTFꢌ.CUV  
44ꢂꢀ$KVUꢀꢊꢌꢂ  
ꢂꢃꢃ  
%4%  
%4%  
%4%  
%4%  
%4%  
%4%  
%4%  
%4%  
FCVC  
%4%  
%4%  
ꢃꢂꢃ  
ꢂꢂꢃ  
ꢃꢃꢂ  
ꢂꢃꢂ  
ꢃꢂꢂ  
FCVC  
F
%4%  
FCV  
FCVC  
%4%  
FCVC  
FCVC  
%4%  
FCVC  
FCVC  
%4%  
ꢂꢂꢂ ꢐ&QGUꢀPQVꢀQEEWTꢑ  
ꢐ&QGUꢀPQVꢀQEEWTꢑ  
ꢃꢃꢃ  
(
ꢆꢃꢅ 4  
ꢁ8  
ꢅꢁ.  
ꢁ%  
ꢁ(  
ꢁꢈꢐꢁ$ ꢋ%  
ꢇꢉ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
5
ꢀ+ꢋ1ꢀ%  
ꢀꢐ5+1   
1
&
.CUVꢀ%JCTCEVGTUꢀQHꢀ(TCOG  
.CUV  
%4%  
ꢎPFꢌ.CUV  
ꢉVJꢌ.CUV  
ꢊTFꢌ.CUV  
44ꢂꢀ$KVUꢀꢊꢌꢂ  
ꢂꢃꢃ  
FCV  
%4%  
%4%  
FCVC  
%4%  
%4%  
%4%  
%4%  
%4%  
%4%  
ꢃꢂꢃ  
ꢂꢂꢃ  
ꢃꢃꢂ  
ꢂꢃꢂ  
ꢃꢂꢂ  
FCVC  
%4%  
%4%  
FCVC  
FCVC  
%4%  
%4%  
%4%  
F
ꢐ&QGUꢀPQVꢀQEEWTꢑ  
ꢂꢂꢂ ꢐ&QGUꢀPQVꢀQEEWTꢑ  
ꢐ&QGUꢀPQVꢀQEEWTꢑ  
ꢃꢃꢃ  
(
ꢆꢄꢅ 4  
ꢁ8  
ꢅꢁ.  
ꢁ%  
ꢁ(  
ꢁꢈꢏꢁ$ ꢋ%  
44ꢆꢅꢁThis register can be read only from channel B, and returns the interrupt  
vector that an interrupt acknowledge cycle returns at the same moment. If channel  
B’s WR1 bit 2 is 1to select Status Affects Vector operation, bits 7-4 and 0 are  
returned as software write them to WR2, while bits 3-1 contain a code for the  
highest-priority condition for which an interrupt is currently pending, or 011if no  
interrupts are currently pending. Table 20 describes the codes. If WR1 bit 2 is 0,  
reading RR2 returns exactly what the software last wrote to WR2.  
6
ꢁꢆꢃꢅ 5  
ꢁ#  
ꢁ8  
ꢁ%  
 ꢁ44ꢆꢁ$ ꢁꢌꢀꢄ  
44ꢆꢁ$KVUꢁꢌꢀꢄ  
ꢈKHꢁ94ꢄꢁ$KVꢁꢆꢁꢒꢄꢉ *KIJGUVꢁ2TKQTKV[ꢁ2GPFKPIꢁ+PVGTTWRV  
ꢃꢃꢃ  
ꢃꢃꢂ  
ꢃꢂꢃ  
ꢃꢂꢂ  
%JCPPGNꢀ$ꢀ6TCPUOKVꢀ$WHHGTꢀ'ORV[ꢀꢐNQYGUVꢀRTKQTKV[ꢑ  
%JCPPGNꢀ$ꢀ'ZVGTPCNꢋ5VCVWUꢀ%JCPIG  
%JCPPGNꢀ$ꢀ4GEGKXGꢀ%JCTCEVGTꢀ#XCKNCDNG  
%JCPPGNꢀ$ꢀ5RGEKCNꢀ4GEGKXGꢀ%QPFKVKQPꢀꢐQTꢀPQꢀKPVGTTWRVꢀ  
RGPFKPIꢑ  
ꢂꢃꢃ  
ꢂꢃꢂ  
ꢂꢂꢃ  
ꢂꢂꢂ  
%JCPPGNꢀ#ꢀ6TCPUOKVꢀ$WHHGTꢀ'ORV[  
%JCPPGNꢀ#ꢀ'ZVGTPCNꢋ5VCVWUꢀ%JCPIG  
%JCPPGNꢀ#ꢀ4GEGKXGꢀ%JCTCEVGTꢀ#XCKNCDNG  
%JCPPGNꢀ#ꢀ5RGEKCNꢀ4GEGKXGꢀ%QPFKVKQPꢀꢐJKIJGUVꢀRTKQTKV[ꢑ  
5+1ꢁ+PVGTTWRVU  
The SIO, CTC, and PIO modules logically OR their interrupt requests with those  
from any external peripherals that are connected to the INT0 pin. Three external  
peripherals must drive INT0 Low in an open-collector or open-drain fashion. The  
Z80S188 drives INT0 Low in an open-drain fashion, when any of the SIO or CTC  
channels or PIO ports are requesting an interrupt.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢇꢆ  
1
&
5
ꢀ+ꢋ1ꢀ%  
ꢀꢐ5+1   
Each SIO channel includes three modules that can request an interrupt: the  
Receiver, Transmitter, and External/Status conditions. Each of these 6 interrupt  
types include state bits called Interrupt Pending (IP)and Interrupt  
Under Service (IUS). All six types share the same base interrupt vector,  
but if bit 2 of WR1 is 1, the SIO returns a code identifying the highest priority  
SIO type requesting an interrupt in bits 3-1 of the interrupt vector.  
+PVGTTWRVꢁ2TKQTKV[ꢁ&CKU[ꢁ%JCKPKPIꢅꢁBecause more than one channel, port, or  
interrupt type can request an interrupt at the same time, a mechanism is needed to  
select the order in which their requests are serviced. Z80 peripherals and certain  
other ZiLOG devices use a daisy chain to control the relative priority of interrupt  
requests among multiple devices and interrupt types within devices.  
As described in “Interrupt Acknowledge Daisy Chaining”, on page 18, each SIO  
interrupt type has an Interrupt Enable In (IEI) pin, from which it receives  
permission to interrupt from higher-priority devices, and an Interrupt Enable Out  
(IEO)pin, on which it grants permission to interrupt, to lower-priority devices.  
The daisy-chain order and priority within each Z80-device-equivalent module is  
fixed. For the SIO, Channel A’s Receiver has the highest priority, followed by  
Transmitter A, External/Status A, Receiver B, Transmitter B, and External/Status  
B.  
The SIO, CTC, and PIOs in the Z80S188 are always consecutive on the daisy  
chain, but the relative priority among them is programmable in the Interrupt  
Priority register.  
Please see “Interrupt Acknowledge Daisy Chaining”, on page 18 for more infor-  
mation about interrupt daisy-chaining.  
+PKVKCNK\KPIꢁHQTꢁ#U[PEꢁ1RGTCVKQP  
1. Write a Channel Resetcommand, 08H, to WR0  
2. Write the desired interrupt vector to channel B’s WR2, if the application  
enables any interrupts from either SIO channel, and previous initialization has  
not yet been implemented.  
3. Write binary cc00ssppto WR4:  
a. ccare typically 01for /16 clocking, but can be 00for 1X isochronous,  
10for /32, or 11for /64 clocking. In isochronous operation, data on RxD  
need not be synchronous to the clock on RxC, as in Sync modes.  
b. sscan be 01to send 1 Stop bit, 10for 1.5, or 11to send 2 Stop bits.  
c. ppare typically 00, but can be 10for odd parity generation and checking,  
or 11for even parity.  
ꢇꢏ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
5
ꢀ+ꢋ1ꢀ%  
ꢀꢐ5+1   
1
&
4. Write binary nne00001to WR3:  
a. nnis typically 11to assemble 8 data bits per character, but can be 10for  
7, 01for 6, and 00for 5 bits/character. This number does not include the  
parity bit if the previous step enabled parity.  
b. eis typically 0, but can be 1if the signal on the DCD pin auto-enables the  
receiver, and the signal on CTS autoenables the transmitter.  
5. Write binary dnn010r0to WR5:  
a. dcontrols the DTR pin, 0for High, 1for Low.  
b. nnis typically 11to send 8 bits/character, but can be 10for 7, 01for 6,  
and 00for 5 bits/character. This number does not include the parity bit if  
parity is enabled in WR4.  
c. rcontrols the RTS pin, 0for High, 1for Low.  
6. Write binary wwwiisteto WR1:  
a. wwware typically 000; otherwise they select the function of the WAIT/  
RDY pin as described on page 77.  
b. ii are typically 00 for polled reception or 11 for interrupt-driven  
reception. 01selects a receive interrupt on the first received character. 10  
selects interrupt-driven reception in which a character with a parity error  
is handled via the Special Receive condition ISR.  
c. sis typically 1to select status affects vector operation, in which the SIO  
returns one of 8 consecutive vectors depending on the highest priority  
interrupting condition. If sis 0, the SIO returns the vector in WR2 for any  
interrupt on either channel.  
d. A 1in tenables transmit interrupts  
e. A 1in eenables external/status interrupts  
+PKVKCNK\KPIꢁHQTꢁ%NCUUKEꢁ5[PEꢁ1RGTCVKQP  
1. Write a Channel Resetcommand, 08H, to WR0.  
2. Write the desired interrupt vector to channel B’s WR2 if the application  
enables any interrupts from either SIO channel, and previous initialization has  
not yet been implemented.  
3. Write binary 00mm00ppto WR4:  
a. mmare 00to select an 8-bit Sync pattern (monosync), 01to select a 16-  
bit Sync pattern (Bisync), or 11to select external Sync detection.  
b. ppare typically 00, but can be 10for odd parity generation and checking,  
or 11for even parity.  
4. Write binary dnn00cr0to WR5:  
a. dcontrols the DTR pin, 0for High, 1for Low.  
b. nnis typically 11to send 8 bits/character, but can be 10for 7, 01for 6,  
and 00for 5 bits/character. This number does not include the parity bit if  
parity is enabled in WR4.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢇꢍ  
1
&
5
ꢀ+ꢋ1ꢀ%  
ꢀꢐ5+1   
c. cis 0to use the CRC/CCITT polynomial, 1for CRC-16.  
d. rcontrols the RTS pin, 0for High, 1for Low.  
5. Write binary nne10010to WR3:  
a. nnis typically 11to assemble 8 data bits per character, but can be 10for  
7, 01for 6, and 00for 5 bits/character. This number does not include the  
parity bit if parity is enabled in WR4.  
b. eis typically 0, but can be 1if the DCD pin auto-enables the receiver, and  
the signal on CTS autoenables the transmitter.  
6. Write the Sync character to WR6 for monosync operation. For Bisync, write  
the first Sync character to WR6 and the second Sync character to WR7.  
7. Write binary wwwiisteto WR1:  
a. wwware typically 000; otherwise they select the function of the WAIT/  
RDY pin as described on page 77.  
b. ii are typically 00 for polled reception or 11 for interrupt-driven  
reception. 01selects a receive interrupt on the first received character. 10  
selects interrupt-driven operation in which a character with a parity error  
is handled via the Special Receive condition ISR.  
c. sis typically 1to select status affects vector operation, in which the SIO  
returns one of 8 consecutive vectors depending on the highest priority  
interrupting condition. If sis 0, the SIO returns the vector in WR2 for any  
interrupt on either channel.  
d. A 1in tenables transmit interrupts.  
e. A 1in eenables external/status interrupts.  
8. Write the same value as in step 4 to WR5, but with bit 3 (08H) set to enable  
the transmitter. Write the value from step 5 to WR3, but with bit 0 set to enable  
the receiver.  
9. Write a Reset Rx CRC Checker command to WR0.  
+PKVKCNK\KPIꢁHQTꢁ*&.%ꢋ5&.%ꢁ1RGTCVKQP  
1. Write a Channel Resetcommand, 08H, to WR0  
2. Write the desired interrupt vector to channel B’s WR2 if the application  
enables any interrupts from either SIO channel, and previous initialization has  
not yet been implemented.  
3. Write binary 001000ppto WR4. ppare typically 00, but can be 10for odd  
parity generation and checking, or 11for even parity.  
ꢇꢇ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
5
ꢀ+ꢋ1ꢀ%  
ꢀꢐ5+1   
1
&
4. Write binary dnn000r1to WR5:  
a. dcontrols the DTR pin, 0for High, 1for Low.  
b. nnis typically 11to send 8 bits/character, but can be 10for 7, 01for 6,  
and 00for 5 bits/character. This number does not include the parity bit if  
parity is enabled in WR4.  
c. rcontrols the RTS pin, 0for High, 1for Low.  
5. Write binary nne10a00to WR3:  
a. nnis typically 11to assemble 8 data bits per character, but can be 10for  
7, 01for 6, and 00for 5 bits/character. This number does not include the  
parity bit if parity is enabled in WR4.  
b. eis typically 0, but can be 1if the DCD pin auto-enables the receiver, and  
CTS autoenables the transmitter.  
c. ais 1if the channel matches the first character of each received frame  
against the character in WR6, and ignores non-matching frames.  
6. Write the match character to WR6.  
7. Write 7EH(the Flag pattern) to WR7.  
8. Write binary wwwiisteto WR1:  
a. wwware typically 000; otherwise, they select the function of the WAIT/  
RDY pin as described on page 77.  
b. ii are typically 00 for polled reception or 11 for interrupt-driven  
reception. 01selects a receive interrupt on the first received character. 10  
selects interrupt-driven operation in which a character with a parity error  
is handled via the Special Receive condition ISR.  
c. sis typically 1to select status affects vector operation, in which the SIO  
returns one of 8 consecutive vectors depending on the highest priority  
interrupting condition. If sis 0, the SIO returns the vector in WR2 for any  
interrupt on either channel.  
d. A 1in tenables transmit interrupts  
e. A 1in eenables external/status interrupts  
9. Write the same value as in step 4 to WR5, except with bit 3 (08H) set to enable  
the transmitter. Write the value from step 5 to WR3, except with bit 0 set to  
enable the receiver.  
10. Write a Reset Tx CRC Generator command (80H) to WR0.  
2QNNGFꢁ6TCPUOKUUKQP  
1. If there is data to send, software reads RR0 from the channel’s Control address  
periodically, and proceeds to the next step if bit 2, Tx Empty, is 1.  
2. In HDLC/SDLC mode, if frames have a required format and the next character  
is not the first one of a frame, read RR0 and check the Tx Underrun/EOM bit.  
If it is 1, an underrun condition has occurred inside of a frame. Write a Send  
Abort command to WR0, and return to step 1.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢇꢁ  
1
&
5
ꢀ+ꢋ1ꢀ%  
ꢀꢐ5+1   
3. In CLASSIC SYNC mode only, if the next character is the first included in the  
CRC for the message, write a Reset Tx CRC Generator command to  
WR0.  
4. In CLASSIC SYNC mode only, determine if the next character is included in  
the CRC. Write WR5 (if necessary) with bit 0 set to 1for inclusion or 0to  
exclude.  
5. Fetch the next character from memory and write it to the channel’s data  
address.  
6. In HDLC mode only, if the character just written is the first one of a new frame,  
write a Reset Tx Underrun/EOMcommand to WR0.  
7. In CLASSIC SYNC mode only, if messages have a required format and the  
character just written was the last one of a message, or if messages can be of  
any length and serve only to convey a byte stream with its own internal  
structure, and the character just written was the first one of a message, write a  
Reset Tx Underrun/EOM command to WR0 and set an internal flag  
indicating that this operation was performed.  
8. Return to step 1.  
2QNNGFꢁ4GEGRVKQP  
1. Read RR0 from the channel’s Control address periodically. Proceed to the next  
step if either bit 0 or bit 7, Rx Available or Break/Abort, is 1.  
2. In Async or HDLC/SDLC modes only, if RR0 bit 7, Break/Abort, is 1, write a  
ResetExternal/Statuscommand to WR0 to unlatch the status in RR0,  
then read RR0 periodically until RR0 bit 7 returns to 0, which indicates that  
the Breakor Abortsequence is over. At that time, write another Reset  
External/Statuscommand to WR0 to unlatch the RR0 status again.  
In HDLC/SDLC mode, an Abort sequence while a frame is in progress  
indicates that software discards that frame, then returns to step 1 to wait for the  
first character of the next frame.  
In Async mode on a full duplex link, a Break traditionally indicates that the  
station receiving it stops sending. If a Break follows a character that  
contained a Framing Error, the Break indicates that sender started the Break  
while that character was being sent. When a BREAK is over, bit 0 of RR0, Rx  
Available, is set, and software reads the extraneous all-0character from the  
Data address, then discards it, and returns to step 1.  
3. For Rx Available without Break/Abort, software reads the status  
associated with the character from RR1, then saves it, and reads the character  
from the channel’s Data address.  
4. If parity checking is enabled, handling of a character with a parity error is  
application- and protocol-dependent, except that software must write an  
ErrorResetcommand to WR0 to clear the parity error bit.  
ꢁꢃ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
5
ꢀ+ꢋ1ꢀ%  
ꢀꢐ5+1   
1
&
5. If the RR1 status shows an overrun condition, handling of preceding data is  
application- and protocol-dependent. One character was lost before the  
character flagged with the overrun status; others may have been lost  
subsequently. Software must write an Error Reset command to WR0 to  
clear the overrun bit. In HDLC/SDLC and CLASSIC SYNC modes, software  
typically discards/ignores the frame/message in progress, then writes a value  
to WR3 that includes a 1in bit 4, which forces the receiver into HUNT mode,  
then returns to step 1.  
6. In ASYNC mode, software checks the Framing Error bit in RR1, but the  
handling of a character with a framing error is application-dependent.  
7. Except for certain kinds of error characters in certain protocols, software stores  
the received character in memory, advances the buffer address, and if the  
current buffer is filled, advances the pointer to the next buffer.  
8. In CLASSIC SYNC mode, if the Strip Sync bit was set in WR3, software  
rewrites WR3 to clear this bit.  
9. In CLASSIC SYNC mode with CRC checking, software examines the  
character to determine if it is included in CRC checking, and if necessary, write  
to WR3 so that bit 3 is 1 to include or 0 to exclude the character. (Sync  
characters within a message are excluded.)  
10. In Classic Sync mode, software must examine whether each character is a  
message-terminator. When a message-terminator is detected, if CRC checking  
is used and the Rx character length is less than 8 bits, software rewrites WR3  
for 8 bits/character, at least for the duration of the CRC.  
a. For CRC checking, software waits for four more Rx Available flags (RR0  
bit 0). The first two flags are associated with the CRC characters  
themselves; the third is typically a Pad or Sync character. These three  
characters can be read and discarded. When the fourth Rx Available flag  
is set, software reads RR1 and checks bit 6 to determine the CRC  
correctness of the message.  
b. Software writes a Reset Rx CRC Checker command to WR0. Depending  
on the protocol, software reads the next character and examines it for a  
Sync character or the start of a new frame. Software may then discard the  
character, exclude it from the Rx CRC, and write to WR3 to force the  
receiver back into Hunt mode for a new Sync sequence.  
11. In HLDC/SDLC mode, software checks bit 7 of RR1 (EOF) to detect when the  
last character of the CRC was read. When RR1 bit 7 is 1, the accompanying  
bit 6 indicates CRC correctness, and the accompanying bits 3-1 indicate the  
frame length.  
12. Unless indicated otherwise in a step above, after processing each character, the  
software returns to step 1.  
+PVGTTWRVꢀ&TKXGPꢁ6TCPUOKUUKQP  
The following steps assume the processor is in Interrupt mode 2 and that bit 2 of  
WR1 is 1to select Status Affects Vector mode. Otherwise, when an interrupt  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢁꢂ  
1
&
5
ꢀ+ꢋ1ꢀ%  
ꢀꢐ5+1   
occurs, software must read RR0 and possibly RR1 of each SIO channel, to deter-  
mine the cause of each interrupt.  
1. When the SIO returns an interrupt vector, resulting in execution of an SIO Tx  
Interrupt Service Routine (ISR), the SIO saves as many registers that it may  
use (worst case), using PUSHor EX AF,AFand EXXinstructions.  
2. Next, the Tx ISR retrieves the transmit context. If this interrupt follows CRC  
transmission in a Synchronous mode, and another frame or message is not to  
follow immediately, proceed to step 4.  
3. Otherwise, the ISR proceeds as in steps 2-7 of “Polled Transmission”, on page  
89. If the transmit context was not the end of a frame or message in a  
Synchronous mode, or if there is more data to send in Async mode, proceed to  
step 5.  
4. Write a Reset Transmitter Interrupt Pending command to WR0. If a CRC is  
sent in Synchronous modes, the next Tx interrupt cannot occur until after the  
CRC has been sent. Otherwise software must write the next Tx character to the  
channel’s Data address at mainline level, before another Tx interrupt can  
occur.  
5. The ISR concludes by restoring the saved registers and executing EI and  
RETIinstructions. The transmitter detects the RETIand re-enables interrupts  
from itself and lower-priority devices.  
+PVGTTWRVꢀ&TKXGPꢁ4GEGRVKQP  
The following steps assume the processor is in Interrupt mode 2 and that bit 2 of  
WR1 is 1to select Status Affects Vector mode. Otherwise, when an interrupt  
occurs, software must read RR0 and possibly RR1 of each SIO channel, to deter-  
mine the cause of each interrupt.  
1. When the SIO returns an interrupt vector, resulting in execution of an SIO Rx  
Interrupt Service Routine (ISR), it saves as many registers that it may use  
(worst case), using PUSH or EX AF,AF’ and EXX instructions.  
2. The next received character is read and stored in memory. The buffer pointer  
advances, and if the current buffer is full, the pointer advances to the next  
buffer.  
3. In CLASSIC SYNC mode, proceed as in steps 8-10 of “Polled Reception”, on  
page 90.  
4. Because all exceptional receive conditions, including EOM in HDLC mode,  
result in External/Status interrupts or Special Receive interrupts rather than  
normal Rx interrupts, the ISR concludes by restoring the saved registers and  
executing EIand RETIinstructions. The receiver detects the RETIand re-  
enables interrupts from itself and lower-priority devices.  
ꢁꢎ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
5
ꢀ+ꢋ1ꢀ%  
ꢀꢐ5+1   
1
&
&/#ꢁ6TCPUOKUUKQP  
This section assumes that in Synchronous modes, each frame or message to be  
sent occupies a single contiguous buffer in memory. Otherwise, software  
processing is more complex.  
0
 CLASSIC SYNC transmission can only be handled by DMA if all of the  
characters in a DMA buffer are included in the CRC. Otherwise the message is  
sent using polling or interrupt-driven techniques.  
1. Ensure that WR1 bit 1 is 0to disable Tx interrupts.  
2. In CLASSIC SYNC mode only, write a Reset Tx CRC Generator command to  
WR0, and ensure that WR5 bit 0 is 1to include all characters in the CRC (see  
note above).  
3. Two of the four SIO transmitters and receivers can be handled by the  
Z80S188’s DMA channels at one time. If these assignments are not fixed or  
were not set up during device initialization:  
a. Write 100to DAR0Bbits 2-0, and 11 to DMODEbits 5-4, to handle SIO  
channel A Tx using DMA0.  
b. Write 101to DAR0B bits 2-0, and 11 to DMODE bits 5-4, to handle SIO  
channel B Tx using DMA0.  
c. Write 100 to IAR1B bits 2-0, and 0 to DCNTL bit 1, to handle SIO  
channel A Tx using DMA1.  
d. Write 101 to IAR1B bits 2-0, and 0 to DCNTL bit 1, to handle SIO  
channel B Tx using DMA1.  
4. Load DAR0L,H or IAR1L,H with 00D8H for channel A or 00DAH for  
channel B. Program the other DMA registers as described in “Setting Up a  
DMA Transfer”, on page 60. When the DMA channel is enabled and the SIO  
Tx requests data, the DMA begins providing data to the SIO Tx.  
5. In Sync modes, if the Tx is auto-enabled, wait to be sure that the transfer had  
begun.  
6. In Sync modes, write a Reset Tx Underrun/EOM command to WR0.  
7. When the DMA channel interrupts or when software polls bit 7 or 6 of the  
DSTAT register as 0, all the data has been transferred to the SIO transmitter.  
&/#ꢁ4GEGRVKQP  
In general, CLASSIC SYNC reception cannot be handled by DMA because some  
received characters (such as embedded Syncs) must be excluded from CRC  
checking, and each received character must be checked for message termination.  
Only very straightforward CLASSIC SYNC reception, in which message lengths  
are fixed and all characters in every message are included in CRC checking, can  
be handled by DMA.  
1. Ensure that WR1 bits 4-3 are 00to disable Rx interrupts. WR1 bit 0 can be 1  
to enable External/Status interrupts, or 0if software polls RR0 and RR1.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢁꢊ  
1
&
5
ꢀ+ꢋ1ꢀ%  
ꢀꢐ5+1   
2. Two of the four SIO transmitters and receivers can be handled by the  
Z80S188’s DMA channels at one time. If these assignments are not fixed or  
were not set up during device initialization:  
a. Write 100to SAR0Bbits 2-0, and 11to DMODEbits 3-2, to handle SIO  
channel A Rx using DMA0.  
b. Write 101to SAR0Bbits 2-0, and 11to DMODEbits 3-2, to handle SIO  
channel B Rx using DMA0.  
c. Write 100 to IAR1B bits 2-0, and 1 to DCNTL bit 1, to handle SIO  
channel A Rx using DMA1.  
d. Write 101 to IAR1B bits 2-0, and 1 to DCNTL bit 1, to handle SIO  
channel B Rx using DMA1.  
3. In Classic Sync mode only, write a Reset Rx CRC Generatorcommand  
to WR0, ensure that WR3 bit 3 is 1to include all characters in the CRC and set  
WR3 bit 1 to strip initial Syncs.  
4. Load SAR0L,Hor IAR1L,Hwith 00DHfor channel A or 00DAHfor channel  
B. In Classic Sync mode, load the BCR with the fixed message length plus 3,  
to allow for the CRC and the subsequent Pad or Sync character. Program the  
other DMA registers as described in “Setting Up a DMA Transfer”, on page  
60. When the DMA channel is enabled and the SIO Rx receives a character,  
the DMA begins storing SIO Rx data.  
5. If External/Status interrupts are not enabled, software must periodically poll  
RR0 and RR1 to watch for conditions like BREAK, ABORT, DCD change, and  
EOF.  
6. When the DMA channel interrupts or when software detects bit 7 or 6 of the  
DSTAT register as 0, the DMA has filled the buffer with received data. If more  
Rx data is expected, software returns to step 3 or 4 to set up a new DMA buffer.  
*CPFNKPIꢁ'ZVGTPCNꢋ5VCVWUꢁ+PVGTTWRVU  
The following steps assume the processor is in interrupt mode 2 and that bit 2 of  
WR1 is 1 to select status affects vector mode. Otherwise, when an interrupt  
occurs, software reads RR0 and possibly RR1 of each SIO channel, to determine  
the cause of each interrupt.  
1. When the SIO returns an interrupt vector resulting in execution of an SIO  
External/Status Interrupt Service Routine (ISR), the SIO saves as many  
registers that it may use, using PUSH or EX AF,AF’ and EXX instructions.  
2. Software then retrieves the SIO context, including the last value read from  
RR0.  
3. Next, software reads RR0, save this value, and then performs an XOR  
instruction on the current RR0 value and the previous value. Differences (1s)  
among bits 7–3 of this result identify the reason(s) for the interrupt. A 1-to-0  
transition of bit 6 does not produce an interrupt.  
ꢁꢉ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
#
ꢀ5  
ꢀ%  
ꢀ+  
ꢀꢐ#5%+   
1
&
4. Before or after handling these events, software writes a Reset External/Status  
Interrupts command to WR0. This action unlatches bits 7–3 of RR0, and  
allows future External/Status interrupts.  
5. The ISRconcludes by restoring the saved register values, followed by EIand  
RETIinstructions. The External/Status logic detects the RETIand re-enables  
interrupts from itself and from lower-priority devices.  
#5;0%ꢁ5'4+#.ꢁ%1//70+%#6+105ꢁ+06'4(#%'5ꢁꢈ#5%+5  
The ASCIs are asynchronous full-duplex UARTs with the following features:  
7- or 8-Bit data  
Odd, even, or no parity  
1 or 2 Tx stop bits  
Checking for parity, framing, and overrun errors  
Break generation and detection  
A choice of two baud rate generators  
Rx and Tx interrupts  
Input or output clocking on CKA0-1  
DCD and CTS on ASCI0  
Operation with the on-chip DMA channels, and  
A multiprocessor mode with an extra bit designating address vs. data characters.  
The registers associated with the ASCIs are described in section “Async Serial  
Communications Interface (ASCI) Registers”, on page 166. Control registers A  
and B (CNTLA0, CNTLA1, CNTLB0, and CNTLB1) and the Extension Control  
registers (ASEXT0, ASEXT1) are typically written once each, to configure an  
ASCI. The Status registers (STAT0 and STAT1) indicate the current state of each  
ASCI’s Receiver and Transmitter. Under control of this status, software can write  
bytes to be transmitted to the Transmit Data Registers (TDR0 and TDR1), and can  
read received bytes from the Receiver Data Registers (RDR0 and RDR1).  
$CUKEꢁ%NQEMKPI  
Each ASCI uses the same basic clock for both transmitting and receiving. If bits  
2–0 of an ASCI’s CNTLB register are 111, as they are after a Reset, the basic  
clock is taken from the CKA0 or CKA1 pin, and neither Baud Rate Generator is  
used.  
To use the old BRG, which is compatible with the original ZiLOG Z80180, soft-  
ware must:  
1. Clear bit 3 (BRG mode) of the Extension Control register to 0, to select the  
old BRG.  
2. Write bit 5 (PS) and bits 2–0 (SS) in the CNTLB register to select what value  
the old BRG divides the PHI clock by, to obtain the basic clock for this ASCI,  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢁꢆ  
1
&
#
ꢀ5  
ꢀ%  
ꢀ+  
ꢀꢐ#5%+   
as indicated in Table 21. This basic clock is then driven onto the CKA0 or  
CKA1 pin.  
6
ꢁꢆꢄꢅ 1 ꢁ$4)ꢁ&  
ꢁ(  
25ꢁꢈ%06.$ꢏꢉ 55ꢁꢈ%06.$ꢆꢀꢃꢉ $CUKEꢁ%NQEMꢁKUꢁ2*+ꢁ&KXKFGFꢁ$[  
ꢃꢃꢃ  
ꢃꢃꢂ  
ꢃꢂꢃ  
ꢃꢂꢂ  
ꢂꢃꢃ  
ꢂꢃꢂ  
ꢂꢂꢃ  
ꢂꢂꢂ  
ꢃꢃꢃ  
ꢃꢃꢂ  
ꢃꢂꢃ  
ꢃꢂꢂ  
ꢂꢃꢃ  
ꢂꢃꢂ  
ꢂꢂꢃ  
ꢂꢂꢂ  
ꢂꢃ  
ꢎꢃ  
ꢉꢃ  
ꢇꢃ  
ꢂꢏꢃ  
ꢊꢎꢃ  
ꢏꢉꢃ  
0QꢀENQEM  
ꢊꢃ  
ꢏꢃ  
ꢂꢎꢃ  
ꢎꢉꢃ  
ꢉꢇꢃ  
ꢁꢏꢃ  
ꢂꢁꢎꢃ  
0QꢀENQEM  
To use the new BRG, which is compatible with the ZiLOG SCC family, software  
must:  
1. Set bit 3 (BRG mode) of the Extension Control register to 1, to select the new  
BRG.  
2. Write a 16-bit binary value to the Time Constant Low and High registers. This  
value is the factor by which PHI is divided to produce the basic clock, divided  
by two, minus two. The new BRG derives the basic clock as:  
basic clock = PHI / 2 (TC+2)  
This basic clock is then driven onto the CKA0 or CKA1 pin.  
%NQEMꢁ/QFGꢅꢁIf bit 4 (X1clock) in an ASCI’s Extension Control Register is 1, the  
basic clock on CKA0 or CKA1 is used directly as a 1X isochronous bit clock,  
which must be synchronized to the data on RXA0 or RXA1. This mode can be used  
in either of two ways:  
With CKA0 or CKA1 as an input, bearing a clock from the remote transmitter, that  
is synchronous to the data on this ASCI’s RXA pin.  
With CKA0 or CKA1 as an output, bearing the clock to the remote transmitter,  
which uses it to output data on this ASCIs RXA pin.  
If bit 4 (X1clock) in an ASCI’s Extension Control Register is 0, and the DRbit  
(bit 3) in the CNTLB register is 0, the ASCI divides its basic clock by 16 to obtain  
ꢁꢏ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
#
ꢀ5  
ꢀ%  
ꢀ+  
ꢀꢐ#5%+   
1
&
the serial bit rate. If X1clock is 0and DRis 1, the ASCI divides its basic clock by  
64.  
#U[PEꢁ6TCPUOKUUKQP  
Figure 22 shows a single asynchronous character on the TXA or RXA pin. When a  
Transmitter is disabled, or when it has completed sending any and all characters  
that software or a DMA channel has provided, it maintains a High level on the  
TXD pin. This state is also called 1 or Mark.  
(
ꢆꢆꢅ # ꢁ#  
ꢁ%  
6:#  
QTꢀ4:#  
5VCTVꢀDKV  
&CVCꢀDKVU  
ꢂUVꢀ5VQRꢀDKV  
5612ꢋ+&.'  
When software or a DMA channel provides a character to an idle ASCI trans-  
mitter, it  
1. Drives TXA lot to start a start bit, on the next falling edge of the basic clock,  
and maintains TXA Low for 1, 16, or 64 basic clocks depending on the X1  
clock and DR bits.  
2. Switches TXA to the state of the least significant bit (bit 0) of the character, and  
holds that for 1, 16, or 64 clocks, and so on through the most significant bit (bit  
6 or 7) of the character, and for a parity or MP bit if one of these is enabled.  
3. Switches TXA to High (1, Mark) again for the first Stop bit, and maintains it  
High for at least 1, 16, or 64 clocks, plus another 1, 16, or 64 clocks if bit 0 of  
its CNTLA register is 1to select send two Stop bits.  
The Tx character is now complete. If software or a DMA channel has provided  
another character to send, the transmitter starts another start bit as described  
above. Otherwise, it keeps TXA High until a character is provided.  
#U[PEꢁ4GEGRVKQP  
The Receiver has a more complex task. When it is first enabled, or after a char-  
acter has been received:  
1. The receiver samples the RXA pin on the rising edge of each basic clock is  
sampled. If RXA is High it remains in the same state of waiting for a start bit.  
If it samples RXA Low, and the X1 clock bit is 0, the receiver counts off half  
a bit time, 8 basic clocks if DRis 0, or 32 basic clocks if DRis 1. The receiver  
samples RXAagain.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢁꢍ  
1
&
#
ꢀ5  
ꢀ%  
ꢀ+  
ꢀꢐ#5%+   
2. If RXA is now High, the receiver rejects the transient Low state on RXA as not  
representing a Start bit, and returns to step 1. If the X1 clock bit is 1, the  
receiver skips this step.  
3. The receiver then counts off the number of basic clocks in a bit, 1, 16, or 64  
depending on the X1 clock and DR bits, and samples RXA for the least  
significant data bit (bit 0). This operation continues for each More Significant  
Data bit (through bit 6 or 7), and optionally for a Parity or MP bit if these are  
enabled.  
4. Finally, the receiver counts off 1, 16, or 64 more basic clocks and samples the  
first Stop bit. When X1clock is 0, if the receiver’s basic clock is close to the  
clock that the transmitter used to send the character, (near the middle of the  
first Stop bit), and if there is no noise or other error on the line, the receiver  
samples the Stop bit as High/1/Mark.  
If X1clock is 0, and the receiver’s and transmitter’s clocks were sufficiently  
different, or if there is noise or contention on the line, the receiver samples a  
Low/0/Space. This latter situation is called a framing error; when it occurs, the  
receiver sets an error bit that accompanies the character through the receiver  
FIFO, and sets the FE bit in the STAT register when the character becomes the  
oldest in the FIFO.  
The received character is now complete, and the receiver returns to sample the line  
for a new Start bit, as described above.  
%NQEMKPIꢁ5WOOCT[  
The Sampling Rate can be 1, 16, or 64 depending on the X1 bit in the ASEXT  
register and the DR bit in the CNTLA register:  
:ꢄ  
&4  
5CORNKPIꢁ4CVG  
ꢂꢏ  
ꢏꢉ  
4GUGTXGFꢅꢀFQꢀPQVꢀRTQITCOꢄ  
The following notations apply to the equations below, where:  
bits/second is the serial rate  
f
is the system clock frequency  
PHI  
PS is the value written to bit 5 of CNTLB (0 or 1)  
^ indicates exponentiation (2 to the power)  
SS2-0is the binary value of bits 2–0 of CNTLB (0 thru 6)  
DRis bit 3 of CNTLB (0 or 1)  
TC is the 16-bit value in the ASTCL and ASTCH registers  
ꢁꢇ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
#
ꢀ5  
ꢀ%  
ꢀ+  
ꢀꢐ#5%+   
1
&
If the SS2–0 bits in the CNTLA register are 111, the CKA pin is a clock input,  
which is divided by the sampling rate by the receiver and transmitter:  
bits/second = fCKAin / Sampling Rate  
If the SS2–0 bits are not 111, and the BRG Mode bit in the ASEXT register is 0,  
the old baud rate generator divides PHI as follows for serial clocking.  
bits/second=fPHI/((10+20*PS)*2^SS2-0*Sampling Rate)  
where PS selects between a prescaler of 10 and 30, and 2^SS20is a power of  
two between 1 and 64. The CKA pin outputs the clock before the final division by  
the Sampling Rate:  
H
ꢀꢒꢀH ꢋꢐꢐꢂꢃꢔꢎꢃꢗ25ꢑꢗꢀꢎ@55ꢎꢌꢃꢑ  
If the SS2–0 bits are not 111, and the BRG mode bit is 1, the new baud rate  
generator divides PHI for serial clocking as on the ZiLOG SCC family:  
DKVUꢋUGEQPFꢀꢒꢀH ꢋꢐꢎꢗꢐ6%ꢔꢎꢑꢗ5CORNKPIꢀ4CVGꢑ  
Where TC is the 16-bit value programmed into the TC high and low registers. The  
CKA pin outputs the clock before the final division by the Sampling Rate:  
fCKAout = fPHI/(2*(TC+2))  
To find the TC value for a particular serial bit rate:  
TC = (fPHI/(2 * bits/second * Sampling Rate)) - 2  
1RVKQPU  
ꢑꢁQTꢁꢂꢁ&CVCꢁ$KVUꢅꢁIf bit 2 of the CNTLA register is 0, the transmitter sends, and  
the receiver accumulates, 7 data bits per character. If CNTLA2 is 1, the trans-  
mitter sends, and the receiver accumulates, 8 data bits per character.  
2CTKV[ꢅꢁIf bit 1 of the CNTLA register is 1, the transmitter accumulates and sends  
a Parity bit after the data bits, and the receiver samples and checks such a bit. If  
CNTLA1 is 1, a 1in bit 4 of the CNTLB register selects odd parity and a 0  
selects even parity. Odd parity defines a correct character that contains an odd  
number of 1bits, through and including the Parity bit, while even parity defines a  
correct character that contains an even number of 1bits.  
If the receiver samples the Parity bit in the incorrect state for a character, an error  
bit is set that accompanies the character through the receiver FIFO, and sets the  
PE bit in the STAT register when the character becomes the oldest one in the  
FIFO.  
6TCPUOKVꢁ5VQRꢁ$KVUꢅꢁIf bit 0 of CNTLA is 0, the transmitter sends a minimum of  
one Stop bit between characters. If CNTLA is 1, it sends at least two Stop bits  
between characters. Selecting two stop bits has been known to work around  
timing mismatches between a transmitter and a receiver.  
0
 The ASCI receivers on the Z80S188 check only one Stop bit, regardless of  
bit 0 of CNTLA. This is also true of ASCI receivers on other current 8018x family  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢁꢁ  
1
&
#
ꢀ5  
ꢀ%  
ꢀ+  
ꢀꢐ#5%+   
members, as well as other UARTs, but on the original 80180, the ASCIs actually  
checked two Stop bits if CNTLA0 was 1.  
5VCVWU  
$TGCMꢁ%QPFKVKQPUꢅꢁBreak conditions date back to the early days of Async  
communications using Teletypewriters, which were functionally half-duplex in  
that text could only flow in one direction at a time. If the operator of a receiving  
TTY) had a problem, or something to say, and wanted to interrupt the data from  
the other machine, there was a Break key that could be pressed. This drove the line  
to 0/Space state for several character times, which served to turn a light on at the  
other machine and stopped its paper tape reader if it was in use.  
A Break is still defined as at least two character times of consecutive 0s on the  
line. A receiver detects this as one or more all-0 character(s) with Framing  
error(s).  
Software can make a Z80S188 ASCI send a Break by writing a 1to bit 0 of the  
Extension Control register. Software can ensure that any characters previously  
written to the Transmit Data register are sent (by monitoring bit 0 of the Extension  
Control register), before it writes a 1to the Tx Break bit. The duration of a trans-  
mitted Break is completely under software control—the Break is terminated by  
writing a 0to ASEXT bit 0.  
While receiving an all-0 character with a Framing error is definitive evidence of a  
Break, bit 1 of the Extension Control register provides more specific break detec-  
tion. When the receiver detects an all-0 character with a framing error, a Break  
status bit is set that accompanies the character through the receiver FIFO, and sets  
bit 1 in the ASEXT register when the character becomes the oldest in the FIFO.  
When this procedure occurs, the receiver does not assemble any further characters  
until the RXA line returns to High/1/Mark, signalling the end of the Break condi-  
tion.  
4Zꢁ1XGTTWPꢅꢁThe ASCIs in the Z80S188 have 4-character Rx FIFOs between their  
RX SHIFT registers and the Receive data registers that software or a DMA channel  
can read. If the receiver finishes receiving a character when there are already 4  
characters in the FIFO, an overrun status bit is set that accompanies the preceding  
character through the FIFO, and the OVRN bit (bit 6 in the STAT register) is set  
when that character becomes the oldest in the FIFO.  
The receiver discards the character that triggers the overrun condition, and subse-  
quent characters, until the last good character has come to the top of the FIFO so  
that OVRN is set. Software then writes a 0to the EFR bit to clear it.  
4GEGKXGꢁ5VCVWUꢅꢁThere are 4 receive status bits in the STAT register and one in the  
Extension Control register. RDRF, bit 7 of the STAT register, is set to 1whenever  
there is at least one received character in the Rx FIFO. This bit is cleared when  
software or a DMA channel has read all characters out of the Rx FIFO, by Reset,  
in I/O STOP mode, and on ASCI0, when the DCD0pin is autoenabled and is High.  
ꢂꢃꢃ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
#
ꢀ5  
ꢀ%  
ꢀ+  
ꢀꢐ#5%+   
1
&
FE, PE, and OVRNin the STAT register are set to 1when a character with a  
framing error or parity error, or the last character before an Rx Overrun, comes to  
the top of the receive FIFO. Similarly, bit 1 in the Extension Control register is set  
to 1when a break character comes to the top of the FIFO.  
Any of these bits stay 1even if the character associated with the condition is read  
out of the receive FIFO, that is, they latch an error or exception condition. All four  
of these bits are cleared by reading CNTLA, clearing bit 3 (Error Flag Reset,  
EFR) to 0, and writing the result back to CNTLA. This action also allows the  
receiver to put subsequent characters into the receive FIFO after an Overrun, and  
if the receiver is being handled by a DMA channel, allows the channel to service  
the receiver once again.  
/QFGOꢁ%QPVTQNꢋ5VCVWUꢅꢁASCI modem control or status signals on the Z80S188  
are DCD0and CTS0. The state of the DCD0pin can be read as bit 2 of the STAT0  
register, and that of CTS0in bit 5 of CNTLB0. Both bits read as 1if the pin is  
High/Inactive.  
Bit 6 in Extension Control register 0controls whether DCD0automatically  
enables and disables the receiver, while bit 5 controls whether CTS0automati-  
cally enables and disables the transmitter. In each case, if one of these ASEXT bits  
is 0, as it is after a Reset, then a Low on the pin allows the module to operate. A  
High disables the module. If an ASEXT bit is 1, software can still read the state of  
the corresponding pin, but this state does not affect the hardware.  
When ASEXT0 bit 6is 0, a High on DCD0forces the status bits RDRF, PE, FE,  
OVRN, and RxBreakto 0. If DCD0goes Low thereafter, the next read of the  
STAT register still indicates a 1in bit 2 (DCD0). Subsequent reads of STAT indi-  
cates current status.  
When ASEXT0 bit 5 is 0, a High on CTS0clears the TDRE bit in STAT. This  
prevents software or a DMA channel from putting further Tx data into TDR, but  
as many as three characters (one from the Tx shift register, two from the 2-stage  
Tx FIFO) can still come out on TDA0after CTS0goes High.  
&/#ꢁ1RGTCVKQP  
On the Z80S188, data can be transferred to or from either ASCI by either DMA  
channel. Setting up for such operation is covered in the following ASCI and DMA  
topics:  
“Starting a Transmitter”(below)  
“Starting a Receiver”, on page 102  
“Handling ASCI Interrupts”, on page 103  
“Setting Up a DMA Transfer”, on page 60.  
A DMA channel used with an ASCI transmitter must be programmed to use the  
appropriate TDRE flag as its DMA request, and must be set up for edge-sensitive  
DMA request.  
A DMA channel used with an ASCI receiver must be programmed to use the  
appropriate RDRF flag as its DMA request, and can be used in either edge- or  
level-sensitive mode. In this application, software must set both RIEin the STAT  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢃꢂ  
1
&
#
ꢀ5  
ꢀ%  
ꢀ+  
ꢀꢐ#5%+   
register, and bit 7 of the Extension Control register to v, to enable ASCI receive  
interrupts in case of errors, but not for each received character.  
0
 The signal that an ASCI receiver provides as a Request to a DMA  
channel, is not simply RDRF but rather RDRF and not PE and not FE and not  
OVRN and not RxBreak. DMA operation is suspended if one of these errors or  
exceptional conditions occurs, so that software can determine the point in the  
receive data stream at which the error or condition occurred.  
2TQITCOOKPIꢁ6GEJPKSWGU  
5VCTVKPIꢁCꢁ6TCPUOKVVGTꢅꢁSoftware can enable a transmitter at the same time as its  
associated receiver, or separately, as follows:  
1. Write the CNTLB register to set up the clocking and basic options.  
2. Write the Extension Control register, if necessary, to select the X1 and BRG  
modes and, on ASCI0, the mode of the CTS0pin.  
3. Set bit 0 (TIE) in the STAT register to 1if Transmit Interrupts are desired,  
otherwise, clear it to 0.  
4. Write the CNTLA register with a 1in bit 5 to enable the transmitter, as well as  
other desired mode settings.  
The TDRE flag is set immediately. If Transmit Interrupts were enabled in step 3,  
an interrupt occurs immediately.  
0
 If a DMA channel provides data to the transmitter, it can be set up when-  
ever transmit data is available, including selecting TDREas its DMA Request.  
Edge-sensitivity is required on the DMA request for transmit/output devices. If  
TDREis set before the DMA channel is started, device software must set up the  
DMA to not include the first Tx character. It then writes the first character to the  
TDR, to prime the ASCI-DMA handshake.  
5VCTVKPIꢁCꢁ4GEGKXGTꢅꢁSoftware can enable a receiver at the same time as its asso-  
ciated transmitter, or separately, as follows:  
1. Write the CNTLB register to set up the clocking and basic options.  
2. Write the Extension Control register, if necessary, to select the X1 and BRG  
modes and, on ASCI0, the mode of the DCD0 pin. If the receiver is to be  
handled by a DMA channel, set bit 7 of the Extension Control register to block  
the RDRFflag from requesting a receive interrupt.  
3. Set bit 3 (RIE) in the STAT register to 1if receive interrupts are desired, else  
clear it to 0.  
4. Set up the receiver, if the receiver is to be handled by a DMA channel,  
including selecting RDRFas the DMA Request signal.  
5. Write the CNTLA register with a 1in bit 6 to enable the receiver, as well as  
other desired mode settings.  
6. RDRFis set when there is data in the Rx FIFO, and if RDRFinterrupts are  
enabled, an interrupt occurs at that time.  
ꢂꢃꢎ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
#
ꢀ5  
ꢀ%  
ꢀ+  
ꢀꢐ#5%+   
1
&
2QNNGFꢁ6TCPUOKUUKQPꢅꢁWhen a transmitter is started without interrupts enabled,  
software must:  
1. Read the STAT register (preferably more often than once per character time)  
until bit 1 (TDRE) set to 1is detected.  
2. Write the next character to be transmitted to the TDR. If there is more data to  
send, return to step 1.  
2QNNGFꢁ4GEGRVKQPꢅꢁOnce it has started a receiver without interrupt enabled, soft-  
ware must:  
1. Read the STAT register, at least once per character time, until bit 7 (RDRF) set  
to 1is detected.  
2. Read a received character from the RDR.  
3. Process that character, then return to step 1.  
*CPFNKPIꢁ#5%+ꢁ+PVGTTWRVUꢅꢁAs noted above, software can output to an ASCI in  
interrupt-driven mode by setting bit 0 (TIE) in the STAT register, and/or can input  
from an ASCI in interrupt-driven mode by setting bit 3 (RIE) in STAT. If any of  
following are true, an ASCI requests an interrupt from the processor.  
TIEand TDREare both 1,  
RIEis 1and any of OVRN, PE, FE, or RxBreak(ASEXT bit 1) are 1,  
RIEis 1, bit 7 of the Extension Control register is 0, and RDRFis 1, or  
For ASCI0, RIEis 1, bit 6 in the Extension Control register is 0, and the DCD0  
pin is High.  
When the conditions listed in “On-Chip Interrupt Handling”, on page 29 are met  
with respect to an ASCI’s interrupt request, the processor fetches the address of  
the Interrupt Service Routine (ISR) from (I : IL : 14) for ASCI0, or from  
(I : IL : 16) for ASCI1.  
An ASCI ISR that handles both kinds of interrupts must:  
1. Save as many registers as it may use, by means of PUSH, EX AF,AF’, and/or  
EXX instructions.  
2. Read the STAT register for this ASCI.  
3. If TIEand TDREin STAT are both 1:  
a. If Another Transmit character is available, write it to the TDR  
b. If Not, clear the TIE bit until another Tx character is available.  
4. If RIEin STAT is 1and any of OVRN, PE, FE, or RxBreak(ASEXT bit 1)  
are 1:  
a. If bit 7 of the Extension Control register is 1, indicating that a DMA  
channel is handling receive data, read the DSTAT register, clear the DE  
and DWE bits for that DMA channel, and write the result back to DSTAT.  
b. Read the CNTLA register, clear bit 3 (EFR) and write the result back to  
CNTLA,  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢃꢊ  
1
&
#
ꢀ5  
ꢀ%  
ꢀ+  
ꢀꢐ#5%+   
c. Read the associated character from the RDR,  
d. For PEor FEconditions, applications can choose to discard the character,  
replace it with a standard error character, or simply handle it like other  
characters,  
e. For OVRN (without any other error), most applications process this last  
good character, as in step 5. An application may then post an overrun  
occurred here notification in the received data stream, or otherwise deal  
with the situation.  
f. For Break, most applications discard the all-0 character. An application  
may post a break occurred here notification in the received data stream.  
The receiver does not assemble more all-0 characters, but waits for RDA  
to go High before searching for a new Start bit.  
5. Read the next received character from the RDR, if no errors were found in step  
4, but RIEis 1, bit 7 of the Extension Control register is 0, and RDRFis 1.  
Process that character, of which the simplest case is storing it at the next  
memory location in a buffer.  
6. If for ASCI0, RIEis 1, bit 6 in the Extension Control register is 0, and bit 2  
of STAT is 1, carrier has been lost, and the ASCI receiver is inactive until it  
returns. In this case, software may either clear RIEto 0, or set bit 6 in the  
Extension Control register, to prevent further interrupts because DCD0 is  
High.  
7. Software can now read STAT again, and return to step 3 if either RIEand  
RDRFare both 1, or TIEand TDREare both 1. (This routine saves interrupt  
overhead.)  
8. If the ISR disabled the receive DMA channel in step 4a, the ISR restarts the  
channel.  
9. Finally, the ISR restores the saved registers, and return to the interrupted  
process by means of EI and RET instructions.  
/WNVKRTQEGUUQTꢁ/QFG  
In this mode, the transmitter sends, and the receiver expects, an extra bit between  
the data and stop bits, that differentiates address from data characters. Other  
manufacturers’ devices have a similar mode called 9-bit mode. To enable this  
mode for both the transmitter and receiver, software sets bit 6 of the CNTLB  
register to 1as part of initializing the ASCI.  
0
 MULTIPROCESSOR mode cannot be used with parity generation and  
checking.  
In Multiprocessor mode, data is grouped into frames or messages, each preceded  
by an address character, which differs from data characters in that the extra bit is  
1.  
ꢂꢃꢉ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
#
ꢀ5  
ꢀ%  
ꢀ+  
ꢀꢐ#5%+   
1
&
To send a frame in MULTIPROCESSOR mode, software must:  
1. Wait, if necessary, for the TDREbit (bit 1 of the STAT register) to become 1,  
indicating that software can write a new Tx character to the TDR. The next two  
steps can be done in an ASCI Interrupt Service Routine.  
2. Read the CNTLB register, set bits 7–6 to 11, and write the result back to  
CNTLB. This routine sets up the transmitter to send the first character of the  
frame with the extra bit 1.  
3. Write the address value for the intended destination device to the TDR.  
4. For each data character in the frame, again wait, if necessary for the TDREbit  
(bit 1 of the STAT register) to be 1. The following two steps can be  
implemented in an ASCI ISR.  
5. Read CNTLB, clear bit 7, and write the result back. This routine causes the  
transmitter to send the next character with the extra bit 0.  
6. Write the next data character to the TDR. If there are more characters in the  
frame, return to step 4.  
Assuming that bit 6 of CNTLB was set to 1during ASCI initialization, to receive  
a frame in Multiprocessor mode software must:  
1. Read CNTLA, set bit 7, and write the result back to CNTLA. This routine  
causes the receiver to ignore data characters, that have a 0in their extra bit.  
2. Wait for the RDRFbit in the STAT register to be 1. The following steps can be  
done in an ASCI interrupt service routine.  
3. Read CNTLA and check that bit 3 is 1, verifying that the next available  
character is indeed an address character. If not, read the RDR, discard the data  
character, and return to step 2.  
4. Read the RDR and check if the value obtained indicates a frame destined for  
this processor. (Some schemes use a unique address for each node, plus  
broadcast and/or group addresses.) If not, discard the character and return to  
step 2. The hardware ignores the data characters in the frame.  
5. Store the address character in memory (this action is optional). The required  
actions may vary depending on the address.  
6. Read CNTLA, clear bit 7, and write the result back to CNTLA. This routine  
causes the receiver assemble the following data characters.  
7. Wait for the RDRFbit in the STAT register to be 1for each data character in  
the frame. The following steps can be done in an ASCI interrupt service routine.  
8. Read the data character from the RDR and store it in memory. If frames are not  
fixed-length, software determines the frame length from its content. If the  
frame is not complete, return to step 7.  
9. Check for checking or validation information in the frame. Most protocols  
specify that a receiver ignores a frame that does not pass checking/validation.  
10. Process the frame based on its content. This routine is application-dependent.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢃꢆ  
1
&
%
ꢀ5  
ꢀ+  
ꢋ1  
ꢀ/  
ꢀꢐ%5+ꢋ1ꢑ  
%.1%-'&ꢁ5'4+#.ꢁ+0276ꢋ176276ꢁ/1&7.'ꢁꢈ%5+ꢋ1ꢉ  
The CSI/O allows synchronous communication with serial memories, peripherals,  
and other processors that include compatible interfaces. It is a half-duplex inter-  
face that can send or receive 8-bit bytes, but not both simultaneously.  
The CSI/O includes separate receive and transmit data pins, RXSand TXS, plus a  
clock pin CKSthat can be either an input or an output. In either direction, CKSis  
gated so that it switches only during active data characters on RXSand TXS.  
The bit rate can be as much as PHI/20 for an internally generated clock, and even  
faster with an externally-generated clock.  
The CSI/O Control (CNTR) and Data (TRDR) registers are described in section  
“Clocked Serial I/O (CSI/O) Registers”, on page 176.  
%NQEMꢁ5GNGEVKQP  
After Reset, bits 2–0 of the CNTR are 111, which conditions the CKSpin to be an  
input. If this Z80S188 is to provide the clock to the other station(s), write bits 2–0  
with one of the other values described in Table 22, to select by what factor the  
CSI/O divides PHI to produce the clock it drives onto CKS.  
6
ꢁꢆꢆꢅ %5+ꢋ1ꢁ%  
ꢁ4  
ꢁ5  
%064ꢁꢆꢀꢃ %-5ꢁ$KVꢁTCVG  
ꢃꢃꢃ  
ꢃꢃꢂ  
ꢃꢂꢃ  
ꢃꢂꢂ  
ꢂꢃꢃ  
ꢂꢃꢂ  
ꢂꢂꢃ  
ꢂꢂꢂ  
2*+ꢋꢎꢃ  
2*+ꢋꢉꢃ  
2*+ꢋꢇꢃ  
2*+ꢋꢂꢏꢃ  
2*+ꢋꢊꢎꢃ  
2*+ꢋꢏꢉꢃ  
2*+ꢋꢂꢎꢇꢃ  
KPRWVꢀHTQOꢀGZVGTPCNꢀ  
UQWTEG  
0
 Wait at least 1 bit time after the transmitter clears its TEbit, or the  
receiver clears its REbit, before changing the baud rate.  
1RGTCVKQP  
The clock signal on CKSand the data signals on TXSand RXShave the same  
basic relationship, regardless of whether this Z80S188 is driving or receiving the  
clock on CKS, and regardless of whether it is sending on TXSor receiving on  
RXS. Figure 23 illustrates this relationship, along with the operation of the flags in  
the CNTR.  
ꢂꢃꢏ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
%
ꢀ5  
ꢀ+  
ꢋ1  
ꢀ/  
ꢀꢐ%5+ꢋ1ꢑ  
1
&
%-5  
.5 DKV  
/5 DKV  
6:5ꢋ4:5  
6'ꢋ4'  
'(  
(
ꢆꢌꢅ %5+ꢋ1ꢁ1  
CKS is High between bytes. The CSI/O operates as follows in the four possible  
cases of clock and data sourcing:  
1WVRWVꢁ%NQEMꢍꢁ1WVRWVꢁ&CVCꢅꢁAfter software writes a byte to be transmitted to the  
TRDRand sets the TEbit in the CNTR, the CSI/O drives CKSLow, and shortly  
thereafter drives the LS bit of the byte onto TXS. Thereafter it toggles CKSat the  
selected clock rate, driving each next-more-significant bit shortly after each  
falling edge on TXS, until it has driven the MS bit onto TXS. Thereafter the CSI/O  
clears the TEbit and sets the EFbit in the CNTR. Driving CKSHigh thereafter,  
completes the operation for this byte.  
+PRWVꢁ%NQEMꢍꢁ1WVRWVꢁ&CVCꢅꢁSoftware must write the byte to be transmitted to the  
TRDR, and then set the TEbit in the CNTR, before the external clock source drives  
CKSLow for the first bit of the byte. The CSI/O waits for falling edges on CKS,  
and after each such edge it drives a bit of the character onto TXS, starting with the  
LS bit. After driving the MS bit onto TxS, the CSI/O clears the TEbit and sets the  
EFbit in the CNTR.  
1WVRWVꢁ%NQEMꢍꢁ+PRWVꢁ&CVCꢅꢁAfter software sets the REbit in the TRDR, the CSI/O  
drives CKSLow, and thereafter toggles CKSat the selected clock rate, for a total  
of 8 falling and 8 rising edges. The CSI/O samples one bit of the byte starting with  
the LS bit at each rising edge on CKS. sampled into the TRDR, starting with the  
LS bit. After sampling the MS bit, the CSI/O clears the REbit and sets the EFbit  
in the CNTR.  
+PRWVꢁ%NQEMꢍꢁ+PRWVꢁ&CVCꢅꢁSoftware must set the REbit in the CNTR, before the  
external clock source drives CKSLow for the first bit of the byte. After each rising  
edge on CKS, one bit of the byte is sampled starting with the LS bit. After  
sampling the MS bit, the CSI/O clears the REbit and sets the EFbit in the CNTR.  
6TCPUOKVVKPIꢁCꢁ$[VGꢅꢁBoth the TE and RE flags in the CNTR must be 0 before  
software can send a(nother) byte. At that point, software must:  
1. Write the (next) byte to be transmitted into the TRDR,  
2. Write a 1to the TEbit (bit 4) in the CNTR, with the desired clock control value  
in bits 2–0. If no interrupt is desired when the byte has been sent, write a 0in  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢃꢍ  
1
&
%
ꢀ5  
ꢀ+  
ꢋ1  
ꢀ/  
ꢀꢐ%5+ꢋ1ꢑ  
bit 6 (EIE) of this register. Otherwise, write a 1and set a Transmit flag for the  
interrupt service routine.  
3. If the transmit flag is cleared:  
a. Read the TRDR.  
b. Process the byte.  
4GEGKXKPIꢁCꢁ$[VGꢅꢁBoth the TE and RE flags in the CNTR must be 0before soft-  
ware can condition the CSI/O to receive a(nother) byte. At this point software  
must:  
1. Write a 1to the REbit (bit 5) in the CNTR, with the desired clock control value  
in bits 2–0. For polled operation write a 0in bit 6 (EIE) of this value, else write  
a 1and clear the Transmit flag for the Interrupt Service Routine.  
2. For polled operation, read the CNTR, periodically or in a tight loop, until REis  
0and EFis 1. For interrupt-driven operation, the following step is processed  
in the interrupt service routine, as described in the next topic.  
3. For polled operation, read the TRDRto acquire the byte and clear the EF flag.  
If the sending station contains more data, return to step 1.  
%CPEGNNKPIꢁ6TCPUOKUUKQPꢁQTꢁ4GEGRVKQPꢅꢁSoftware can cancel byte transmission  
or reception in progress, by writing 0s to the TEand REbits. Avoid this process  
when Z80S188 is sourcing CKS, because the remote station’s hardware may hang  
in mid-byte. For operation with an external clock, software could perform this  
action after a time-out period has expired, indicating that the remote station has  
nothing more to send or cannot accept further data.  
*CPFNKPIꢁ%5+ꢋ1ꢁ+PVGTTWRVU  
If software sets bit 6 (EIE) of the CNTR at the start of an transmit or receive oper-  
ation, then when the CSI/O completes the operation and sets the EFbit, the CSI/O  
requests an interrupt from the processor. If the conditions listed in “On-Chip Inter-  
rupt Handling”, on page 29 are met with respect to this request, the processor  
responds by fetching the address of the CSI/O interrupt service routine (ISR) from  
memory at address (I : IL : 12). This ISR must:  
1. Save as many registers as it may use, by means of PUSH, EX AF,AF’, and/  
or EXXinstructions.  
2. Read the CNTR. If the EFbit is 0, the ISR may log this unknown interrupt  
before restoring the registers and returning to the interrupted process with EI  
and RETinstructions.  
3. If the XMIT flag is cleared:  
a. Read the TRDR to acquire the byte and clear the EFflag.  
b. Process the byte.  
c. If further reception is necessary, write a 1to REas in step 1 of “Receiving  
a Byte” above.  
ꢂꢃꢇ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
4
ꢀ5  
+ꢋ1 4  
d. If there is data to be sent, write the first byte to the TRDR (this action clears  
the EF flag) and then set TE in the CNTR, as in steps 1-2 of the  
“Transmitting a Byte” section. Also, set the XMIT flag for the next  
interrupt.  
4. If the XMIT flag is set:  
a. Write the next byte to the TRDR(this clears the EFflag).  
b. Set TEin the CNTR, as in steps 1-2 of “Transmitting a Byte” above.  
5. If there is data to be received, perform a dummy read of TRDRto clear the EF  
flag, then write a 1to REas in step 1 of the section, “Receiving a Byte”. Also,  
clear the XMIT flag.  
6. If there is no other actions to be taken, perform a dummy read of TRDRto clear  
the EFflag.  
7. Restore the saved registers and return to the interrupted process using EI and  
RET instructions.  
+ꢋ1 4')+56'45  
The registers that are integral to the processor and the programming model are  
described in section “Processor Description”, on page 11. This chapter describes  
the registers in I/O space that control the operation of the overall device and its  
on-chip peripherals.  
4')+56'45ꢁ57//#4;  
I/O registers on the Z80S188 are divided into two classes, the 80180 registers, and  
other on-chip registers.  
The 80180 registers:  
Are located at addresses between 0000Hand 003FG.  
Can be relocated to 0040007FHor 008000BFHif desired.  
Must be accessed using IN0, OUT0, OTDM(R), and OTIM(R) instructions.  
Require three clocks per I/O instruction.  
Other on-chip registers:  
If bit 7 of the Interrupt Priority Register is 1, are located at I/O addresses between  
xxD0and xxFFH, and can be accessed using IN, OUT, IND(R), INI(R),  
OUTD, OUTI, OTDR, and OTIRinstructions.  
If bit 7 of the Interrupt Priority Register is 0, are located at I/O addresses between  
00D0and 00FFH, and can be accessed using IN0, OUT0, OTDM(R), and  
OTIM(R)instructions.  
Require 4 clocks per I/O instruction.  
The following table includes all on-chip registers in both classes. I/O addresses  
not described are not used.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢃꢁ  
+ꢋ1 4  
4
ꢀ5  
4')+56'4ꢁ0#/'  
#&&4ꢁꢈ*GZꢉ 4')+56'4ꢁ0#/'  
#5%+ꢂꢀ%QPVTQNꢀ4GIKUVGTꢀ#  
#&&4ꢁꢈ*GZꢉ  
#5%+ꢃꢀ%QPVTQNꢀ4GIKUVGTꢀ#  
#5%+ꢃꢀ%QPVTQNꢀ4GIKUVGTꢀ$  
#5%+ꢃꢀ5VCVWUꢀ4GIKUVGT  
ꢃꢃ  
ꢃꢎ  
ꢃꢉ  
ꢃꢏ  
ꢃꢇ  
ꢃ#  
ꢃ%  
ꢃ'  
ꢂꢃ  
ꢂꢎ  
ꢂꢉ  
ꢂꢏ  
ꢂꢇ  
ꢂ#  
ꢂ%  
ꢂ'  
ꢎꢃ  
ꢎꢎ  
ꢎꢉ  
ꢎꢏ  
ꢎꢇ  
ꢎ#  
ꢎ%  
ꢎ'  
ꢊꢃ  
ꢊꢎ  
ꢊꢉ  
ꢊꢏ  
ꢊꢇ  
ꢃꢂ  
ꢃꢊ  
ꢃꢆ  
ꢃꢍ  
ꢃꢁ  
ꢃ$  
ꢃ&  
ꢃ(  
ꢂꢂ  
ꢂꢊ  
ꢂꢆ  
ꢂꢍ  
#5%+ꢂꢀ%QPVTQNꢀ4GIKUVGTꢀ$  
#5%+ꢂꢀ5VCVWUꢀ4GIKUVGT  
#5%+ꢂꢀ6Zꢀ&CVCꢀ4GIKUVGT  
#5%+ꢂꢀ4Zꢀ&CVCꢀ4GIKUVGT  
%5+ꢋ1ꢀ&CVCꢀ4GIKUVGT  
#5%+ꢃꢀ6Zꢀ&CVCꢀ4GIKUVGT  
#5%+ꢃꢀ4Zꢀ&CVCꢀ4GIKUVGT  
%5+ꢋ1ꢀ%QPVTQNꢀ4GIKUVGT  
246ꢃꢀ6KOGTꢀ&CVCꢀ4GIKUVGTꢀ.QY  
246ꢃꢀ6KOGTꢀ4GNQCFꢀ4GIKUVGTꢀ.QY  
6KOGTꢀ%QPVTQNꢀ4GIKUVGT  
246ꢃꢀ6KOGTꢀ&CVCꢀ4GIKUVGTꢀ*KIJ  
246ꢃꢀ6KOGTꢀ4GNQCFꢀ4GIKUVGTꢀ*KIJ  
6KOGTꢀ2TGUECNGꢀ4GIKUVGT  
#5%+ꢃꢀ'ZVGPUKQPꢀ%QPVTQNꢀ4GI  
246ꢂꢀ6KOGTꢀ&CVCꢀ4GIKUVGTꢀ.QY  
246ꢂꢀ6KOGTꢀ4GNQCFꢀ4GIKUVGTꢀ.QY  
(TGGꢀ4WPPKPIꢀ%QWPVGT  
#5%+ꢂꢀ'ZVGPUKQPꢀ%QPVTQNꢀ4GI  
246ꢂꢀ6KOGTꢀ&CVCꢀ4GIKUVGTꢀ*KIJ  
246ꢂꢀ6KOGTꢀ4GNQCFꢀ4GIKUVGTꢀ*KIJ  
#5%+ꢃꢀ6KOGꢀ%QPUVCPVꢀ.QY  
#5%+ꢂꢀ6KOGꢀ%QPUVCPVꢀ.QY  
%NQEMꢀ/WNVKRNKGTꢀ4GIKUVGT  
#5%+ꢃꢀ6KOGꢀ%QPUVCPVꢀ*KIJ  
#5%+ꢂꢀ6KOGꢀ%QPUVCPVꢀ*KIJ  
%27ꢀ%QPVTQNꢀ4GIKUVGT  
ꢂ$  
ꢂ&  
ꢂ(  
ꢎꢂ  
ꢎꢊ  
ꢎꢆ  
ꢎꢍ  
ꢎꢁ  
ꢎ$  
ꢎ&  
ꢎ(  
ꢊꢂ  
ꢊꢊ  
&/#ꢃꢀ5QWTEGꢀ#FFTꢀ4GIKUVGTꢀ.  
&/#ꢃꢀ5QWTEGꢀ#FFTꢀ4GIKUVGTꢀ$  
&/#ꢃꢀ&GUVꢀ#FFTꢀ4GIKUVGTꢀ*  
&/#ꢃꢀ$[VGꢀ%QWPVꢀ4GIKUVGTꢀ.  
&/#ꢂꢀ/GOQT[ꢀ#FFTꢀ4GIKUVGTꢀ.  
&/#ꢂꢀ/GOQT[ꢀ#FFTꢀ4GIKUVGTꢀ$  
&/#ꢂꢀ+ꢋ1ꢀ#FFTꢀ4GIKUVGTꢀ*  
&/#ꢂꢀ$[VGꢀ%QWPVꢀ4GIKUVGTꢀ.  
&/#ꢀ5VCVWUꢀ4GIKUVGT  
&/#ꢃꢀ5QWTEGꢀ#FFTꢀ4GIKUVGTꢀ*  
&/#ꢃꢀ&GUVꢀ#FFTꢀ4GIKUVGTꢀ.  
&/#ꢃꢀ&GUVꢀ#FFTꢀ4GIKUVGTꢀ$  
&/#ꢃꢀ$[VGꢀ%QWPVꢀ4GIKUVGTꢀ*  
&/#ꢂꢀ/GOQT[ꢀ#FFTꢀ4GIKUVGTꢀ*  
&/#ꢂꢀ+ꢋ1ꢀ#FFTꢀ4GIKUVGTꢀ.  
&/#ꢂꢀ+ꢋ1ꢀ#FFTꢀ4GIKUVGTꢀ$  
&/#ꢂꢀ$[VGꢀ%QWPVꢀ4GIKUVGTꢀ*  
&/#ꢀ/QFGꢀ4GIKUVGT  
&/#ꢋ9CKVꢀ%QPVTQNꢀ4GIKUVGT  
+PVGTTWRVꢋ6TCRꢀ%QPVTQNꢀ4GIKUVGT  
4GHTGUJꢀ%QPVTQNꢀ4GIKUVGT  
+PVGTTWRVꢀ8GEVQTꢀ.QYꢀ4GIKUVGT  
//7ꢀ%QOOQPꢀ$CUGꢀ4GIKUVGTꢀ14  
//7ꢀ%QOOQPꢀ$CUGꢀ4GIKUVGTꢀ.QY  
//7ꢀ$CPMꢀ$CUGꢀ4GIKUVGTꢀ14  
//7ꢀ%QOOQPꢀ$CUGꢀ4GIKUVGTꢀ*KIJ  
ꢊꢁ  
ꢊ$  
//7ꢀ%QOOQPꢋ$CPMꢀ#TGCꢀ4GIꢀ14ꢀ ꢊ#  
//7ꢀ$CPFꢀ#TGCꢀ4GIKUVGT  
//7ꢀ%QOOQPꢀ#TGCꢀ4GIKUVGT  
//7ꢀ$CPMꢀ$CUGꢀ4GIKUVGTꢀ.QY  
1RGTCVKPIꢀ/QFGꢀ%QPVTQNꢀ4GIKUVGT  
%6%ꢀ%JCPPGNꢀꢃ  
ꢊ%  
ꢊ'  
//7ꢀ$CPMꢀ$CUGꢀ4GIKUVGTꢀ*KIJ  
+ꢋ1ꢀ%QPVTQNꢀ4GIKUVGT  
%6%ꢀ%JCPPGNꢀꢂ  
ꢊ&  
ꢊ(  
&ꢃ  
&ꢎ  
&ꢉ  
&ꢂ  
&ꢊ  
&ꢆ  
%6%ꢀ%JCPPGNꢀꢎ  
%6%ꢀ%JCPPGNꢀꢊ  
2+1ꢀ%ꢀ&CVCꢀ4GIKUVGT  
2+1ꢀ%ꢀ%QOOCPFꢀ4GIKUVGT  
ꢂꢂꢃ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
$
ꢀ&  
ꢀ4  
+ꢋ1 4  
4')+56'4ꢁ0#/'  
#&&4ꢁꢈ*GZꢉ 4')+56'4ꢁ0#/'  
#&&4ꢁꢈ*GZꢉ  
2+1ꢀ&ꢀ&CVCꢀ4GIKUVGT  
5+1ꢀ#ꢀ&CVCꢀ4GIKUVGT  
5+1ꢀ$ꢀ&CVCꢀ4GIKUVGT  
2+1ꢀ#ꢀ&CVCꢀ4GIKUVGT  
2+1ꢀ$ꢀ&CVCꢀ4GIKUVGT  
9&6ꢀ/CUVGTꢀ4GIKUVGT  
&ꢏ  
&ꢇ  
&#  
&%  
&'  
(ꢃ  
(ꢉ  
(ꢏ  
(ꢇ  
(#  
(%  
2+1ꢀ&ꢀ%QOOCPFꢀ4GIKUVGT  
5+1ꢀ#ꢀ%QPVTQNꢀ4GIKUVGT  
5+1ꢀ$ꢀ%QPVTQNꢀ4GIKUVGT  
2+1ꢀ#ꢀ%QOOCPFꢀ4GIKUVGT  
2+1ꢀ$ꢀ%QOOCPFꢀ4GIKUVGT  
9&6ꢀ%QOOCPFꢀ4GIKUVGT  
&ꢍ  
&ꢁ  
&$  
ꢉ&  
&(  
(ꢂ  
+PVGTTWRVꢀ2TKQTKV[ꢀ4GIKUVGT  
/'/%5ꢃꢀ.QYꢀ4GIKUVGT  
/'/%5ꢂꢀ.QYꢀ4GIKUVGTꢀꢃ  
+1%5ꢀ.QYꢀ4GIKUVGT  
/'/%5ꢃꢀ*KIJꢀ4GIKUVGT  
/'/%5ꢂꢀ*KIJꢀ4GIKUVGT  
+1%5ꢀ*KIJꢀ4GIKUVGT  
(ꢍ  
(ꢁ  
($  
1Pꢌ%JKRꢀ/GOQT[ꢀ%QPVTQNꢀ4GIKUVGT  
0
 The Z80S188 decodes I/O addresses F2, F3, F5, and FD-FFH as on-chip,  
and these addresses cannot be used for external devices.  
$#5+%ꢁ&'8+%'ꢁ4')+56'45  
6
ꢁꢆꢌꢅ ( ꢀ4  
ꢁ%  
ꢁꢈꢃꢃꢄꢂ*ꢉ  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
%QWPV  
4
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
$KVꢋ  
2QUKVKQP (KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ %QWPV  
4
6JKUꢀXCNWGꢀKUꢀEQWPVGFꢀFQYPꢀD[ꢀꢂꢀGXGT[ꢀꢂꢃꢀ  
2*+ꢀENQEMUꢅꢀKPENWFKPIꢀFWTKPIꢀ+ꢋ1ꢀ5VQRꢀ  
OQFGꢄ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢂꢂ  
+ꢋ1 4  
$
ꢀ&  
ꢀ4  
6
ꢁꢆꢎꢅ %  
ꢁ/  
ꢁ4  
ꢁꢈꢃꢃꢄ'*ꢉꢁ%/4  
$KV  
$KVꢋ(KGNF  
ꢎ:ꢀ  
%NQEM 0QKUGꢀ  
:6#.  
NQYꢀ  
4GUGTXGF  
4ꢋ9  
4ꢋ9  
4ꢋ9  
!
4GUGV  
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
 ꢎ:ꢀ%NQEM  
4ꢋ9  
+HꢀVJKUꢀDKVꢀKUꢀꢂꢅꢀVJGꢀQUEKNNCVQTꢀQTꢀGZVGTPCNꢀ  
ENQEMꢀKUꢀOWNVKRNKGFꢀD[ꢀꢎꢀVQꢀRTQFWEGꢀ2*+ꢄꢀ  
6JKUꢀQRVKQPꢀOC[ꢀDGꢀUGNGEVGFꢀKPFGRGPꢌ  
FGPVN[ꢀQHꢀVJGꢀꢂ:ꢀ%NQEMꢀQRVKQPꢀ  
EQPVTQNNGFꢀD[ꢀDKVꢀꢍꢀQHꢀVJGꢀ%27ꢀ%QPVTQNꢀ  
4GIKUVGTꢄꢀ+HꢀVJKUꢀDKVꢀKUꢀꢂꢀCPFꢀDKVꢀꢍꢀQHꢀVJGꢀ  
%%4ꢀKUꢀꢃꢅꢀ2*+ꢀQRGTCVGUꢀQPꢀVJGꢀUCOGꢀ  
HTGSWGPE[ꢀCUꢀYJGPꢀVJKUꢀDKVꢀKUꢀꢃꢀCPFꢀDKVꢀ  
ꢍꢀQHꢀVJGꢀ%%4ꢀKUꢀꢂꢄ  
.QY0QKUGꢀ 4ꢋ9  
:6#.  
+HꢀVJKUꢀDKVꢀKUꢀꢂꢅꢀVJGꢀQUEKNNCVQTꢀKUꢀQRGTCVGFꢀ  
KPꢀCꢀNQYꢌPQKUGꢀOQFGꢅꢀKPꢀYJKEJꢀVJGꢀICKPꢀ  
KUꢀTGFWEGFꢀCPFꢀVJGꢀQWVRWVꢀFTKXGꢀKUꢀ  
TGFWEGFꢀVQꢀCDQWVꢀꢊꢃꢙꢀQHꢀPQTOCNꢀQRGTꢌ  
CVKQPꢄꢀ6JKUꢀOQFGꢀECPꢀDGꢀWUGFꢀHQTꢀ  
2%/%+#ꢀCRRNKECVKQPUꢅꢀKPꢀYJKEJꢀVJGꢀ  
ET[UVCNꢀYQWNFꢀQVJGTYKUGꢀDGꢀFTKXGPꢀVQQꢀ  
GPGTIGVKECNN[ꢄꢀ6JKUꢀOQFGꢀNKOKVUꢀVJGꢀ  
ET[UVCNꢀHTGSWGPE[ꢀVQꢀꢎꢃꢀ/*\ꢀCVꢀ  
8
ꢒꢉꢄꢆ8ꢀCPFꢀꢂꢃꢀ/*\ꢀCVꢀ8 ꢒꢊꢄꢃ8ꢄ  
ꢂꢂꢎ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
$
ꢀ&  
ꢀ4  
+ꢋ1 4  
6
ꢁꢆꢏꢅ %27ꢁ%  
ꢁ4  
ꢁꢈꢃꢃꢄ(*ꢉꢁ%%4  
$KV  
$KVꢋ(KGNF  
:ꢂꢀ 5VCPFꢌ $4':6 .02*+  
+FNGꢋ  
3WKEM  
.0+1 .0%6. .0#ꢋ&  
%NQEM  
4ꢋ9  
D[  
4ꢋ9  
4ꢋ9  
4ꢋ9  
4ꢋ9  
4ꢋ9  
4ꢋ9  
4ꢋ9  
4ꢋ9  
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
:ꢂꢀ%NQEM 4ꢋ9  
6JGꢀET[UVCNꢀHTGSWGPE[ꢀKUꢀFKXKFGFꢀD[ꢀꢎꢄ  
6JGꢀET[UVCNꢀHTGSWGPE[ꢀKUꢀWUGFꢀFKTGEVN[ꢄ  
ꢏꢅꢊ  
5VCPFD[ꢅꢀ 4ꢋ9  
+FNGꢋ  
ꢃꢃ 5.2ꢀKPUVꢀGPVGTUꢀ5NGGRꢀQTꢀ5[UVGOꢀ5VQRꢀ  
ꢃꢂ OQFG  
3WKEM  
ꢂꢃ +15612ꢔ5.2ꢀGPVGTUꢀ+FNGꢀOQFG  
ꢂꢂ +15612ꢔ5.2ꢀGPVGTUꢀ5VCPFD[ꢀOQFG  
+15612ꢔ5.2ꢀGPVGTUꢀ3WKEMꢀ4GEQXGT[ꢀ  
5VCPFD[ꢀOQFG  
$4':6  
.02*+  
.0+1  
4ꢋ9  
4ꢋ9  
4ꢋ9  
<ꢇꢃ5ꢂꢇꢇ JQPQTUꢀ$WUꢀ4GSWGUVUꢀKPꢀ5VCPFD[ꢀ  
OQFG  
2*+ꢀ.QYꢌ0QKUGꢀOQFGꢈꢀꢎꢆꢙꢀQHꢀPQTOCNꢀ  
FTKXG  
6JGꢀHQNNQYKPIꢀRKPUꢀJCXGꢀꢎꢆꢙꢀQHꢀPQTOCNꢀ  
FTKXGꢈꢀ#4&;ꢅꢀ$4&;ꢅꢀ%-#ꢂꢌꢃꢅꢀ%-5ꢅꢀ%4&;ꢅꢀ  
&4&;ꢅ&64#ꢌ$ꢅ+'1ꢅ2#ꢍꢌꢃꢅ2$ꢍꢌꢃꢅ2%ꢍꢌꢃꢅꢀ  
2&ꢍꢌꢃꢅꢀ465ꢃꢅꢀ465#ꢌ$ꢅꢀ5;0%#ꢌ$ꢅꢀ6'0&ꢂꢌ  
ꢃꢅ6176ꢅ6:#ꢂꢌꢃꢅ6Z&#ꢌ$ꢅ6:5ꢅ<%ꢋ61ꢊꢌꢃ  
.0%6.  
.0#ꢋ&  
4ꢋ9  
4ꢋ9  
6JGꢀHQNNQYKPIꢀRKPUꢀJCXGꢀꢎꢆꢙꢀQHꢀPQTOCNꢀ  
FTKXGꢈꢀ$75#%-ꢅꢀ*#.6ꢅꢀ+1%5ꢅꢀ+143ꢅꢀ/ꢂꢅꢀ  
/'/%5ꢂꢌꢃꢅꢀ/4'3ꢅꢀ4(5*ꢅꢀ41/%5ꢅꢀ56ꢅꢀ  
4&ꢅꢀ94  
#ꢎꢎꢌꢃꢋ&ꢍꢌꢃꢀ.QYꢌ0QKUGꢀOQFGꢈꢀꢎꢆꢙꢀQHꢀ  
PQTOCNꢀFTKXG  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢂꢊ  
+ꢋ1 4  
$
ꢀ&  
ꢀ4  
6
ꢁꢆꢐꢅ 4  
ꢁ%  
ꢁ4  
ꢁꢈꢃꢃꢌꢐ*ꢉꢁ4%4  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
4'(' 4'(9  
4GUGTXGF  
%[ENG  
4ꢋ9  
4ꢋ9  
4ꢋ9  
!
4GUGV  
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
4'('  
4'(9  
%[ENG  
4ꢋ9  
4ꢋ9  
4ꢋ9  
6JGꢀ<ꢇꢃ5ꢂꢇꢇꢀFQGUꢀPQVꢀ4GHTGUJ  
6JGꢀ<ꢇꢃ5ꢂꢇꢇꢀIGPGTCVGUꢀ4GHTGUJꢀE[ENGU  
ꢎꢌENQEMꢀ4GHTGUJꢀE[ENGU  
ꢊꢌENQEMꢀ4GHTGUJꢀE[ENGU  
ꢂꢌꢃ  
ꢃꢃ 4GHTGUJꢀE[ENGꢀGXGT[ꢀꢂꢃꢀ2*+ꢀENQEMU  
ꢃꢂ 4GHTGUJꢀE[ENGꢀGXGT[ꢀꢎꢃꢀ2*+ꢀENQEMU  
ꢂꢃ 4GHTGUJꢀE[ENGꢀGXGT[ꢀꢉꢃꢀ2*+ꢀENQEMU  
ꢂꢂ 4GHTGUJꢀE[ENGꢀGXGT[ꢀꢇꢃꢀ2*+ꢀENQEMU  
6
ꢁꢆꢑꢅ 1  
ꢁ/  
ꢁ%  
ꢁ4  
ꢁꢈꢃꢃꢌ'*ꢉꢁ1/%4  
$KV  
/ꢂ6'  
9
+1%  
4ꢋ9  
$KVꢋ(KGNF  
4ꢋ9  
/ꢂ'  
4ꢋ9  
4GUGTXGF  
!
4GUGV  
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
/ꢂ'  
4ꢋ9  
/ꢂꢀKUꢀCUUGTVGFꢀ.QYꢀFWTKPIꢀTGHGVEJꢀQHꢀ4'6+ꢀ  
KPUVTWEVKQPꢀCPFꢀ+06ꢃꢀCEMPQYNGFIGꢀE[ENGꢀ  
ꢐ<ꢇꢃꢀRGTKRJGTCNꢀEQORCVKDNGꢑꢄ  
/ꢂꢀKUꢀCUUGTVGFꢀ.QYꢀKPꢀCNNꢀ1Rꢀ%QFGꢀHGVEJGUꢅꢀ  
+06ꢃꢀCEMPQYNGFIGꢀE[ENGUꢅꢀCPFꢀꢂUVꢀE[ENGꢀQHꢀ  
0/+ꢀCEMPQYNGFIGꢄꢀ6JGꢀ<ꢇꢃ5ꢂꢇꢇꢀFQGUꢀPQVꢀ  
TGHGVEJꢀ4'6+ꢀKPUVTWEVKQPUꢄ  
/ꢂ6'  
+1%  
9
#HVGTꢀCꢀꢃꢀKUꢀYTKVVGPꢀVQꢀVJKUꢀDKVꢅꢀVJGꢀPGZVꢀ1Rꢀ  
%QFGꢀHGVEJꢀCUUGTVUꢀ/ꢂꢀ.QYꢄꢀꢐ#WVQOCVKꢌ  
ECNN[ꢀTGVWTPUꢀVQꢀꢂꢀUVCVGꢄꢑ  
/ꢂ'ꢀIQXGTPUꢀQRGTCVKQPꢀQHꢀ/ꢂ  
4ꢋ9  
+Pꢀ+ꢋ1ꢀE[ENGUꢀ+143ꢅꢀCPFꢀ4&ꢀKHꢀCRRNKECDNGꢅꢀ  
CTGꢀFTKXGPꢀ.QYꢀHTQOꢀVJGꢀTKUKPIꢀGFIGꢀCVꢀVJGꢀ  
UVCTVꢀQHꢀVJGꢀ6ꢎꢀE[ENGꢀꢐ<ꢇꢃꢀEQORCVKDNGꢑ  
+Pꢀ+ꢋ1ꢀE[ENGUꢀ+143ꢅꢀCPFꢀ4&ꢀKHꢀCRRNKECDNGꢅꢀ  
CTGꢀFTKXGPꢀ.QYꢀHTQOꢀVJGꢀHCNNKPIꢀGFIGꢀKPꢀ  
VJGꢀ6ꢂꢀE[ENGꢀꢐꢏꢉꢂꢇꢃꢀ  
EQORCVKDNGꢑ  
ꢂꢂꢉ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
+
ꢀ4  
+ꢋ1 4  
6
ꢁꢆꢂꢅ +ꢋ1ꢁ%  
ꢁ4  
ꢁꢈꢃꢃꢌ(*ꢉꢁ+1%4  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
+1#  
+1562  
4ꢋ9  
4GUGTXGF  
4ꢋ9  
!
4GUGV  
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢏ  
+1#  
4ꢋ9  
ꢃꢃ ꢂꢇꢃꢀTGIKUVGTUꢀCTGꢀNQECVGFꢀCVꢀꢃꢃꢃꢃꢌꢃꢃꢊ(  
ꢃꢂ ꢂꢇꢃꢀTGIKUVGTUꢀCTGꢀNQECVGFꢀCVꢀꢃꢃꢉꢃꢌꢃꢃꢍ(  
ꢂꢃ ꢂꢇꢃꢀTGIKUVGTUꢀCTGꢀNQECVGFꢀCVꢀꢃꢃꢇꢃꢌꢃꢃ$(  
ꢂꢂ &QꢀPQVꢀRTQITCOꢀVJKUꢀXCNWGꢄ  
+1562  
4ꢋ9  
0QTOCNꢀQRGTCVKQP  
6JGꢀ#5%+Uꢅꢀ246UꢅꢀCPFꢀ%5+1ꢀCTGꢀFKUCDNGFꢄ  
6
ꢁꢆꢓꢅ 1 ꢀ% ꢁ/  
ꢁ%  
ꢁ4  
ꢁꢈ (%ꢁ ꢁꢃꢃ(%*ꢉꢁ1%/%4  
$KV  
$KVꢋ(KGNF  
1%ꢀ  
1%ꢀ  
1%ꢀ  
4GUGTXGF  
4#/ꢀ 4#/ꢀ 41/ꢀ  
'PCDNG *Kꢀ2J[ 'PCDNG  
4ꢋ9  
4ꢋ9  
4ꢋ9  
4ꢋ9  
!
4GUGV  
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ  
9
8CNWG &GUETKRVKQP  
1%ꢀ4#/ꢀ 4ꢋ9  
'PCDNG  
1PꢌEJKRꢀ4#/ꢀKUꢀPQVꢀCEEGUUKDNGꢄ  
1PꢌEJKRꢀ4#/ꢀKUꢀGPCDNGFꢄ  
1%ꢀ4#/ꢀ 4ꢋ9  
*Kꢀ2J[  
1PꢌEJKRꢀ4#/ꢀKUꢀNQECVGFꢀCVꢀZZ(%ꢃꢃꢌ  
ZZ((((*ꢄ  
1PꢌEJKRꢀ4#/ꢀKUꢀNQECVGFꢀCVꢀꢍ((%ꢃꢃꢌ  
ꢍ(((((*ꢄ  
1%ꢀ41/ꢀ 4ꢋ9  
'PCDNG  
1PꢌEJKRꢀ41/ꢀCPFꢀ41/%5ꢀCTGꢀFKUCDNGFꢄ  
/CUMGFꢀRCTVꢈꢀQPꢌEJKRꢀ41/ꢀKUꢀGPCDNGFꢀCVꢀ  
ꢃꢃꢃꢃꢃꢃꢌꢃꢃꢃ(((*ꢄ7POCUMGFRCTVꢈ41/%5ꢀ  
DGEQOGUꢀ.QYꢀHQTꢀꢃꢃꢃꢃꢃꢃꢌꢃꢃꢃ(((*ꢄ  
+06'44726ꢁ4')+56'45  
See section “Interrupts”, on page 15, for more about these registers.  
6
ꢁꢌꢃꢅ + ꢁ8 ꢁ. ꢁ4 ꢁꢈꢃꢃꢌꢌ*ꢉꢁ+.  
$KV  
$KVꢋ(KGNF  
+.ꢍꢌꢆ  
4GUGTXGF  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢂꢆ  
+ꢋ1 4  
+
ꢀ4  
6
ꢁꢌꢃꢅ +  
ꢁ8  
ꢁ. ꢁ4  
4ꢋ9  
ꢁꢈꢃꢃꢌꢌ*ꢉꢁ+.  
4ꢋ9  
!
4GUGV  
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP  
$KVꢋ  
(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢆ  
+.ꢍꢌꢆ  
4ꢋ9  
6JGꢀRTQEGUUQTꢀWUGUꢀVJGUGꢀDKVUꢀCUꢀ#ꢍꢌ  
ꢆꢀꢐCNQPIꢀYKVJꢀVJGꢀEQPVGPVUꢀQHꢀVJGꢀ+ꢀ  
TGIKUVGTꢀCUꢀ#ꢂꢆꢌꢇꢑꢀYJGPꢀHGVEJKPIꢀCPꢀ  
KPVGTTWRVꢀUGTXKEGꢀTQWVKPGꢀCFFTGUUꢀHQTꢀ  
+06ꢂꢌꢎꢅꢀ#5%+ꢃꢌꢂꢅꢀ246ꢃꢌꢂꢅꢀ&/#ꢃꢌꢂꢅꢀ  
%5+ꢋ1ꢅꢀQTꢀVJGꢀ<&+ꢄ  
ꢂꢂꢏ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
+
ꢀ4  
+ꢋ1 4  
6
ꢁꢌꢄꢅ +  
ꢋ6  
ꢁ%  
ꢁ4  
ꢁꢈꢃꢃꢌꢎ*ꢉꢁ+6%  
$KV  
$KVꢋ(KGNF  
6TCR  
7(1 41/ 4#/ 4GUGT +06ꢎꢀ +06ꢂꢀ +06ꢃꢀ  
''  
''  
XGF  
GP  
4ꢋ9  
GP  
4ꢋ9  
GP  
4ꢋ9  
4ꢋ9  
49ꢃ%  
4
49ꢃ% 49ꢃ%  
!
4GUGV  
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVGꢀ491%ꢀꢒꢀ4GCFCDNGꢘꢀ9TKVKPIꢀꢃꢀ%NGCTU  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
6TCR  
49ꢃ%  
+NNGICNꢀ+PUVTWEVKQPꢀ6TCRꢄꢀ9TKVKPIꢀCꢀꢃꢀVQꢀ  
VJKUꢀDKVꢀENGCTUꢀKVꢘꢀYTKVKPIꢀCꢀꢂꢀJCUꢀPQꢀ  
GHHGEVꢄ  
7(1  
4
+PUVꢀUVCTVGFꢀCVꢀUVCEMGFꢀ2%ꢀꢌꢀꢂ  
+PUVꢀUVCTVGFꢀCVꢀUVCEMGFꢀ2%ꢀꢌꢀꢎ  
41/'' 49ꢃ%  
4#/'' 49ꢃ%  
+PꢀCꢀOCUMGFꢀ41/ꢀRCTVꢀYKVJꢀVJGꢀ41/ꢀ  
'PVT[ꢀ2TQVGEVꢀQRVKQPꢀOCUMGFꢀCUꢀꢂꢅꢀVJKUꢀ  
DKVꢀKUꢀUGVꢀKHꢀCꢀ41/ꢀ'PVT[ꢀ'ZEGRVKQPꢀ  
QEEWTUꢄꢀ9TKVKPIꢀCꢀꢃꢀVQꢀVJKUꢀDKVꢀENGCTUꢀKVꢘꢀ  
YTKVKPIꢀCꢀꢂꢀJCUꢀPQꢀGHHGEVꢄ  
+PꢀCꢀOCUMGFꢀ41/ꢀRCTVꢀYKVJꢀVJGꢀ4#/ꢀ  
2TQVGEVꢀQRVKQPꢀOCUMGFꢀCUꢀꢂꢅꢀVJKUꢀDKVꢀKUꢀ  
UGVꢀKHꢀCꢀ4#/ꢀ'ZGEWVKQPꢀ'ZEGRVKQPꢀ  
QEEWTUꢄꢀ9TKVKPIꢀCꢀꢃꢀVQꢀVJKUꢀDKVꢀENGCTUꢀKVꢘꢀ  
YTKVKPIꢀCꢀꢂꢀJCUꢀPQꢀGHHGEVꢄ  
+06ꢎꢀGP  
+06ꢂꢀGP  
+06ꢃꢀGP  
4ꢋ9  
4ꢋ9  
4ꢋ9  
+06ꢎꢀKPVGTTWRVꢀGPCDNG  
+06ꢂꢀKPVGTTWRVꢀGPCDNG  
+06ꢃꢀKPVGTTWRVꢀGPCDNG  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢂꢍ  
+ꢋ1 4  
//7ꢀ4  
6
ꢁꢌꢆꢅ +  
ꢁ2  
ꢁ4  
ꢁꢈ (ꢎꢁ ꢁꢃꢃ(ꢎ*ꢉꢁ+0624  
$KV  
$KVꢋ(KGNF  
#NN  
2CIG  
+1  
5+1# 5+1$ 4GUGT  
<ꢇꢃꢀ2GTKRJGTCNꢀ2TKQTKV[  
ꢊꢎ  
ꢊꢎ  
XGF  
4ꢋ9  
4ꢋ9  
4ꢋ9  
4ꢋ9  
!
4ꢋ9  
4GUGV  
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
#NN2CIG  
+1  
4ꢋ9  
5+1ꢅꢀ2+1ꢅꢀ%6%ꢅꢀ9&6ꢅꢀ%JKRꢀ5GNGEVꢀCPFꢀ  
9CKVꢀDNQEMUꢀFGEQFGꢀ#ꢂꢆꢌꢇꢀHQTꢀCNNꢀꢃꢅꢀNKMGꢀ  
VJGꢀ ꢂꢇꢃꢀTGIKUVGTU   
6JGUGꢀDNQEMUꢀKIPQTGꢀ#ꢂꢆꢌꢇꢅꢀCUꢀQPꢀVJGꢀ  
<ꢇꢃꢄ  
ꢏꢌꢆ  
ꢊꢌꢃ  
5+1#ꢊꢎꢅꢀ 4ꢋ9  
5+1$ꢊꢎ  
5+1ꢀEJCPPGNꢀIGPGTCVGUꢅꢀEJGEMUꢀꢂꢏꢀDKVꢀ  
%4%  
5+1ꢀEJCPPGNꢀIGPGTCVGUꢅꢀEJGEMUꢀꢊꢎꢀDKVꢀ  
%4%  
<ꢇꢃꢀ  
4ꢋ9  
6JGUGꢀDKVUꢀEQPVTQNꢀVJGꢀTGNCVKXGꢀKPVGTTWRVꢀ  
RTKQTKV[ꢀQHꢀVJGꢀ5+1ꢅꢀ%6%ꢅꢀCPFꢀ2+1Uꢈ  
%6%ꢅꢀ5+1ꢅꢀ2+1ꢀ#$ꢅꢀ2+1ꢀ%&ꢀꢐNQYGUVꢑ  
2GTKRJGTCNꢀ  
2TKQTKV[  
ꢃꢃꢃꢃ 5+1ꢅꢀ%6%ꢅꢀ2+1ꢀ#$ꢅꢀ2+1ꢀ%&ꢀꢐNQYGUVꢑ  
ꢃꢃꢃꢂ %6%ꢅꢀ2+1ꢀ#$ꢅꢀ2+1ꢀ%&ꢅꢀ5+1ꢀꢐNQYGUVꢑ  
ꢃꢃꢂꢃ 2+1ꢀ#$ꢅꢀ2+1ꢀ%&ꢅꢀ5+1ꢅꢀ%6%ꢀꢐNQYGUVꢑ  
ꢃꢃꢂꢂ 2+1ꢀ#$ꢅꢀ2+1ꢀ%&ꢅꢀ%6%ꢅꢀ5+1ꢀꢐNQYGUVꢑ  
ꢃꢂꢃꢃ 5+1ꢅꢀ2+1ꢀ#$ꢅꢀ2+1ꢀ%&ꢅꢀ%6%ꢀꢐNQYGUVꢑ  
ꢃꢂꢃꢂ %6%ꢅꢀ2+1ꢀ#$ꢅꢀ5+1ꢅꢀ2+1ꢀ%&ꢀꢐNQYGUVꢑ  
ꢂꢃꢃꢃ 5+1ꢅꢀ2+1ꢀ#$ꢅꢀ%6%ꢅꢀ2+1ꢀ%&ꢀꢐNQYGUVꢑ  
ꢂꢃꢃꢂ 2+1ꢀ#$ꢅꢀ%6%ꢅꢀ2+1ꢀ%&ꢅꢀ5+1ꢀꢐNQYGUVꢑ  
ꢂꢃꢂꢃ 2+1ꢀ#$ꢅꢀ5+1ꢅꢀ2+1ꢀ%&ꢅꢀ%6%ꢀꢐNQYGUVꢑ  
ꢂꢃꢂꢂ 2+1ꢀ#$ꢅꢀ%6%ꢅꢀ5+1ꢅꢀ2+1ꢀ%&ꢀꢐNQYGUVꢑ  
ꢂꢂꢃꢃ 2+1ꢀ#$ꢅꢀ5+1ꢅꢀ%6%ꢅꢀ2+1ꢀ%&ꢀꢐNQYGUVꢑ  
ꢂꢂꢃꢂ  
//7ꢁ4')+56'45  
See section “Memory Management Unit (MMU)”, on page 31, for more about  
these registers.  
6
ꢁꢌꢌꢅ %  
ꢁ$  
ꢁ4  
ꢁꢈꢃꢃꢌꢂ*ꢁ ꢁ%  
ꢁ/  
ꢉꢁ%$4  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
$CUGꢀQHꢀ%QOOQPꢀ#TGCꢀꢂ  
4ꢋ9  
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
ꢂꢂꢇ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
//7ꢀ4  
+ꢋ1 4  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ %QOOQPꢀꢂꢀ 4ꢋ9  
#TGCꢀ$CUG  
+HꢀVJGꢀEQORCTKUQPꢀQHꢀDKVUꢀꢂꢆꢌꢂꢎꢀQHꢀCꢀ  
NQIKECNꢀCFFTGUUꢀKPFKECVGUꢀVJCVꢀVJGꢀ  
CFFTGUUꢀKUꢀKPꢀ%QOOQPꢀ#TGCꢀꢂꢅꢀVJKUꢀ  
XCNWGUJKHVGFNGHVDKVUꢅVKOGUꢃꢁꢏꢑꢀ  
KUꢀCFFGFꢀVQꢀVJGꢀNQIKECNꢀCFFTGUUꢀVQꢀ  
HQTOꢀVJGꢀRJ[UKECNꢀCFFTGUUꢄ  
6
ꢁꢌꢎꢅ $  
ꢁ$  
ꢁ4  
ꢁꢈꢃꢃꢌ*ꢓꢁ ꢁ%  
ꢁ/  
ꢉꢁ$$4  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
$CUGꢀQHꢀ$CPMꢀ#TGC  
4ꢋ9  
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
$CPMꢀ#TGCꢀ  
$CUG  
4ꢋ9  
+HꢀVJGꢀEQORCTKUQPꢀQHꢀDKVUꢀꢂꢆꢌꢂꢎꢀQHꢀCꢀ  
NQIKECNꢀCFFTGUUꢀKPFKECVGUꢀVJCVꢀVJGꢀ  
CFFTGUUꢀKUꢀKPꢀVJGꢀ$CPMꢀ#TGCꢅꢀVJKUꢀ  
XCNWGUJKHVGFNGHVDKVUꢅVKOGUꢃꢁꢏꢑꢀ  
KUꢀCFFGFꢀVQꢀVJGꢀNQIKECNꢀCFFTGUUꢀVQꢀ  
HQTOꢀVJGꢀRJ[UKECNꢀCFFTGUUꢄ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢂꢁ  
+ꢋ1 4  
//7ꢀ4  
6
ꢁꢌꢏꢅ %  
ꢋ$  
ꢁ#  
ꢁ4  
ꢁꢈꢃꢃꢌ#*ꢁ ꢁ%  
ꢁ/  
ꢉꢁ%$#4  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
$CPMꢋ%QOOQPꢀꢂꢀ$QWPFCT[  
4ꢋ9  
%QOOQPꢀꢃꢋ$CPMꢀ$QWPFCT[  
4ꢋ9  
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢉ  
ꢊꢌꢃ  
0
$CPMꢋ  
%QOOQPꢀꢂꢀ  
$QWPFCT[  
4ꢋ9  
+HꢀDKVUꢀꢂꢆꢌꢂꢎꢀQHꢀCꢀNQIKECNꢀCFFTGUUꢀCTGꢀ  
ITGCVGTꢀVJCPꢀQTꢀGSWCNꢀVQꢀVJKUꢀXCNWGꢅꢀ  
VJGꢀCFFTGUUꢀKUꢀKPꢀ%QOOQPꢀ#TGCꢀꢂꢄ  
%QOOQPꢀꢃꢋ 4ꢋ9  
$CPMꢀ  
$QWPFCT[  
+HꢀDKVUꢀꢂꢆꢌꢂꢎꢀQHꢀCꢀNQIKECNꢀCFFTGUUꢀCTGꢀ  
NGUUꢀVJCPꢀVJKUꢀXCNWGꢅꢀVJGꢀCFFTGUUꢀKUꢀKPꢀ  
%QOOQPꢀ#TGCꢀꢃꢄ  
ꢊꢁ+Pꢀ%NCUUKEꢀOQFGꢅKHDKVUꢀꢊꢌꢃꢀQHꢀVJKUꢀTGIꢀꢓꢀDKVUꢀꢂꢆꢌꢂꢎꢀQHꢀCꢀNQIKECNꢀCFFTGUUꢀꢓꢀDKVUꢀꢍꢌ  
ꢉꢀQHꢀVJKUꢀTGIꢅꢀVJGꢀCFFTGUUꢀKUꢀKPꢀVJGꢀ$CPMꢀ#TGCꢄꢀ&QꢀPQVꢀRTQITCOꢀVJKUꢀTGIKUVGTꢀUQꢀVJCVꢀDKVUꢀ  
ꢊꢌꢃꢀ ꢀDKVUꢀꢍꢌꢉꢄꢀ#NNꢀEQORCTKUQPUꢀCTGꢀWPUKIPGFꢄ  
6
ꢁꢌꢐꢅ %  
ꢁ$  
ꢁ4  
ꢁ. ꢁꢈꢃꢃꢌꢂ*ꢁ ꢁ'  
ꢁ/  
ꢉꢁ%$4.  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
%QOOQPꢀ#TGCꢀꢂꢀ$CUGꢀCFFTGUUꢅꢀDKVUꢀꢂꢆꢌꢂꢃ  
4ꢋ9  
4GUGTXGF  
:
4GUGV  
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢎ  
%QOOQPꢀ  
#TGCꢀꢂꢀ$CUGꢀ  
#FFTGUUꢀꢂꢆꢌ  
ꢂꢃ  
4ꢋ9  
+Pꢀ'ZVGPFGFꢀOQFGꢅꢀKHꢀVJGꢀEQORCTKUQPꢀ  
QHꢀDKVUꢀꢂꢆꢌꢂꢃꢀQHꢀCꢀNQIKECNꢀCFFTGUUꢀKPFKꢌ  
ECVGUꢀVJCVꢀVJGꢀCFFTGUUꢀKUꢀKPꢀ%QOOQPꢀ  
#TGCꢀꢂꢅꢀVJKUꢀXCNWGꢀKUꢀCFFGFꢀVQꢀDKVUꢀꢂꢆꢌ  
ꢂꢃꢀQHꢀVJGꢀNQIKECNꢀCFFTGUUꢀVQꢀHQTOꢀDKVUꢀ  
ꢂꢆꢌꢂꢃꢀQHꢀVJGꢀRJ[UKECNꢀCFFTGUUꢄ  
ꢂꢎꢃ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
//7ꢀ4  
+ꢋ1 4  
6
ꢁꢌꢑꢅ %  
ꢁ$  
ꢁ4  
ꢁ* ꢁꢈꢃꢃꢌꢓ*ꢁ ꢁ'  
ꢁ/  
ꢉꢁ%$4*  
$KV  
$KVꢋ(KGNF 4GUGTXGF  
%QOOQPꢀ#TGCꢀꢂꢀ$CUGꢀCFFTGUUꢅꢀDKVUꢀꢎꢎꢌꢂꢏ  
4ꢋ9  
4ꢋ9  
4GUGV  
0
:
:
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢎ  
%QOOQPꢀ  
#TGCꢀꢂꢀ$CUGꢀ  
#FFTGUUꢀꢎꢎꢌ  
ꢂꢏ  
4ꢋ9  
+Pꢀ'ZVGPFGFꢀOQFGꢅꢀKHꢀVJGꢀEQORCTKUQPꢀ  
QHꢀDKVUꢀꢂꢆꢌꢂꢃꢀQHꢀCꢀNQIKECNꢀCFFTGUUꢀKPFKꢌ  
ECVGUꢀVJCVꢀVJGꢀCFFTGUUꢀKUꢀKPꢀ%QOOQPꢀ  
#TGCꢀꢂꢅꢀVJKUꢀXCNWGꢅꢀRNWUꢀVJGꢀECTT[ꢀHTQOꢀ  
VJGꢀCFFKVKQPꢀQHꢀDKVUꢀꢂꢆꢌꢂꢃꢅꢀKUꢀWUGFꢀCUꢀ  
DKVUꢀꢎꢎꢌꢂꢏꢀQHꢀVJGꢀRJ[UKECNꢀCFFTGUUꢄ  
6
ꢁꢌꢂꢅ $  
ꢁ#  
ꢁ4  
ꢁꢈꢃꢃꢌ#*ꢁ ꢁ'  
ꢁ/  
ꢉꢁ$#4  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
%QOOQPꢀꢃꢋ$CPMꢀ#TGCꢀ$QWPFCT[ꢅꢀDKVUꢀꢂꢆꢌꢂꢃ  
4ꢋ9  
4GUGTXGF  
:
4GUGV  
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢎ  
%QOOQPꢀꢃꢋ 4ꢋ9  
+Pꢀ'ZVGPFGFꢀOQFGꢅꢀKHꢀDKVUꢀꢂꢆꢌꢂꢃꢀQHꢀCꢀ  
NQIKECNꢀCFFTGUUꢀCTGꢀNGUUꢀVJCPꢀVJKUꢀ  
XCNWGꢅꢀVJGꢀCFFTGUUꢀKUꢀKPꢀ%QOOQPꢀ  
#TGCꢀꢃꢄ  
$CPMꢀ#TGCꢀ  
$QWPFCT[ꢀ  
ꢂꢆꢌꢂꢃ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢎꢂ  
+ꢋ1 4  
//7ꢀ4  
6
ꢁꢌꢓꢅ %  
ꢁ#  
ꢁ4  
ꢁꢈꢃꢃꢌ$*ꢁ ꢁ'  
ꢁ/  
ꢉꢁ%#4  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
$CPMꢋ%QOOQPꢀꢂꢀ#TGCꢀ$QWPFCT[ꢅꢀDKVUꢀꢂꢆꢌꢂꢃ  
4ꢋ9  
4GUGTXGF  
:
4GUGV  
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢎ  
%QOOQPꢀꢃꢋ 4ꢋ9  
+Pꢀ'ZVGPFGFꢀOQFGꢅꢀKHꢀDKVUꢀꢂꢆꢌꢂꢃꢀQHꢀCꢀ  
NQIKECNꢀCFFTGUUꢀCTGꢀITGCVGTꢀVJCPꢀQTꢀ  
GSWCNꢀVQꢀVJKUꢀXCNWGꢅꢀVJGꢀCFFTGUUꢀKUꢀKPꢀ  
%QOOQPꢀ#TGCꢀꢂꢄ  
$CPMꢀ#TGCꢀ  
$QWPFCT[ꢀ  
ꢂꢆꢌꢂꢃ  
0
+P'ZVGPFGFOQFGꢅKHDKVUꢌꢎQHVJG$#4DKVUꢆꢌꢂꢎQHCNQIKECNCFFTGUUDKVUꢀ  
ꢍꢌꢎꢀQHꢀVJKUꢀTGIꢅꢀVJGꢀCFFTGUUꢀKUꢀKPꢀVJGꢀ$CPMꢀ#TGCꢄꢀ&QꢀPQVꢀRTQITCOꢀVJGUGꢀTGIKUVGTUꢀUQꢀVJCVꢀ  
DKVUꢀꢍꢌꢎꢀQHꢀVJGꢀ$#4ꢀ ꢀDKVUꢀꢍꢌꢎꢀQHꢀVJKUꢀTGIKUVGTꢄꢀ#NNꢀEQORCTKUQPUꢀCTGꢀWPUKIPGFꢄ  
6
ꢁꢎꢃꢅ $  
ꢁ$  
ꢁ4  
ꢁ. ꢁꢈꢃꢃꢌ%*ꢁ ꢁ'  
ꢁ/  
ꢉꢁ$$4.  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
$CPMꢀ#TGCꢀ$CUGꢀCFFTGUUꢅꢀDKVUꢀꢂꢆꢌꢂꢃ  
4ꢋ9  
4GUGTXGF  
:
4GUGV  
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢎ  
$CPMꢀ#TGCꢀ  
$CUGꢀ  
#FFTGUUꢀꢂꢆꢌ  
ꢂꢃ  
4ꢋ9  
+Pꢀ'ZVGPFGFꢀOQFGꢅꢀKHꢀVJGꢀEQORCTKUQPꢀ  
QHꢀDKVUꢀꢂꢆꢌꢂꢃꢀQHꢀCꢀNQIKECNꢀCFFTGUUꢀKPFKꢌ  
ECVGUꢀVJCVꢀVJGꢀCFFTGUUꢀKUꢀKPꢀVJGꢀ$CPMꢀ  
#TGCꢅꢀVJKUꢀXCNWGꢀKUꢀCFFGFꢀVQꢀDKVUꢀꢂꢆꢌꢂꢃꢀ  
QHꢀVJGꢀNQIKECNꢀCFFTGUUꢀVQꢀHQTOꢀDKVUꢀꢂꢆꢌ  
ꢂꢃꢀQHꢀVJGꢀRJ[UKECNꢀCFFTGUUꢄ  
ꢂꢎꢎ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
%
ꢀ5  
ꢀ9 ꢀ4  
+ꢋ1 4  
6
ꢁꢎꢄꢅ $  
ꢁ$  
ꢁ4  
ꢁ* ꢁꢈꢃꢃꢌ&*ꢁ ꢁ'  
ꢁ/  
ꢉꢁ$$4*  
$KV  
$KVꢋ(KGNF 4GUGTXGF  
$CPMꢀ#TGCꢀ$CUGꢀCFFTGUUꢅꢀDKVUꢀꢎꢎꢌꢂꢏ  
4ꢋ9  
4ꢋ9  
4GUGV  
0
:
:
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢎ $CPMꢀ#TGCꢀ  
4ꢋ9  
+Pꢀ'ZVGPFGFꢀOQFGꢅꢀKHꢀVJGꢀEQORCTKUQPꢀ  
QHꢀDKVUꢀꢂꢆꢌꢂꢃꢀQHꢀCꢀNQIKECNꢀCFFTGUUꢀKPFKꢌ  
ECVGUꢀVJCVꢀVJGꢀCFFTGUUꢀKUꢀKPꢀ%QOOQPꢀ  
#TGCꢀꢂꢅꢀVJKUꢀXCNWGꢅꢀRNWUꢀVJGꢀECTT[ꢀHTQOꢀ  
VJGꢀCFFKVKQPꢀQHꢀDKVUꢀꢂꢆꢌꢂꢃꢅꢀKUꢀWUGFꢀCUꢀ  
DKVUꢀꢎꢎꢌꢂꢏꢀQHꢀVJGꢀRJ[UKECNꢀCFFTGUUꢄ  
$CUGꢀ  
#FFTGUUꢀꢎꢎꢌ  
ꢂꢏ  
%*+2ꢁ5'.'%6#0&ꢁ9#+6ꢁ4')+56'45  
See pages 34 and 39 for more detail about these registers.  
6
ꢁꢎꢆꢅ  
ꢁ% ꢁ5  
ꢁꢃꢁ. ꢁ4  
ꢁꢈ (ꢐꢁ ꢁꢃꢃ(*ꢐꢉꢁ/%5ꢃ.  
$KV  
5K\Gꢋ'PCDNG  
4ꢋ9  
$KVꢋ(KGNF  
4ꢋ9  
%#ꢂꢉꢌꢂꢊ  
4ꢋ9  
9CKVꢀ5VCVGU  
4ꢋ9  
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢎꢊ  
+ꢋ1 4  
%
ꢀ5  
ꢀ9 ꢀ4  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢏ  
%QORCTKUQPꢀ 4ꢋ9  
#FFTGUU  
ꢂꢉꢌꢂꢊ  
6JGꢀ5K\Gꢋ'PCDNGꢀHKGNFꢀEQPVTQNUꢀYJGVJGTꢀ  
VJGUGꢀDKVUꢀCTGꢀEQORCTGFꢀHQTꢀGSWCNKV[ꢀVQꢀ  
#ꢂꢉꢌꢂꢊꢄ  
ꢆꢌꢎ  
5K\Gꢋ'PCDNG  
4ꢋ9 ꢃꢃꢃꢃ MEMCS0 is disabled (remains High).  
ꢃꢃꢃꢂ MEMCS0 Low for all of memory  
ꢃꢃꢂꢃ MEMCS0 Low when A22==CA22  
ꢃꢃꢂꢂ MEMCS0 Low when A22-21==CA22-21  
ꢃꢂꢃꢃ MEMCS0 Low when A22-20==CA22-20  
ꢃꢂꢃꢂ MEMCS0 Low when A22-19==CA22-19  
ꢃꢂꢂꢃ MEMCS0 Low when A22-18==CA22-18  
ꢃꢂꢂꢂ MEMCS0 Low when A22-17==CA22-17  
ꢂꢃꢃꢃ MEMCS0 Low when A22-16==CA22-16  
ꢂꢃꢃꢂ MEMCS0 Low when A22-15==CA22-15  
ꢂꢃꢂꢃ MEMCS0 Low when A22-14==CA22-14  
ꢂꢃꢂꢂ MEMCS0 Low when A22-13==CA22-13  
ꢂꢂZZ Reserved; do not program these values  
ꢂꢌꢃ  
9CKVꢀ5VCVGU 4ꢋ9 ꢃꢃ 0QꢀYCKVꢀUVCVGUꢀCFFGFꢀKPꢀ/'/%5ꢃꢀTCPIG  
#VꢀNGCUVꢀꢂꢀYCKVꢀUVCVGꢀKPꢀ/'/%5ꢃꢀTCPIG  
ꢃꢂ #VꢀNGCUVꢀꢎꢀYCKVꢀUVCVGUꢀKPꢀ/'/%5ꢃꢀTCPIG  
#VꢀNGCUVꢀꢊꢀYCKVꢀUVCVGUꢀKPꢀ/'/%5ꢃꢀTCPIG  
ꢂꢃ  
ꢂꢂ  
ꢂꢎꢉ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
%
ꢀ5  
ꢀ9 ꢀ4  
+ꢋ1 4  
6
ꢁꢎꢌꢅ /  
ꢁ% ꢁ5  
ꢁꢃꢁ* ꢁ4  
ꢁꢈ (ꢑꢁ ꢁꢃꢃ(ꢑ*ꢉꢁ/%5ꢃ*  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
%QORCTKUQPꢀ#FFTGUUꢀꢎꢎꢌꢂꢆ  
4ꢋ9  
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
4ꢋ9 6JGꢀ5K\Gꢋ'PCDNGꢀHKGNFꢀKPꢀ/%5ꢃ.ꢀ  
ꢍꢌꢃ  
%QORCTꢌ  
KUQPꢀ  
#FFTGUUꢀꢎꢎꢌ  
ꢂꢆ  
EQPVTQNUꢀJQYꢀOCP[ꢀQHꢀVJGUGꢀDKVUꢀCTGꢀ  
EQORCTGFꢀHQTꢀGSWCNKV[ꢀVQꢀ#ꢎꢎꢌꢂꢆꢄ  
6
ꢁꢎꢎꢅ /  
ꢁ% ꢁ5  
ꢁꢄꢁ. ꢁ4  
ꢁꢈ (ꢂꢁ ꢁꢃꢃ(ꢂ*ꢉꢁ/%5ꢄ.  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
%#ꢂꢉꢌꢂꢊ  
4ꢋ9  
5K\Gꢋ'PCDNG  
4ꢋ9  
9CKVꢀ5VCVGU  
4ꢋ9  
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
4ꢋ9 6JGꢀ5K\Gꢋ'PCDNGꢀHKGNFꢀEQPVTQNUꢀ  
ꢍꢌꢏ  
%QORCTꢌ  
KUQPꢀ  
YJGVJGTꢀVJGUGꢀDKVUꢀCTGꢀEQORCTGFꢀHQTꢀ  
GSWCNKV[ꢀVQꢀ#ꢂꢉꢌꢂꢊꢄ  
#FFTGUUꢀꢂꢉꢌ  
ꢂꢊ  
ꢆꢌꢎ  
5K\Gꢋ'PCDNG  
4ꢋ9 ꢃꢃꢃꢃ MEMCS1 is disabled (remains High)  
ꢃꢃꢃꢂ MEMCS1 Low for all memory (see note)  
ꢃꢃꢂꢃ MEMCS1 Low when A22==CA22  
ꢃꢃꢂꢂ MEMCS1 Low when A22-21==CA22-21  
ꢃꢂꢃꢃ MEMCS1 Low when A22-20==CA22-20  
ꢃꢂꢃꢂ MEMCS1 Low when A22-19==CA22-19  
ꢃꢂꢂꢃ MEMCS1 Low when A22-18==CA22-18  
ꢃꢂꢂꢂ MEMCS1 Low when A22-17==CA22-17  
ꢂꢃꢃꢃ MEMCS1 Low when A22-16==CA22-16  
ꢂꢃꢃꢂ MEMCS1 Low when A22-15==CA22-15  
ꢂꢃꢂꢃ MEMCS1 Low when A22-14==CA22-14  
ꢂꢃꢂꢂ MEMCS1 Low when A22-13==CA22-13  
ꢂꢂZZ Reserved; do not program these values  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢎꢆ  
+ꢋ1 4  
%
ꢀ5  
ꢀ9 ꢀ4  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢂꢌꢃ  
9CKVꢀ5VCVGU 4ꢋ9  
ꢃꢃ 0QꢀYCKVꢀUVCVGUꢀCFFGFꢀKPꢀ/'/%5ꢂꢀ  
TCPIG  
ꢃꢂ #VꢀNGCUVꢀꢂꢀYCKVꢀUVCVGꢀKPꢀ/'/%5ꢂꢀTCPIG  
#VꢀNGCUVꢀꢎꢀYCKVꢀUVCVGUꢀKPꢀ/'/%5ꢂꢀ  
ꢂꢃ TCPIG  
#VꢀNGCUVꢀꢊꢀYCKVꢀUVCVGUꢀKPꢀ/'/%5ꢂꢀ  
ꢂꢂ TCPIG  
0
ꢊꢁ+HꢀVJGꢀTCPIGUꢀHQTꢀ/'/%5ꢃꢀCPFꢀ/'/%5ꢂꢀQXGTNCRꢅꢀ/'/%5ꢃꢀIQGUꢀ.QYꢀCPFꢀ  
/'/%5ꢂꢀTGOCKPUꢀ*KIJꢀHQTꢀCFFTGUUGUꢀKPꢀVJGꢀQXGTNCRRGFꢀTGIKQPꢄ  
6
ꢁꢎꢏꢅ /  
ꢁ% ꢁ5  
ꢁꢄꢁ* ꢁ4  
ꢁꢈ (ꢓꢁ ꢁꢃꢃ(ꢓ*ꢉꢁ/%5ꢄ*  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
%QORCTKUQPꢀ#FFTGUUꢀꢎꢎꢌꢂꢆ  
4ꢋ9  
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
4ꢋ9 6JGꢀ5K\Gꢋ'PCDNGꢀHKGNFꢀKPꢀ/%5ꢂ.ꢀ  
ꢍꢌꢃ  
%QORCTꢌ  
KUQPꢀ  
#FFTGUUꢀꢎꢎꢌ  
ꢂꢆ  
EQPVTQNUꢀJQYꢀOCP[ꢀQHꢀVJGUGꢀDKVUꢀCTGꢀ  
EQORCTGFꢀHQTꢀGSWCNKV[ꢀVQꢀ#ꢎꢎꢌꢂꢆꢄ  
ꢂꢎꢏ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
%
ꢀ5  
ꢀ9 ꢀ4  
+ꢋ1 4  
6
ꢁꢎꢐꢅ +ꢋ1ꢁ% ꢁ5  
ꢁ. ꢁ4  
ꢁꢈ (#ꢁ ꢁꢃꢃ(#*ꢉꢁ+1%5.  
$KV  
$KVꢋ(KGNF  
%#ꢍꢌꢆ  
%QOR  
*K  
5K\G  
4ꢋ9  
9CKVꢀ5VCVGU  
4ꢋ9  
4ꢋ9  
4ꢋ9  
4ꢋ9  
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢆ  
%QORCTKUQPꢀ 4ꢋ9  
6JGꢀ5K\GꢀHKGNFꢀEQPVTQNUꢀJQYꢀOCP[ꢀQHꢀ  
VJGUGꢀDKVUꢀCTGꢀEQORCTGFꢀHQTꢀGSWCNKV[ꢀ  
VQꢀ#ꢍꢌꢆꢄ  
#FFTGUUꢀꢍꢌꢆ  
%QOR*K  
5K\G  
4ꢋ9  
4ꢋ9  
+1%5ꢀFGEQFKPIꢀKIPQTGUꢀ#ꢂꢆꢌꢇ  
+1%5ꢀ.QYꢀTGSWKTGUꢀ#ꢂꢆꢌꢇꢒꢒ%#ꢂꢆꢌꢇ  
ꢊꢌꢎ  
ꢃꢃ +1%5ꢀFQGUꢀPQVꢀFGEQFGꢀ#ꢍꢌꢆꢀꢐUGGꢀPQVGꢑ  
ꢃꢂ +1%5ꢀ.QYꢀTGSWKTGUꢀ#ꢍꢒꢒ%#ꢍ  
ꢂꢃ +1%5ꢀ.QYꢀTGSWKTGUꢀ#ꢍꢌꢏꢒꢒ%#ꢍꢌꢏ  
ꢂꢂ +1%5ꢀ.QYꢀTGSWKTGUꢀ#ꢍꢌꢆꢒꢒ%#ꢍꢌꢆ  
ꢂꢌꢃ  
9CKVꢀ5VCVGU  
4ꢋ9  
ꢃꢃ /KPꢀꢉꢀENQEMUꢋE[ENGꢀKPꢀ+1%5ꢀTCPIG  
ꢃꢂ /KPꢀꢆꢀENQEMUꢋE[ENGꢀKPꢀ+1%5ꢀTCPIG  
ꢂꢃ /KPꢀꢏꢀENQEMUꢋE[ENGꢀKPꢀ+1%5ꢀTCPIG  
ꢂꢂ /KPꢀꢍꢀENQEMUꢋE[ENGꢀKPꢀ+1%5ꢀTCPIG  
0
ꢊꢁ+1%5ꢀCNYC[UꢀTGOCKPUꢀ*KIJꢀHQTꢀQPꢌEJKRꢀ+ꢋ1ꢀCFFTGUUGUꢄ  
6
ꢁꢎꢑꢅ +ꢋ1ꢁ% ꢁ5  
ꢁ* ꢁ4  
ꢁꢈ ($ꢁ ꢁꢃꢃ($*ꢉꢁ+1%5*  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
%QORCTKUQPꢀ#FFTGUUꢀꢂꢆꢌꢇ  
4ꢋ9  
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
%QORCTꢌ  
KUQPꢀ  
#FFTGUUꢀꢂꢆꢌ  
4ꢋ9  
6JGꢀ%QOR*KꢀDKVꢀKPꢀ+1%5.ꢀEQPVTQNUꢀ  
YJGVJGTꢀVJGUGꢀDKVUꢀCTGꢀEQORCTGFꢀHQTꢀ  
GSWCNKV[ꢀVQꢀ#ꢂꢆꢌꢇꢄ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢎꢍ  
+ꢋ1 4  
+ꢋ1ꢀ2  
ꢀꢐ2+1ꢑꢀ4  
+ꢋ1ꢁ2146ꢁꢈ2+1ꢉꢁ4')+56'45  
See section “Parallel I/O (PIOs)”, on page 45, for more about these registers.  
6
ꢁꢎꢂꢅ 2 ꢁ#ꢁ& ꢁꢈ &%ꢁ ꢁꢃꢃ&%*ꢉꢁ2#&  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
2QTVꢀ#ꢀ&CVC  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
2QTVꢀ#ꢀ&CVC 4ꢋ9  
9TKVKPIꢀVQꢀVJKUꢀCFFTGUUꢀUGVUꢀQWVRWVꢀ  
FCVCꢀHQTꢀVJGꢀ2#ꢍꢌꢃꢀRKPUꢅꢀCPFꢀKPꢀOQFGꢀ  
ꢃꢀQTꢀꢎꢀOCMGUꢀ#4&;ꢀ*KIJꢄꢀ4GCFKPIꢀ  
HTQOꢀVJKUꢀCFFTGUUꢀTGVWTPUꢀKPRWVꢀFCVCꢀ  
HTQOꢀVJGꢀ2#ꢍꢌꢃꢀRKPUꢅꢀCPFꢀKPꢀOQFGꢀꢂꢀ  
QTꢀꢎꢀOCMGUꢀ#4&;ꢀQTꢀ$4&;ꢀꢐTGURGEꢌ  
VKXGN[ꢑꢀ*KIJꢄ  
6
ꢁꢎꢓꢅ 2  
ꢁ#ꢁ%  
ꢁꢈ &&ꢁ ꢁꢃꢃ&&*ꢉꢁ2#%  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
2QTVꢀ#ꢀ%QPVTQN  
91  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
$KVꢋ  
2QUKVKQP (KGNF  
ꢍꢌꢃ 2QTVꢀ#  
%QPVTQN  
4ꢋ9  
8CNWG  
&GUETKRVKQP  
91  
6JGꢀRQTVꢀFGEQFGUꢀVJGꢀ.5ꢀDKVUꢀQHꢀFCVCꢀ  
YTKVVGPꢀVQꢀVJKUꢀCFFTGUUꢅꢀVQꢀUGNGEVꢀ  
COQPIꢀVJGꢀHQNNQYKPIꢀEQPVTQNꢀYQTFUꢈ  
+PVGTTWRVꢁ8GEVQTꢁ9QTFꢅꢀ6JGꢀRQTVꢀ  
XXXXXXXꢃ TGVWTPUꢀVJKUꢀXCNWGꢀCUꢀCPꢀKPVGTTWRVꢀ  
XGEVQTꢄ  
+PVGTTWRVꢁ&KUCDNGꢁ9QTFꢅꢀ$KVꢀꢍꢀGPCDNGUꢀ  
GZZZꢃꢃꢂꢂ ꢐꢂꢑꢀQTꢀFKUCDNGUꢀꢐꢃꢑꢀRQTVꢀKPVGTTWRVUꢄ  
+PVGTTWRVꢁ%QPVTQNꢁ9QTFꢅꢀ$KVꢀꢍꢀGPCDNGUꢀ  
ꢐꢂꢑꢀQTꢀFKUCDNGUꢀꢐꢃꢑꢀRQTVꢀKPVGTTWRVUꢄꢀ  
GCJOꢃꢂꢂꢂ ꢐ%QPVKPWGFꢑ  
ꢂꢎꢇ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
+ꢋ1ꢀ2  
ꢀꢐ2+1ꢑꢀ4  
+ꢋ1 4  
$KV  
$KVꢋ  
2QUKVKQP (KGNF  
4ꢋ9  
8CNWG  
&GUETKRVKQP  
ꢍꢌꢃ  
2QTVꢀ#  
91  
+PꢀOQFGꢀꢊꢀQPN[ꢅꢀDKVꢀꢆꢀEQPVTQNUꢀ  
YJGVJGTꢀRKPUꢀUGNGEVGFꢀD[ꢀꢂUꢀKPꢀVJGꢀ  
OCUMꢀKPVGTTWRVꢀYJGPꢀ*KIJꢀꢐꢂꢑꢀQTꢀ.QYꢀ  
ꢐꢃꢑꢅꢀDKVꢀꢏꢀEQPVTQNUꢀYJGVJGTꢀKPVGTTWRVꢀ  
QEEWTUꢀYJGPꢀCNNꢀꢐꢂꢑꢀQTꢀCP[ꢀꢐꢃꢑꢀQHꢀVJGUGꢀ  
RKPUꢀKUꢀKPꢀVJGꢀCEVKXGꢀUVCVGꢅꢀCPFꢀCꢀꢂꢀKPꢀ  
DKVꢀꢉꢀKPFKECVGUꢀVJCVꢀVJGꢀPGZVꢀXCNWGꢀ  
YTKVVGPꢀVQꢀVJKUꢀCFFTGUUꢀKUꢀCPꢀKPVGTTWRVꢀ  
OCUMꢄ  
ꢐEQPVꢄꢑ %QPVTQN  
/QFGꢁ%QPVTQNꢁ9QTFꢅꢀ$KVUꢀꢍꢌꢏꢀUGNGEVꢀ  
OOZZꢂꢂꢂꢂ VJGꢀRQTV UꢀQRGTCVKPIꢀOQFGꢈ  
ꢃꢃꢀ1WVRWV  
ꢃꢂꢀ+PRWV  
ꢂꢃꢀ$KFKTGEVKQPCN  
ꢂꢂꢀ$KVꢀ%QPVTQNꢄꢀ5GVVKPIꢀVJKUꢀXCNWGꢀCNUQꢀ  
OCMGUꢀVJGꢀRQTVꢀECRVWTGꢀVJGꢀPGZVꢀ  
XCNWGꢀYTKVVGPꢀVQꢀVJKUꢀCFFTGUUꢅꢀCUꢀCPꢀ+ꢋ  
1ꢀ4GIKUVGTꢀ%QPVTQNꢀ9QTFꢅꢀKPꢀYJKEJꢀꢂUꢀ  
KFGPVKH[ꢀKPRWVUꢀCPFꢀꢃUꢀKFGPVKH[ꢀ  
QWVRWVUꢄ  
6
ꢁꢏꢃꢅ 2  
ꢁ$ꢁ&  
ꢁꢈ &'ꢁ ꢁꢃꢃ&'*ꢉꢁ2$&  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
2QTVꢀ$ꢀ&CVC  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
2QTVꢀ$ꢀ&CVC  
4ꢋ9  
9TKVKPIꢀVQꢀVJKUꢀCFFTGUUꢀUGVUꢀQWVRWVꢀ  
FCVCꢀHQTꢀVJGꢀ2$ꢍꢌꢃꢀRKPUꢅꢀCPFꢀKPꢀOQFGꢀ  
ꢃꢀOCMGUꢀ$4&;ꢀ*KIJꢄꢀ4GCFKPIꢀHTQOꢀ  
VJKUꢀCFFTGUUꢀTGVWTPUꢀKPRWVꢀFCVCꢀHTQOꢀ  
VJGꢀ2$ꢍꢌꢃꢀRKPUꢅꢀCPFꢀKPꢀOQFGꢀꢂꢀOCMGUꢀ  
$4&;ꢀ*KIJꢄ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢎꢁ  
+ꢋ1 4  
+ꢋ1ꢀ2  
ꢀꢐ2+1ꢑꢀ4  
6
ꢁꢏꢄꢅ 2  
ꢁ$ꢁ%  
ꢁꢈ &(ꢁ ꢁꢃꢃ&(*ꢉꢁ2$%  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
2QTVꢀ$ꢀ%QPVTQN  
91  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
$KVꢋ  
2QUKVKQP (KGNF  
4ꢋ9  
8CNWG  
&GUETKRVKQP  
ꢍꢌꢃ  
2QTVꢀ$  
%QPVTQN  
91  
6JGꢀRQTVꢀFGEQFGUꢀVJGꢀ.5ꢀDKVUꢀQHꢀFCVCꢀ  
YTKVVGPꢀVQꢀVJKUꢀCFFTGUUꢅꢀVQꢀUGNGEVꢀ  
COQPIꢀVJGꢀHQNNQYKPIꢀEQPVTQNꢀYQTFUꢈ  
+PVGTTWRVꢁ8GEVQTꢁ9QTFꢅꢀ6JGꢀRQTVꢀ  
XXXXXXXꢃ TGVWTPUꢀVJKUꢀXCNWGꢀCUꢀCPꢀKPVGTTWRVꢀ  
XGEVQTꢄ  
+PVGTTWRVꢁ&KUCDNGꢁ9QTFꢅꢀ$KVꢀꢍꢀGPCDNGUꢀ  
GZZZꢃꢃꢂꢂ ꢐꢂꢑꢀQTꢀFKUCDNGUꢀꢐꢃꢑꢀRQTVꢀKPVGTTWRVUꢄ  
+PVGTTWRVꢁ%QPVTQNꢁ9QTFꢅꢀ$KVꢀꢍꢀGPCDNGUꢀ  
ꢐꢂꢑꢀQTꢀFKUCDNGUꢀꢐꢃꢑꢀRQTVꢀKPVGTTWRVUꢄꢀ+Pꢀ  
GCJOꢃꢂꢂꢂ OQFGꢀꢊꢀQPN[ꢅꢀDKVꢀꢆꢀEQPVTQNUꢀYJGVJGTꢀ  
RKPUꢀUGNGEVGFꢀD[ꢀꢂUꢀKPꢀVJGꢀOCUMꢀ  
KPVGTTWRVꢀYJGPꢀ*KIJꢀꢐꢂꢑꢀQTꢀ.QYꢀꢐꢃꢑꢅꢀ  
DKVꢀꢏꢀEQPVTQNUꢀYJGVJGTꢀKPVGTTWRVꢀ  
QEEWTUꢀYJGPꢀCNNꢀꢐꢂꢑꢀQTꢀCP[ꢀꢐꢃꢑꢀQHꢀVJGUGꢀ  
RKPUꢀKUꢀKPꢀVJGꢀCEVKXGꢀUVCVGꢅꢀCPFꢀCꢀꢂꢀKPꢀ  
DKVꢀꢉꢀKPFKECVGUꢀVJCVꢀVJGꢀPGZVꢀXCNWGꢀ  
YTKVVGPꢀVQꢀVJKUꢀCFFTGUUꢀKUꢀCPꢀKPVGTTWRVꢀ  
OCUMꢄ  
/QFGꢁ%QPVTQNꢁ9QTFꢅꢀ$KVUꢀꢍꢌꢏꢀUGNGEVꢀ  
VJGꢀRQTV UꢀQRGTCVKPIꢀOQFGꢈ  
ꢃꢃꢀ1WVRWV  
OOZZꢂꢂꢂꢂ ꢃꢂꢀ+PRWV  
ꢂꢃꢀ&QꢀPQVꢀRTQITCO  
ꢂꢂꢀ$KVꢀ%QPVTQNꢄꢀ  
5GVVKPIꢀVJKUꢀXCNWGꢀCNUQꢀOCMGUꢀVJGꢀ  
RQTVꢀECRVWTGꢀVJGꢀPGZVꢀXCNWGꢀYTKVVGPꢀVQꢀ  
VJKUꢀCFFTGUUꢅꢀCUꢀCPꢀ+ꢋ1ꢀ4GIKUVGTꢀ  
%QPVTQNꢀ9QTFꢅꢀKPꢀYJKEJꢀꢂUꢀKFGPVKH[ꢀ  
KPRWVUꢀCPFꢀꢃUꢀKFGPVKH[ꢀQWVRWVUꢄ  
ꢂꢊꢃ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
+ꢋ1ꢀ2  
ꢀꢐ2+1ꢑꢀ4  
+ꢋ1 4  
6
ꢁꢏꢆꢅ 2  
ꢁ%ꢁ&  
ꢁꢈ &ꢎꢁ ꢁꢃꢃ&ꢎ*ꢉꢁ2%&  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
2QTVꢀ%ꢀ&CVC  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
0
 This address operates as described for Port A Data above, except that it is  
associated with the PC7-0 and CRDY pins, and for mode 2 the DRDY pin.  
6
ꢁꢏꢌꢅ 2 ꢁ%ꢁ% ꢁꢈ &ꢏꢁ ꢁꢃꢃ&ꢏ*ꢉꢁ2%%  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
2QTVꢀ%ꢀ%QPVTQN  
91  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVGꢀ91ꢀꢒꢀ9TKVGꢀ1PN[  
0
 This address operates as described for Port A Control above, except that it  
is associated with the PC7-0 and CRDY pins, and for mode 2 the DRDY pin.  
6
ꢁꢏꢎꢅ 2 ꢁ&ꢁ& ꢁꢈ &ꢐꢁ ꢁꢃꢃ&ꢐ*ꢉꢁ2&&  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
2QTVꢀ&ꢀ&CVC  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
0
 This address operates as described for Port B Data above, except that it is  
associated with the PD7-0 pins, and in mode 0 or 1 the DRDY pin.  
6
ꢁꢏꢏꢅ 2 ꢁ&ꢁ% ꢁꢈ &ꢑꢁ ꢁꢃꢃ&ꢑ*ꢉꢁ2&%  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
2QTVꢀ&ꢀ%QPVTQN  
91  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVGꢀ91ꢀꢒꢀ9TKVGꢀ1PN[  
0
 This address operates as described for Port B Control above, except that it  
is associated with the PD70pins, and in mode 0 or 1 the DRDYpin  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢊꢂ  
+ꢋ1 4  
&/#ꢀ4  
&/#ꢁ4')+56'45  
See section “DMA Channels”, on page 57, for more about these registers.  
6
ꢁꢏꢐꢅ &/#ꢃꢁ5  
ꢁ#  
ꢁ4  
ꢁ. ꢁꢈꢃꢃꢆꢃ*ꢉꢁ5#4ꢃ.  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
.5ꢀD[VGꢀQHꢀ&/#ꢃꢀ5QWTEGꢀ#FFTGUU  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
&/#ꢃꢀ  
5QWTEGꢀ  
#FFTGUUꢀ.5ꢀ  
D[VG  
4ꢋ9  
.5ꢀD[VGꢀQHꢀVJGꢀ5QWTEGꢀ#FFTGUUꢀHQTꢀ  
&/#ꢀEJCPPGNꢀꢃꢄ  
6
ꢁꢏꢑꢅ &/#ꢃꢁ5  
ꢁ#  
ꢁ4  
ꢁ* ꢁꢈꢃꢃꢆꢄ*ꢉꢁ5#4ꢃ*  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
/KFFNGꢀD[VGꢀQHꢀ&/#ꢃꢀ5QWTEGꢀ#FFTGUU  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
&/#ꢃꢀ  
5QWTEGꢀ  
4ꢋ9  
$KVUꢀꢂꢆꢌꢇꢀQHꢀVJGꢀ5QWTEGꢀ#FFTGUUꢀHQTꢀ  
&/#ꢀEJCPPGNꢀꢃꢄ  
#FFTGUUꢀ  
OKFFNGꢀD[VG  
ꢂꢊꢎ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
&/#ꢀ4  
+ꢋ1 4  
6
ꢁꢏꢂꢅ &/#ꢃꢁ5  
ꢁ#  
ꢁ4  
ꢁ$ꢁꢈꢃꢃꢆꢆ*ꢉꢁ5#4ꢃ$  
$KV  
$KVꢋ(KGNF 4GUGTX  
GF  
&/#ꢃꢀ5QWTEGꢀ#FFTGUUꢀꢎꢎꢌꢂꢏꢅꢀ14  
0QVꢀWUGF &/#ꢀ4GSWGUVꢀ5GNGEV  
4ꢋ9  
4GUGV  
0
0ꢋ#  
:
4ꢋ9  
:
:
:
:
:
:
:
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢏꢌꢃ  
&/#ꢃꢀ  
4ꢋ9  
+HꢀVJGꢀ5QWTEGꢀ/QFGꢀHKGNFꢀKPꢀVJGꢀ  
5QWTEGꢀ  
#FFTGUUꢀꢎꢎꢌ  
ꢂꢏꢅꢀ14ꢀ  
&/#ꢀ  
&/1&'ꢀTGIKUVGTꢀKUꢀꢃꢃꢌꢂꢃꢅꢀVJKUꢀHKGNFꢀ  
EQPVCKPUꢀ#ꢎꢎꢌꢂꢏꢀQHꢀVJGꢀ5QWTEGꢀ  
OGOQT[ꢀCFFTGUU  
4GSWGUVꢀ  
5GNGEV  
+HꢀVJGꢀ5QWTEGꢀ/QFGꢀHKGNFꢀKPꢀVJGꢀ  
&/1&'ꢀTGIKUVGTꢀKUꢀꢂꢂꢅꢀKPFKECVKPIꢀCPꢀ+ꢋ  
1ꢀUQWTEGꢅꢀDKVUꢀꢎꢌꢃꢀUGNGEVꢀYJKEJꢀ  
UQWTEGꢀFGXKEGꢀJCPFUJCMGꢀNKPGꢀ  
EQPVTQNUꢀFCVCꢀVTCPUHGTꢅꢀCUꢀHQNNQYUꢈ  
&4'3ꢃꢀRKP  
ꢃꢃꢃ #5%+ꢃꢀ4&4(  
ꢃꢃꢂ #5%+ꢂꢀ4&4(  
ꢃꢂꢃ 4GUGTXGFꢅꢀFQꢀPQVꢀRTQITCO  
ꢃꢂꢂ 5+1ꢀ#ꢀ4Z  
ꢂꢃꢃ 5+1ꢀ$ꢀ4Z  
ꢂꢃꢂ 2+1ꢀ#ꢀ+P  
ꢂꢂꢃ 2+1ꢀ$ꢀ+P  
ꢂꢂꢂ  
6
ꢁꢏꢓꢅ &/#ꢃꢁ&  
ꢁ#  
ꢁ4  
ꢁ. ꢁꢈꢃꢃꢆꢌ*ꢉꢁ&#4ꢃ.  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
.5ꢀD[VGꢀQHꢀ&/#ꢃꢀ&GUVKPCVKQPꢀ#FFTGUU  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
&/#ꢃꢀ  
4ꢋ9  
.5ꢀD[VGꢀQHꢀVJGꢀ&GUVKPCVKQPꢀ#FFTGUUꢀ  
HQTꢀ&/#ꢀEJCPPGNꢀꢃꢄ  
&GUVKPCVKQPꢀ  
#FFTGUUꢀ.5ꢀ  
D[VG  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢊꢊ  
+ꢋ1 4  
&/#ꢀ4  
6
ꢁꢐꢃꢅ &/#ꢃꢁ&  
ꢁ#  
ꢁ4  
ꢁ* ꢁꢈꢃꢃꢆꢎ*ꢉꢁ&#4ꢃ*  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
/KFFNGꢀD[VGꢀQHꢀ&/#ꢃꢀ&GUVKPCVKQPꢀ#FFTGUU  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
&/#ꢃꢀ  
&GUVKPCVKQPꢀ  
#FFTGUUꢀ  
4ꢋ9  
$KVUꢀꢂꢆꢌꢇꢀQHꢀVJGꢀ&GUVKPCVKQPꢀ#FFTGUUꢀ  
HQTꢀ&/#ꢀEJCPPGNꢀꢃꢄ  
OKFFNGꢀD[VG  
6
ꢁꢐꢄꢅ &/#ꢃꢁ&  
ꢁ#  
ꢁ4  
ꢁ$ꢁꢈꢃꢃꢆꢏ*ꢉꢁ&#4ꢃ$  
$KV  
$KVꢋ(KGNF 4GUGTXGF  
&/#ꢂꢀ&GUVKPCVKQPꢀ#FFTGUUꢀꢎꢎꢌꢂꢏꢅꢀ14  
0QVꢀWUGF &/#ꢀ4GSWGUVꢀ5GNGEV  
4ꢋ9  
4GUGV  
0
0ꢋ#  
:
4ꢋ9  
:
:
:
:
:
:
:
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢏꢌꢃ  
&/#ꢃꢀ  
4ꢋ9  
+HꢀVJGꢀ&GUVKPCVKQPꢀ/QFGꢀHKGNFꢀKPꢀVJGꢀ  
&/1&'ꢀTGIKUVGTꢀKUꢀꢃꢃꢌꢂꢃꢅꢀVJKUꢀHKGNFꢀ  
EQPVCKPUꢀ#ꢎꢎꢌꢂꢏꢀQHꢀVJGꢀ&GUVKPCVKQPꢀ  
OGOQT[ꢀCFFTGUU  
&GUVKPCVKQPꢀ  
#FFTGUUꢀꢎꢎꢌ  
ꢂꢏꢅꢀ14  
&/#ꢀ  
4GSWGUVꢀ  
5GNGEV  
+HꢀVJGꢀ&GUVKPCVKQPꢀ/QFGꢀHKGNFꢀKPꢀVJGꢀ  
&/1&'ꢀTGIKUVGTꢀKUꢀꢂꢂꢅꢀKPFKECVKPIꢀCPꢀ+ꢋ  
1ꢀFGUVKPCVKQPꢅꢀDKVUꢀꢎꢌꢃꢀUGNGEVꢀYJKEJꢀ  
FGUVKPCVKQPꢀFGXKEGꢀJCPFUJCMGꢀNKPGꢀ  
EQPVTQNUꢀFCVCꢀVTCPUHGTꢅꢀCUꢀHQNNQYUꢈ  
&4'3ꢃꢀRKP  
ꢃꢃꢃ #5%+ꢃꢀ6&4'  
ꢃꢃꢂ #5%+ꢂꢀ6&4'  
ꢃꢂꢃ 4GUGTXGFꢅꢀFQꢀPQVꢀRTQITCO  
ꢃꢂꢂ 5+1ꢀ#ꢀ6Z  
ꢂꢃꢃ 5+1ꢀ$ꢀ6Z  
ꢂꢃꢂ 2+1ꢀ#ꢀ1WV  
ꢂꢂꢃ 2+1ꢀ$ꢀ1WV  
ꢂꢂꢂ  
ꢂꢊꢉ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
&/#ꢀ4  
+ꢋ1 4  
6
ꢁꢐꢆꢅ &/#ꢃꢁ$  
ꢁ%  
ꢁ4  
ꢁ. ꢁꢈꢃꢃꢆꢐ*ꢉꢁ$%4ꢃ.  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
.5ꢀD[VGꢀQHꢀ&/#ꢃꢀ$[VGꢀ%QWPV  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
&/#ꢃꢀ$[VGꢀ 4ꢋ9  
%QWPVꢀ.5ꢀ  
D[VG  
.5ꢀD[VGꢀQHꢀVJGꢀ$[VGꢀ%QWPVꢀHQTꢀ&/#ꢀ  
EJCPPGNꢀꢃꢄ  
6
ꢁꢐꢌꢅ &/#ꢃꢁ$  
ꢁ%  
ꢁ4  
ꢁ* ꢁꢈꢃꢃꢆꢑ*ꢉꢁ$%4ꢃ*  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
/5ꢀD[VGꢀQHꢀ&/#ꢃꢀ$[VGꢀ%QWPV  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
&/#ꢃꢀ$[VGꢀ 4ꢋ9  
%QWPVꢀ/5ꢀ  
D[VG  
/5ꢀD[VGꢀQHꢀVJGꢀ$[VGꢀ%QWPVꢀHQTꢀ&/#ꢀ  
EJCPPGNꢀꢃꢄ  
6
ꢁꢐꢎꢅ &/#ꢄꢁ/  
ꢁ#  
ꢁ4  
ꢁ. ꢁꢈꢃꢃꢆꢂ*ꢉꢁ/#4ꢄ.  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
&/#ꢂꢀ/GOQT[ꢀ#FFTGUUꢀDKVUꢀꢍꢌꢃ  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
&/#ꢂꢀ  
4ꢋ9  
$KVUꢀꢍꢌꢃꢀQHꢀVJGꢀ/GOQT[ꢀ#FFTGUUꢀHQTꢀ  
&/#ꢀEJCPPGNꢀꢂꢄ  
/GOQT[ꢀ  
#FFTGUUꢀ.5ꢀ  
D[VG  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢊꢆ  
+ꢋ1 4  
&/#ꢀ4  
6
ꢁꢐꢏꢅ &/#ꢄꢁ/  
ꢁ#  
ꢁ4  
ꢁ* ꢁꢈꢃꢃꢆꢓ*ꢉꢁ/#4ꢄ*  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
/KFFNGꢀD[VGꢀQHꢀ&/#ꢂꢀ/GOQT[ꢀ#FFTGUU  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
&/#ꢂꢀ  
4ꢋ9  
$KVUꢀꢂꢆꢌꢇꢀQHꢀVJGꢀ/GOQT[ꢀ#FFTGUUꢀHQTꢀ  
&/#ꢀEJCPPGNꢀꢂꢄ  
/GOQT[ꢀ  
#FFTGUUꢀ  
OKFFNGꢀD[VG  
6
ꢁꢐꢐꢅ &/#ꢄꢁ/  
ꢁ#  
ꢁ4  
ꢁ$ꢁꢈꢃꢃꢆ#*ꢉꢁ/#4ꢄ$  
$KV  
$KVꢋ(KGNF 4GUGTXGF  
&/#ꢂꢀ/GOQT[ꢀ#FFTGUUꢀꢎꢎꢌꢂꢏ  
4ꢋ9  
4ꢋ9  
4GUGV  
0
0ꢋ#  
:
:
:
:
:
:
:
:
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢊꢌꢃ  
&/#ꢂꢀ  
/GOQT[ꢀ  
#FFTGUUꢀꢂꢁꢌ  
ꢂꢏ  
4ꢋ9  
$KVUꢀꢎꢎꢌꢂꢏꢀQHꢀVJGꢀ&/#ꢂꢀ/GOQT[ꢀ  
CFFTGUUꢄ  
6
ꢁꢐꢑꢅ &/#ꢄꢁ+ꢋ1ꢁ#  
ꢁ4  
ꢁ. ꢁꢈꢃꢃꢆ$*ꢉꢁ+#4ꢄ.  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
$KVUꢀꢍꢌꢃꢀQHꢀ&/#ꢂꢀ+ꢋ1ꢀ#FFTGUU  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
&/#ꢂꢀ+ꢋ1ꢀ  
#FFTGUUꢀ.5ꢀ  
D[VG  
4ꢋ9  
$KVUꢀꢍꢌꢃꢀQHꢀVJGꢀ+ꢋ1ꢀ#FFTGUUꢀHQTꢀ&/#ꢀ  
EJCPPGNꢀꢂꢄ  
ꢂꢊꢏ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
&/#ꢀ4  
+ꢋ1 4  
6
ꢁꢐꢂꢅ &/#ꢄꢁ+ꢋ1ꢁ#  
ꢁ4  
ꢁ* ꢁꢈꢃꢃꢆ%*ꢉꢁ+#4ꢄ*  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
$KVUꢀꢂꢆꢌꢇꢀQHꢀ&/#ꢂꢀ+ꢋ1ꢀ#FFTGUU  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
&/#ꢂꢀ+ꢋ1ꢀ  
#FFTGUUꢀ/5ꢀ  
D[VG  
4ꢋ9  
$KVUꢀꢂꢆꢌꢇꢀQHꢀVJGꢀ+ꢋ1ꢀ#FFTGUUꢀHQTꢀ&/#ꢀ  
EJCPPGNꢀꢂꢄ  
6
ꢁꢐꢓꢅ &/#ꢄꢁ+ꢋ1ꢁ#  
ꢁ4  
ꢁ$ꢁꢈꢃꢃꢆ&*ꢉꢁ+#4ꢄ$  
$KV  
$KVꢋ(KGNF  
#NV'  
#NV%  
4GUGTXGF  
&/#ꢂꢀ+ꢋ1ꢀ*CPFUJCMGꢀ  
5GNGEV  
4ꢋ9  
4ꢋ9  
:
4ꢋ9  
:
0ꢋ#  
:
4ꢋ9  
4GUGV  
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
4ꢋ9  
#NV'  
6JKUꢀDKVꢀOWUVꢀDGꢀUGVꢀQPN[ꢀYJGPꢀDQVJꢀ  
&/#ꢀEJCPPGNUꢀCTGꢀRTQITCOOGFꢀHQTꢀ  
VJGꢀUCOGꢀ+ꢋ1ꢀUQWTEGꢀQTꢀ+ꢋ1ꢀFGUVKPCꢌ  
VKQPꢄꢀ+PꢀVJKUꢀECUGꢅꢀCꢀEJCPPGNꢀGPF  
EQPFKVKQPꢀꢐD[VGꢀEQWPVꢀKUꢀꢃꢑꢀQPꢀ  
EJCPPGNUGVUDKV#NV%ꢑꢅYJKEJVJGPꢀ  
GPCDNGUꢀEJCPPGNꢀꢂ UꢀTGSWGUVꢀCPFꢀ  
DNQEMUꢀEJCPPGNꢀꢃ Uꢄꢀ  
5KOKNCTN[ꢅꢀCꢀEJCPPGNꢀGPFꢀEQPFKVKQPꢀQPꢀ  
EJCPPGNꢀꢂꢀENGCTUꢀDKVꢀꢏꢀꢐ#NV%ꢑꢅꢀYJKEJꢀ  
VJGPꢀGPCDNGUꢀEJCPPGNꢀꢃ UꢀTGSWGUVꢀCPFꢀ  
DNQEMUꢀEJCPPGNꢀꢂ Uꢄꢀ+PꢀQTFGTꢀVQꢀWUGꢀ  
VJKUꢀHGCVWTGꢀYKVJꢀGZVGTPCNꢀTGSWGUVUꢅꢀ  
VJGꢀTGSWGUVꢀHTQOꢀVJGꢀFGXKEGꢀOWUVꢀDGꢀ  
TQWVGFꢀQTꢀEQPPGEVGFꢀVQꢀDQVJꢀVJGꢀ  
&4'3ꢃꢀCPFꢀ&4'3ꢂꢀRKPUꢄ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢊꢍ  
+ꢋ1 4  
&/#ꢀ4  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
#NV%  
4ꢋ9  
+HꢀDKVꢀꢍꢀꢐ#NV'ꢑꢀKUꢀꢃꢅꢀVJKUꢀDKVꢀJCUꢀPQꢀ  
GHHGEVꢄꢀ9JGPꢀDKVꢀꢍꢀꢐ#NV'ꢑꢀKUꢀꢂꢀCPFꢀVJKUꢀ  
DKVꢀKUꢀꢃꢅꢀVJGꢀ4GSWGUVꢀUKIPCNꢀUGNGEVGFꢀ  
D[ꢀDKVUꢀꢎꢌꢃꢀKUꢀPQVꢀRTGUGPVGFꢀVQꢀ  
EJCPPGNꢀꢂꢅꢀDWVꢀEJCPPGNꢀꢃꢖUꢀ4GSWGUVꢀ  
QRGTCVGUꢀPQTOCNN[ꢄꢀ  
9JGPꢀ#NV'ꢀKUꢀꢂꢀCPFꢀVJKUꢀDKVꢀKUꢀꢂꢅꢀVJGꢀ  
4GSWGUVꢀUGNGEVGFꢀD[ꢀ5#4ꢂꢇꢌꢂꢏꢀQTꢀ  
&#4ꢂꢇꢌꢂꢏꢀKUꢀPQVꢀRTGUGPVGFꢀVQꢀ  
EJCPPGNꢀꢃꢅꢀDWVꢀEJCPPGNꢀꢂꢖUꢀTGSWGUVꢀ  
QRGTCVGUꢀPQTOCNN[ꢄꢀ  
6JKUꢀDKVꢀECPꢀDGꢀYTKVVGPꢀD[ꢀUQHVYCTGꢅꢀ  
VQꢀUGNGEVꢀYJKEJꢀEJCPPGNꢀQRGTCVGUꢀ  
HKTUVꢅꢀDWVꢀVJKUꢀRTQEGUUꢀOWUVꢀDGꢀFQPGꢀ  
QPN[ꢀYJGPꢀDQVJꢀEJCPPGNUꢀCTGꢀ  
UVQRRGFꢀꢐDQVJꢀ&'ꢂꢀCPFꢀ&'ꢃꢀCTGꢀꢃꢑꢄ  
ꢎꢌꢃ  
&/#ꢂꢀ+ꢋ1ꢀ  
*CPFUJCMGꢀ  
5GNGEV  
4ꢋ9  
+HꢀDKVꢀ&+/ꢂꢀKPꢀVJGꢀ&%06.ꢀTGIKUVGTꢀKUꢀꢂꢅꢀ  
KPFKECVKPIꢀCPꢀ+ꢋ1ꢀUQWTEGꢅꢀVJGUGꢀDKVUꢀ  
UGNGEVꢀYJKEJꢀUQWTEGꢀJCPFUJCMGꢀ  
UKIPCNꢀEQPVTQNUꢀVJGꢀVTCPUHGTꢅꢀCUꢀ  
HQNNQYUꢈ  
ꢃꢃꢃ &4'3ꢂꢀRKP  
ꢃꢃꢂ #5%+ꢃꢀ4&4(  
ꢃꢂꢃ #5%+ꢂꢀ4&4(  
ꢃꢂꢂ 4GUGTXGFꢅꢀFQꢀPQVꢀRTQITCO  
ꢂꢃꢃ 5+1ꢀ#ꢀ4Z  
ꢂꢃꢂ 5+1ꢀ$ꢀ4Z  
ꢂꢂꢃ 2+1ꢀ#ꢀ+P  
ꢂꢂꢂ 2+1ꢀ$ꢀ+P  
+Hꢀ&+/ꢂꢀKUꢀꢃꢅꢀKPFKECVKPIꢀCPꢀ+ꢋ1ꢀFGUVKPCꢌ  
VKQPꢅꢀVJGUGꢀDKVUꢀUGNGEVꢀYJKEJꢀFGUVKPCꢌ  
VKQPꢀJCPFUJCMGꢀUKIPCNꢀEQPVTQNUꢀVJGꢀ  
VTCPUHGTꢅꢀCUꢀHQNNQYUꢈ  
ꢃꢃꢃ &4'3ꢂꢀRKP  
ꢃꢃꢂ #5%+ꢃꢀ6&4'  
ꢃꢂꢃ #5%+ꢂꢀ6&4'  
ꢃꢂꢂ 4GUGTXGFꢅꢀFQꢀPQVꢀRTQITCO  
ꢂꢃꢃ 5+1ꢀ#ꢀ6Z  
ꢂꢃꢂ 5+1ꢀ$ꢀ6Z  
ꢂꢂꢃ 2+1ꢀ#ꢀ1WV  
ꢂꢂꢂ 2+1ꢀ$ꢀ1WV  
ꢂꢊꢇ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
&/#ꢀ4  
+ꢋ1 4  
6
ꢁꢑꢃꢅ &/#ꢄꢁ$  
ꢁ%  
ꢁ4  
ꢁ. ꢁꢈꢃꢃꢆ'*ꢉꢁ$%4ꢄ.  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
.5ꢀD[VGꢀQHꢀ&/#ꢂꢀ$[VGꢀ%QWPV  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
&/#ꢂꢀ$[VGꢀ 4ꢋ9  
%QWPVꢀ.5ꢀ  
D[VG  
.5ꢀD[VGꢀQHꢀVJGꢀ$[VGꢀ%QWPVꢀHQTꢀ&/#ꢀ  
EJCPPGNꢀꢂꢄ  
6
ꢁꢑꢄꢅ &/#ꢄꢁ$  
ꢁ%  
ꢁ4  
ꢁ* ꢁꢈꢃꢃꢆ(*ꢉꢁ$%4ꢄ*  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
/5ꢀD[VGꢀQHꢀ&/#ꢂꢀ$[VGꢀ%QWPV  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
&/#ꢂꢀ$[VGꢀ 4ꢋ9  
%QWPVꢀ/5ꢀ  
D[VG  
/5ꢀD[VGꢀQHꢀVJGꢀ$[VGꢀ%QWPVꢀHQTꢀ&/#ꢀ  
EJCPPGNꢀꢂꢄ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢊꢁ  
+ꢋ1 4  
&/#ꢀ4  
6
ꢁꢑꢆꢅ &/#ꢁ5  
ꢁ4  
ꢁꢈꢃꢃꢌꢃ*ꢉꢁ&56#6  
$KV  
$KVꢋ(KGNF  
&'ꢂ  
&'ꢃ  
&9'ꢂ &9'ꢃ &+'ꢂ  
&+'ꢃ 4GUGTX &/'  
GF  
4ꢋ9  
4ꢋ9  
4ꢋ9  
9
:
9
:
4ꢋ9  
4ꢋ9  
0ꢋ#  
:
4ꢋ9  
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
&'ꢂ  
4ꢋ9  
4ꢋ9  
9
&/#ꢀEJCPPGNꢀꢂꢀGPCDNGꢄꢀ6JKUꢀDKVꢀECPꢀ  
QPN[ꢀDGꢀYTKVVGPꢀYJGPꢀ&9'ꢂꢀKUꢀꢃꢀKPꢀCꢀ  
YTKVGꢀQRGTCVKQPꢄꢀ&/#ꢀEJCPPGNꢀꢂꢀ  
ENGCTUꢀVJKUꢀDKVꢀYJGPꢀKVꢀEQWPVUꢀKVUꢀD[VGꢀ  
EQWPVꢀFQYPꢀVQꢀꢃꢄ  
&'ꢃ  
&/#ꢀEJCPPGNꢀꢃꢀGPCDNGꢄꢀ6JKUꢀDKVꢀECPꢀ  
QPN[ꢀDGꢀYTKVVGPꢀYJGPꢀ&9'ꢃꢀKUꢀꢃꢀKPꢀCꢀ  
YTKVGꢀQRGTCVKQPꢄꢀ&/#ꢀEJCPPGNꢀꢃꢀ  
ENGCTUꢀVJKUꢀDKVꢀYJGPꢀKVꢀEQWPVUꢀKVUꢀD[VGꢀ  
EQWPVꢀFQYPꢀVQꢀꢃꢄ  
ꢆꢌꢉ  
&9'ꢂꢌꢃ  
9TKVKPIꢀCꢀꢃꢀVQꢀQPGꢀQHꢀVJGUGꢀDKVUꢀOCMGUꢀ  
VJGꢀ<ꢇꢃ5ꢂꢇꢇ ECRVWTGꢀVJGꢀXCNWGꢀQHꢀVJGꢀ  
EQTTGURQPFKPIꢀ&'ꢀDKVꢄ  
9TKVKPIꢀCꢀꢂꢀVQꢀQPGꢀQHꢀVJGUGꢀDKVUꢀFQGUꢀ  
PQVꢀCHHGEVꢀVJGꢀUVCVGꢀQHꢀVJGꢀEQTTGꢌ  
URQPFKPIꢀ&/#ꢀEJCPPGNꢄꢀ6JGUGꢀDKVUꢀ  
CNYC[UꢀTGCFꢀCUꢀꢂꢂꢄ  
ꢊꢌꢎ  
&+'ꢂꢌꢃ  
&/'  
4ꢋ9  
4
+PVGTTWRVꢀGPCDNGꢀHQTꢀ&/#ꢀEJCPPGNUꢀꢂꢌ  
ꢃꢄꢀ+HꢀQPGꢀQHꢀVJGUGꢀDKVUꢀKUꢀꢂꢅꢀVJCVꢀ&/#ꢀ  
EJCPPGNꢀKPVGTTWRVUꢀYJGPꢀKVꢀFGETGꢌ  
OGPVUꢀKVUꢀD[VGꢀEQWPVꢀVQꢀꢃꢄ  
1RGTCVKQPUꢀQHꢀDQVJꢀ&/#ꢀEJCPPGNUꢀ  
CTGꢀFKUCDNGFꢄꢀ4GUGVꢀCPFꢀCꢀ0QPꢌ  
/CUMCDNGꢀKPVGTTWRVꢀDQVJꢀENGCTꢀVJKUꢀDKVꢄ  
1RGTCVKQPꢀQHꢀCꢀ&/#ꢀEJCPPGNꢀVJCVꢀJCUꢀ  
KVUꢀ&'ꢀDKVꢀꢂꢀKUꢀGPCDNGFꢄꢀ6JKUꢀDKVꢀKUꢀUGVꢀ  
YJGPꢀCꢀꢂꢀKUꢀYTKVVGPꢀVQꢀCꢀ&'ꢀDKVꢅꢀCPFꢀCꢀ  
ꢃꢀKUꢀYTKVVGPꢀVQꢀVJGꢀEQTTGURQPFKPIꢀ  
&9'ꢀDKVꢀKPꢀVJGꢀUCOGꢀYTKVGꢀQRGTCVKQPꢄ  
ꢂꢉꢃ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
&/#ꢀ4  
+ꢋ1 4  
6
ꢁꢑꢌꢅ &/#ꢁ/  
ꢁ4  
ꢁꢈꢃꢃꢌꢄ*ꢉꢁ&/1&'  
$KV  
$KVꢋ(KGNF  
4GUGTXGF  
&/#ꢃꢀ&GUVꢀ  
/QFG  
&/#ꢃꢀ5QWTEGꢀ //1& 4GUGTX  
/QFG  
GF  
4ꢋ9  
!
4ꢋ9  
4ꢋ9  
4ꢋ9  
!
4GUGV  
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢆꢌꢉ  
&/#ꢃꢀ&GUVꢀ 4ꢋ9  
/QFG  
6JKUꢀHKGNFꢀEQPVTQNUꢀQRGTCVKQPꢀQHꢀVJGꢀ  
FGUVKPCVKQPꢀUKFGꢀQHꢀ&/#ꢀEJCPPGNꢀꢃꢈ  
/GOQT[ꢀYTKVGꢅꢀCFFTGUUꢀKPETGOGPV  
ꢃꢃ /GOQT[ꢀYTKVGꢅꢀCFFTGUUꢀFGETGOGPV  
ꢃꢂ /GOQT[ꢀꢐQTꢀOGOQT[ꢀOCRRGFꢀ+ꢋ1ꢑꢀ  
ꢂꢃ YTKVGꢅꢀHKZGFꢀCFFTGUU  
+ꢋ1ꢀYTKVGꢅꢀHKZGFꢀCFFTGUU  
ꢂꢂ  
ꢊꢌꢎ  
&/#ꢃꢀ  
5QWTEGꢀ  
/QFG  
4ꢋ9  
4ꢋ9  
6JKUꢀHKGNFꢀEQPVTQNUꢀQRGTCVKQPꢀQHꢀVJGꢀ  
UQWTEGꢀUKFGꢀQHꢀ&/#ꢀEJCPPGNꢀꢃꢈ  
ꢃꢃ /GOQT[ꢀTGCFꢅꢀCFFTGUUꢀKPETGOGPV  
ꢃꢂ /GOQT[ꢀTGCFꢅꢀCFFTGUUꢀFGETGOGPV  
ꢂꢃ /GOQT[ꢀꢐQTꢀOGOQT[ꢀOCRRGFꢀ+ꢋ1ꢑꢀ  
TGCFꢅꢀHKZGFꢀCFFTGUU  
ꢂꢂ +ꢋ1ꢀTGCFꢅꢀHKZGFꢀCFFTGUU  
//1&  
9JGPꢀVJGꢀ5QWTEGꢀCPFꢀ&GUVꢀ/QFGꢀ  
HKGNFUꢀCDQXGꢀCTGꢀDQVJꢀꢃZꢅꢀKPFKECVKPIꢀ  
OGOQT[ꢀVQꢀOGOQT[ꢀQRGTCVKQPꢅꢀPQꢀ  
FGXKEGꢀTGSWGUVꢀꢐHQTꢀGZCORNGꢅꢀ&4'3ꢃꢑꢀ  
EQPVTQNUꢀFCVCꢀVTCPUHGTꢀQPꢀ&/#ꢀ  
EJCPPGNꢀꢃꢄꢀ+PꢀVJKUꢀECUGꢅꢀVJKUꢀDKVꢀUGNGEVUꢀ  
DGVYGGPꢀVYQꢀOQFGUꢈ  
%[ENGꢁ5VGCNꢁOQFGꢊꢀVJGꢀ&/#ꢐUꢑꢀCPFꢀ  
RTQEGUUQTꢀCNVGTPCVGꢀDWUꢀE[ENGUꢄ  
$WTUVꢁOQFGꢊꢀ&/#ꢃꢀWUGUꢀVJGꢀDWUꢀ  
EQPVKPWQWUN[ꢀVQꢀEQORNGVGꢀVJGꢀDNQEMꢀ  
VTCPUHGTꢄ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢉꢂ  
+ꢋ1 4  
&/#ꢀ4  
6
ꢁꢑꢎꢅ &/#ꢋ9 ꢁ%  
ꢁ4  
ꢁꢈꢃꢃꢌꢆ*ꢉꢁ&%06.  
$KV  
$KVꢋ(KGNF /GOQT[ꢀ9CKVU  
+ꢋ1ꢀ9CKVU  
4GSWGUVꢀ5GPUGꢀ &/#ꢂꢀ/QFG  
ꢂꢌꢃ  
4ꢋ9  
4GUGV  
0
4ꢋ9  
4ꢋ9  
4ꢋ9  
4ꢋ9  
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢏ  
ꢆꢌꢉ  
ꢊꢌꢎ  
/GOQT[ꢀ  
9CKVU  
4ꢋ9  
4ꢋ9  
4ꢋ9  
6JKUꢀHKGNFꢀEQPVTQNUꢀJQYꢀOCP[ꢀYCKVꢀ  
UVCVGUꢀCTGꢀKPLGEVGFꢀKPVQꢀ&/#ꢀCPFꢀ  
RTQEGUUQTꢀOGOQT[ꢀE[ENGUꢈ  
ꢃꢃ 0QPG  
ꢃꢂ 1PG  
ꢂꢃ 6YQ  
ꢂꢂ 6JTGG  
+ꢋ1ꢀ9CKVU  
6JKUꢀHKGNFꢀEQPVTQNUꢀJQYꢀOCP[ꢀYCKVꢀ  
UVCVGUꢀCTGꢀKPLGEVGFꢀKPVQꢀ&/#ꢀCPFꢀ  
RTQEGUUQTꢀ+ꢋ1ꢀE[ENGUꢈ  
ꢃꢃ 0QPG  
ꢃꢂ 1PG  
ꢂꢃ 6YQ  
ꢂꢂ 6JTGG  
4GSWGUVꢀ  
5GPUGꢀꢂꢌꢃ  
'CEJꢀQHꢀVJGUGꢀDKVUꢀEQPVTQNUꢀJQYꢀVJGꢀ  
EQTTGURQPFKPIꢀ&/#ꢀEJCPPGNꢀ  
UCORNGUꢀKVUꢀ4GSWGUVꢀUKIPCNꢀꢐGZEGRVꢀ  
YJGPꢀ&/#ꢀꢃ Uꢀ5QWTEGꢀCPFꢀ&GUVꢀ  
/QFGꢀHKGNFUꢀCTGꢀDQVJꢀꢃZꢑ  
.GXGNꢁUGPUGꢊꢀVJGꢀ&/#ꢀUCORNGUꢀKVUꢀ  
4GSWGUVꢀCICKPꢀFWTKPIꢀVJGꢀꢎPFꢀE[ENGꢀ  
HQTꢀGCEJꢀD[VG  
'FIGꢁUGPUGꢊꢁCPQVJGTꢀHCNNKPIꢀGFIGꢀKUꢀ  
PGGFGFꢀQPꢀVJGꢀ4GSWGUVꢀNKPGꢀDGHQTGꢀ  
VJGꢀ&/#ꢀEJCPPGNꢀVTCPUHGTUꢀCPQVJGTꢀ  
D[VG  
5GGꢀUGEVKQPꢀ 'FIGꢌꢀXUꢄꢀ.GXGNꢌ5GPUKꢌ  
VKXGꢀ4GSWGUVU ꢅꢀQPꢀRCIGꢀꢆꢇꢅꢀHQTꢀ  
VKOKPIꢀQHꢀDQVJꢀECUGUꢄ  
ꢂꢌꢃ  
&/#ꢂꢀ  
/QFG  
4ꢋ9  
6JKUꢀHKGNFꢀEQPVTQNUꢀVJGꢀFKTGEVKQPꢀQHꢀ  
DQVJꢀVTCPUHGTꢀCPFꢀCFFTGUUꢀUVGRRKPIꢀ  
QPꢀ&/#ꢀEJCPPGNꢀꢂꢈ  
ꢃꢃ +PETGOGPVKPIꢀ/GOQT[ꢀCFFTUꢀVQꢀ+ꢋ1  
ꢃꢂ &GETGOGPVKPIꢀ/GOQT[ꢀCFFTUꢀVQꢀ+ꢋ1  
ꢂꢃ +ꢋ1ꢀVQꢀKPETGOGPVKPIꢀ/GOQT[ꢀCFFTU  
ꢂꢂ +ꢋ1ꢀVQꢀFGETGOGPVKPIꢀ/GOQT[ꢀCFFTU  
ꢂꢉꢎ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
9
ꢌ& ꢀ6  
ꢀ4  
+ꢋ1 4  
9#6%*ꢀ&1)ꢁ6+/'4ꢁ4')+56'45  
See section “Watch-Dog Timer”, on page 63, for more about these registers.  
6
ꢁꢑꢏꢅ 9  
ꢀ& ꢁ6  
ꢁ/  
ꢁ4  
ꢁꢈ (ꢃꢁ ꢁꢃꢃ(ꢃ*ꢉꢁ9&6/4  
$KV  
$KVꢋ(KGNF 'PCDNG 2GTKQFꢀ5GNGEV  
4GUGTXGF  
4ꢋ9  
4GUGV  
0
4ꢋ9  
4ꢋ9  
:
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
9&6ꢀ'PCDNG 4ꢋ9  
9TKVKPIꢀ$ꢂ*ꢀVQꢀVJGꢀ9&6ꢀ%QOOCPFꢀ  
TGIKUVGTꢀFKUCDNGUꢀVJGꢀ9&6  
6JGꢀ9&6ꢀECPPQVꢀDGꢀFKUCDNGFꢄ  
ꢏꢌꢆ  
2GTKQFꢀ  
5GNGEV  
4ꢋ9  
6JGꢀHKGNFꢀUGNGEVUꢀJQYꢀNQPIꢀUQHVYCTGꢀ  
ECPꢀNGCXGꢀVJGꢀ9CVEJꢌ&QIꢀ6KOGTꢀWPCVꢌ  
VGPFGFꢅꢀDGHQTGꢀKVꢀFTKXGUꢀ9&6176ꢀ  
.QYꢈ  
ꢀꢐꢀꢏꢆꢅꢆꢊꢏꢑꢀ2*+ꢀENQEMU  
ꢀꢐꢀꢎꢏꢎꢅꢂꢉꢉꢑꢀ2*+ꢀENQEMU  
ꢀꢐꢂꢅꢃꢉꢇꢅꢆꢍꢏꢑꢀ2*+ꢀENQEMU  
ꢀꢐꢉꢅꢂꢁꢉꢅꢊꢃꢉꢑꢀ2*+ꢀENQEMU  
ꢃꢃ  
ꢃꢂ  
ꢂꢃ  
ꢂꢂ  
6
ꢁꢑꢐꢅ 9  
ꢀ& ꢁ6  
ꢁ%  
ꢁ4  
ꢁꢈ (ꢄꢁ ꢁꢃꢃ(ꢄ*ꢉꢁ9&6%4  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
9&6ꢀ%QOOCPF  
9
4GUGV  
PꢋC  
PꢋC  
PꢋC  
PꢋC  
PꢋC  
PꢋC  
PꢋC  
PꢋC  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
9&6ꢀ  
%QOOCPF  
9
5QHVYCTGꢀECPꢀYTKVGꢀVJGꢀHQNNQYKPIꢀ  
XCNWGUꢀVQꢀVJKUꢀTGIKUVGTꢅꢀVQꢀCHHGEVꢀVJGꢀ  
UVCVWUꢀQHꢀVJGꢀ9&6ꢀCPFꢀ<ꢇꢃ5ꢂꢇꢇꢈ  
4GNQCFUꢋ4GUVCTVUꢀ9&6  
ꢉ'* &KUCDNGUꢀ9&6ꢀKHꢀ9&6/4ꢀDKVꢀꢍꢀKUꢀꢃ  
$ꢂ*  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢉꢊ  
+ꢋ1 4  
%
ꢋ6  
ꢀꢐ%6%ꢑꢀ4  
%1706'4ꢋ6+/'4ꢁꢈ%6%ꢉꢁ4')+56'45  
See section “Counter/Timer Channels (CTCs)”, on page 63, for more about these  
registers.  
6
ꢁꢑꢑꢅ %6%ꢃꢁꢈ &ꢃꢁ ꢁꢃꢃ&ꢃ*ꢉꢁ%6%ꢃ  
$KV  
$KVꢋ(KGNF  
4GCFꢈꢀXCNWGꢀQHꢀ%6%ꢃꢀFQYPꢌEQWPVGT  
9TKVGꢈꢀ+PVGTTWRVꢀ8GEVQTꢀQTꢀ%JCPPGNꢀ%QPVTQNꢀQTꢀ6KOGꢀ%QPUVCPV  
4ꢋ9  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
ꢂꢉꢉ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
%
ꢋ6  
ꢀꢐ%6%ꢑꢀ4  
+ꢋ1 4  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9  
8CNWG  
&GUETKRVKQP  
ꢍꢌꢃ %6%ꢃ  
4ꢋ9  
4GCFKPIꢀVJKUꢀCFFTGUUꢀTGVWTPUꢀVJGꢀ  
XCNWGꢀQHꢀEJCPPGNꢀꢃ UꢀFQYPꢌEQWPVGTꢄ  
9TKVKPIꢀCPꢀGXGPꢀXCNWGꢀUGVUꢀDKVUꢀꢍꢌꢊꢀQHꢀ  
XXXXXZZꢃ VJGꢀKPVGTTWRVꢀXGEVQTꢀHQTꢀCNNꢀHQWTꢀEJCPꢌ  
PGNUꢄ  
9TKVKPIꢀCPꢀQFFꢀXCNWGꢀNQCFUꢀCꢀ  
GERWVHTꢂ %JCPPGNꢀ%QPVTQNꢀYQTFꢅꢀKPꢀYJKEJꢈ  
$KVꢁꢑꢀGPCDNGUꢀꢐꢂꢑꢀQTꢀFKUCDNGUꢀꢐꢃꢑꢀKPVGTꢌ  
TWRVUꢀHTQOꢀVJKUꢀEJCPPGNꢄ  
$KVꢁꢐꢀUGNGEVUꢀ%QWPVGTꢀꢐꢂꢑꢀQTꢀ6KOGTꢀꢐꢃꢑꢀ  
OQFGꢄ  
+Pꢀ6KOGTꢀOQFGꢅꢀDKVꢁꢏꢀUGNGEVUꢀYJGVJGTꢀ  
VJGꢀRTGUECNGTꢀFKXKFGUꢀ2*+ꢀD[ꢀꢎꢆꢏꢀꢐꢂꢑꢀ  
QTꢀꢂꢏꢀꢐꢃꢑꢄ  
$KVꢁꢎꢀUGNGEVUꢀTKUKPIꢀꢐꢂꢑꢀQTꢀHCNNKPIꢀꢐꢃꢑꢀ  
GFIGUꢀQPꢀ%.-ꢋ64)ꢃꢀVQꢀFGETGOGPVꢀ  
VJGꢀFQYPꢌEQWPVGTꢀKPꢀ%QWPVGTꢀOQFGꢅꢀ  
QTꢀVQꢀVTKIIGTꢀFQYPꢌEQWPVKPIꢀKPꢀ6KOGTꢀ  
OQFGꢀYKVJꢀDKVꢀꢊꢀUGVꢄꢀ  
+Pꢀ6KOGTꢀOQFGꢅꢀDKVꢁꢌꢀEQPVTQNUꢀ  
YJGVJGTꢀVJGꢀEJCPPGNꢀUVCTVUꢀFQYPꢌ  
EQWPVKPIꢀKOOGFKCVGN[ꢀCHVGTꢀUQHVYCTGꢀ  
NQCFUꢀVJGꢀ6KOGꢀ%QPUVCPVꢀꢐꢃꢑꢅꢀQTꢀYCKVUꢀ  
HQTꢀVJGꢀGFIGꢀUGNGEVGFꢀD[ꢀDKVꢀꢉꢅꢀQPꢀ  
%.-ꢋ64)ꢃꢅꢀDGHQTGꢀEQWPVKPIꢀFQYPꢀ  
ꢐꢂꢑꢄ  
9TKVKPIꢀCꢀꢂꢀVQꢀDKVꢁꢆꢀKPFKECVGUꢀVJCVꢀVJGꢀ  
EJCPPGNꢀNQCFUꢀVJGꢀPGZVꢀD[VGꢀYTKVVGPꢀ  
VQꢀVJKUꢀCFFTGUUꢅꢀKPVQꢀKVUꢀ6KOGꢀ  
%QPUVCPVꢀTGIKUVGTꢄꢀ+HꢀVJGꢀEJCPPGNꢀKUꢀ  
UVQRRGFꢅꢀQTꢀDKVꢀꢂꢀKUꢀꢂꢅꢀVJGꢀXCNWGꢀKUꢀ  
CNUQꢀNQCFGFꢀKPVQꢀKVUꢀFQYPꢌEQWPVGTꢄ  
9TKVKPIꢀCꢀꢂꢀVQꢀDKVꢁꢄꢀUVQRUꢀVJGꢀEJCPPGNꢀ  
KHꢀKVꢀJCUꢀDGGPꢀTWPPKPIꢅꢀCPFꢀTGUGVUꢀKVꢀKPꢀ  
CP[ꢀECUGꢄꢀ+HꢀDKVUꢀꢎꢌꢂꢀCTGꢀꢂꢂꢅꢀVJGꢀ  
EJCPPGNꢀKUꢀTGꢌGPCDNGFꢀCHVGTꢀUQHVYCTGꢀ  
YTKVGUꢀVJGꢀPGYꢀ6KOGꢀ%QPUVCPVꢄ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢉꢆ  
+ꢋ1 4  
%
ꢋ6  
ꢀꢐ%6%ꢑꢀ4  
6
ꢁꢑꢂꢅ %6%ꢄꢁꢈ &ꢄꢁ ꢁꢃꢃ&ꢄ*ꢉꢁ%6%ꢄ  
$KV  
$KVꢋ(KGNF  
4GCFꢈꢀXCNWGꢀQHꢀ%6%ꢂꢀFQYPꢌEQWPVGT  
9TKVGꢈꢀ%JCPPGNꢀ%QPVTQNꢀQTꢀ6KOGꢀ%QPUVCPV  
4ꢋ9  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
 This address operates as described for CTC0 above, except:  
1. Software cannot write an interrupt vector to this address, and  
2. The pin associated with CTC1 is CLK/TRG1  
6
ꢁꢑꢓꢅ %6%ꢆꢁꢈ &ꢆꢁ ꢁꢃꢃ&ꢆ*ꢉꢁ%6%ꢆ  
$KV  
$KVꢋ(KGNF  
4GCFꢈꢀXCNWGꢀQHꢀ%6%ꢎꢀFQYPꢌEQWPVGT  
9TKVGꢈꢀ%JCPPGNꢀ%QPVTQNꢀQTꢀ6KOGꢀ%QPUVCPV  
4ꢋ9  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
0
 This address operates as described for CTC0 above, except:  
1. Software cannot write an interrupt vector to this address, and  
2. The pin associated with CTC2 is CLK/TRG2  
6
ꢁꢂꢃꢅ %6%ꢌꢁꢈ &ꢌꢁ ꢁꢃꢃ&ꢌ*ꢉꢁ%6%ꢌ  
$KV  
$KVꢋ(KGNF  
4GCFꢈꢀXCNWGꢀQHꢀ%6%ꢊꢀFQYPꢌEQWPVGT  
9TKVGꢈꢀ%JCPPGNꢀ%QPVTQNꢀQTꢀ6KOGꢀ%QPUVCPV  
4ꢋ9  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
0
 This address operates as described for CTC0 above, except:  
1. Software cannot write an interrupt vector to this address, and  
2. The pin associated with CTC3 is CLK/TRG3  
ꢂꢉꢏ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
2
ꢀ4  
ꢀ6  
ꢀꢐ246ꢑꢀ4  
+ꢋ1 4  
241)4#//#$.'ꢁ4'.1#&ꢁ6+/'4ꢁꢈ246ꢉꢁ4')+56'45  
See section “Programmable Reload Timers (PRTs)”, on page 70, for more about  
these registers.  
6
ꢁꢂꢄꢅ 246ꢃꢁ6  
ꢁ&  
ꢁ4  
ꢁ. ꢁꢈꢃꢃꢃ%*ꢉꢁ6/&4ꢃ.  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
.5ꢀ$[VGꢀQHꢀ246ꢃꢀ%QWPVGT  
4ꢋ9  
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
.5ꢀ$[VGꢀQHꢀ  
246ꢃꢀ  
4ꢋ9  
6JGꢀ.5ꢀꢇꢀDKVUꢀQHꢀ246ꢃ UꢀFQYPꢌ  
EQWPVGTꢄ  
%QWPVGT  
6
ꢁꢂꢆꢅ 246ꢃꢁ6  
ꢁ&  
ꢁ4  
ꢁ* ꢁꢈꢃꢃꢃ&*ꢉꢁ6/&4ꢃ*  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
/5ꢀ$[VGꢀQHꢀ246ꢃꢀ%QWPVGT  
4ꢋ9  
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
/5ꢀ$[VGꢀQHꢀ 4ꢋ9  
246ꢃꢀ  
6JGꢀ/5ꢀꢇꢀDKVUꢀQHꢀ246ꢃ UꢀFQYPꢌ  
EQWPVGTꢄ  
%QWPVGT  
6
ꢁꢂꢌꢅ 246ꢃꢁ4  
ꢁ4  
ꢁ. ꢁꢈꢃꢃꢃ'*ꢉꢁ4.&4ꢃ.  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
.5ꢀ$[VGꢀQHꢀ246ꢃꢀ4GNQCFꢀ8CNWG  
4ꢋ9  
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢉꢍ  
+ꢋ1 4  
2
ꢀ4  
ꢀ6  
ꢀꢐ246ꢑꢀ4  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
.5ꢀ$[VGꢀQHꢀ  
4ꢋ9  
6JGꢀ.5ꢀꢇꢀDKVUꢀQHꢀVJGꢀXCNWGꢀVJCVꢀKUꢀ  
NQCFGFꢀKPVQꢀ246ꢃ UꢀFQYPꢌEQWPVGTꢅꢀ  
YJGPꢀKVꢀKUꢀFGETGOGPVGFꢀVQꢀꢃꢄ  
246ꢃꢀ  
4GNQCFꢀ  
8CNWG  
6
ꢁꢂꢎꢅ 246ꢃꢁ4  
ꢁ4  
ꢁ* ꢁꢈꢃꢃꢃ(*ꢉꢁ4.&4ꢃ*  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
/5ꢀ$[VGꢀQHꢀ246ꢃꢀ4GNQCFꢀ8CNWG  
4ꢋ9  
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
/5ꢀ$[VGꢀQHꢀ 4ꢋ9  
6JGꢀ/5ꢀꢇꢀDKVUꢀQHꢀVJGꢀXCNWGꢀVJCVꢀKUꢀ  
NQCFGFꢀKPVQꢀ246ꢃ UꢀFQYPꢌEQWPVGTꢅꢀ  
YJGPꢀKVꢀKUꢀFGETGOGPVGFꢀVQꢀꢃꢄ  
246ꢃꢀ  
4GNQCFꢀ  
8CNWG  
6
ꢁꢂꢏꢅ 6  
ꢁ%  
ꢁ4  
ꢁꢈꢃꢃꢄꢃ*ꢉꢁ6%4  
$KV  
6+(ꢃ  
4
$KVꢋ(KGNF  
4ꢋ9  
6+(ꢂ  
4
6+'ꢂ  
4ꢋ9  
6+'ꢃ  
4ꢋ9  
61%  
!
6&'ꢂ 6&'ꢃ  
4ꢋ9  
4ꢋ9  
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢏ  
6+(ꢂꢅꢃ  
4
1PGꢀQHꢀVJGUGꢀUVCVWUꢀDKVUꢀKUꢀUGVꢀYJGPꢀCꢀ  
246ꢀFGETGOGPVUꢀKVUꢀFQYPꢌEQWPVGTꢀVQꢀ  
ꢃꢄꢀ+VꢀKUꢀENGCTGFꢀYJGPꢀUQHVYCTGꢀJCUꢀ  
TGCFꢀVJKUꢀTGIKUVGTꢀCPFꢀGKVJGTꢀD[VGꢀQHꢀ  
VJGꢀ6/&4ꢄ  
ꢆꢌꢉ  
6+'ꢂꢅꢃ  
4ꢋ9  
+HꢀQPGꢀQHꢀVJGUGꢀDKVUꢀKUꢀꢂꢅꢀVJGꢀ246ꢀ  
TGSWGUVUꢀCPꢀKPVGTTWRVꢀYJGPꢀKVUꢀFQYPꢌ  
EQWPVGTꢀJCUꢀEQWPVGFꢀFQYPꢀVQꢀꢃꢅꢀCPFꢀ  
KVꢀJCUꢀUGVꢀKVUꢀ6+(ꢀDKVꢄ  
ꢂꢉꢇ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
2
ꢀ4  
ꢀ6  
ꢀꢐ246ꢑꢀ4  
+ꢋ1 4  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢊꢌꢎ  
ꢂꢌꢃ  
61%  
4ꢋ9  
4ꢋ9  
6JKUꢀHKGNFꢀEQPVTQNUꢀYJCVꢀJCRRGPUꢀQPꢀ  
VJGꢀ6176ꢀRKPꢀYJGPꢀ246ꢂꢀEQWPVUꢀ  
FQYPꢀVQꢀꢃꢈ  
ꢃꢃ 0QꢀEJCPIG  
ꢃꢂ 6176ꢀKUꢀVQIINGF  
ꢂꢃ 6176ꢀIQGUꢀ.QY  
ꢂꢂ 6176ꢀIQGUꢀ*KIJ  
6&'ꢂꢅꢃ  
6JGꢀEQTTGURQPFKPIꢀ246ꢀKUꢀUVQRRGFꢄ  
6JGꢀEQTTGURQPFKPIꢀ246ꢀKUꢀTWPPKPIꢄ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢉꢁ  
+ꢋ1 4  
2
ꢀ4  
ꢀ6  
ꢀꢐ246ꢑꢀ4  
6
ꢁꢂꢐꢅ 6  
ꢁ2  
ꢁ4  
ꢁꢈꢃꢃꢄꢄ*ꢉꢁ624  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
246ꢂꢀ2TGUECNGꢀ5GNGEV  
4ꢋ9  
246ꢃꢀ2TGUECNGꢀ5GNGEV  
4ꢋ9  
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢉꢅꢀꢊꢌꢃ 246ꢂꢌꢃꢀ  
2TGUECNGꢀ  
4ꢋ9  
6JGUGꢀHKGNFUꢀUGNGEVꢀVJGꢀFQYPꢀEQWPVGTꢀ  
ENQEMꢀHQTꢀ246ꢂꢀCPFꢀ246ꢃꢀTGURGEVKXGN[ꢈ  
2*+  
5GNGEV  
ꢃꢃꢃꢃ 2*+ꢋꢎ  
ꢃꢃꢃꢂ 2*+ꢋꢉ  
ꢃꢃꢂꢃ 2*+ꢋꢇ  
ꢃꢃꢂꢂ 2*+ꢋꢂꢏ  
ꢃꢂꢃꢃ 2*+ꢋꢊꢎ  
ꢃꢂꢃꢂ 2*+ꢋꢏꢉ  
ꢃꢂꢃꢃ 2*+ꢋꢂꢎꢇ  
ꢃꢂꢂꢂ 2*+ꢋꢎꢆꢏ  
ꢂꢃꢃꢃ 2*+ꢋꢆꢂꢎ  
ꢂꢃꢃꢂ 2*+ꢋꢂꢃꢎꢉ  
ꢂꢃꢂꢃ 2*+ꢋꢎꢃꢉꢇ  
ꢂꢃꢂꢂ 2*+ꢋꢉꢃꢁꢏ  
ꢂꢂꢃꢃ 2*+ꢋꢇꢂꢁꢎ  
ꢂꢂꢃꢂ 2*+ꢋꢂꢏꢊꢇꢉ  
ꢂꢂꢂꢃ 2*+ꢋꢎꢃꢀꢐ&GHCWNVꢀCHVGTꢀ4GUGVꢑ  
ꢂꢂꢂꢂ  
6
ꢁꢂꢑꢅ 246ꢄꢁ6  
ꢁ&  
ꢁ4  
ꢁ. ꢁꢈꢃꢃꢄꢎ*ꢉꢁ6/&4ꢄ.  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
.5ꢀ$[VGꢀQHꢀ246ꢂꢀ%QWPVGT  
4ꢋ9  
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
.5ꢀ$[VGꢀQHꢀ  
246ꢂꢀ  
4ꢋ9  
6JGꢀ.5ꢀꢇꢀDKVUꢀQHꢀ246ꢂ UꢀFQYPꢌ  
EQWPVGTꢄ  
%QWPVGT  
ꢂꢆꢃ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
2
ꢀ4  
ꢀ6  
ꢀꢐ246ꢑꢀ4  
+ꢋ1 4  
6
ꢁꢂꢂꢅ 246ꢄꢁ6  
ꢁ&  
ꢁ4  
ꢁ* ꢁꢈꢃꢃꢄꢏ*ꢉꢁ6/&4ꢄ*  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
/5ꢀ$[VGꢀQHꢀ246ꢂꢀ%QWPVGT  
4ꢋ9  
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
/5ꢀ$[VGꢀQHꢀ 4ꢋ9  
246ꢂꢀ  
6JGꢀ/5ꢀꢇꢀDKVUꢀQHꢀ246ꢂ UꢀFQYPꢌ  
EQWPVGTꢄ  
%QWPVGT  
6
ꢁꢂꢓꢅ 246ꢄꢁ4  
ꢁ4  
ꢁ. ꢁꢈꢃꢃꢄꢐ*ꢉꢁ4.&4ꢄ.  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
.5ꢀ$[VGꢀQHꢀ246ꢂꢀ4GNQCFꢀ8CNWG  
4ꢋ9  
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
.5ꢀ$[VGꢀQHꢀ  
4ꢋ9  
6JGꢀ.5ꢀꢇꢀDKVUꢀQHꢀVJGꢀXCNWGꢀVJCVꢀKUꢀ  
NQCFGFꢀKPVQꢀ246ꢂ UꢀFQYPꢌEQWPVGTꢅꢀ  
YJGPꢀKVꢀKUꢀFGETGOGPVGFꢀVQꢀꢃꢄ  
246ꢂꢀ  
4GNQCFꢀ  
8CNWG  
6
ꢁꢓꢃꢅ 246ꢄꢁ4  
ꢁ4  
ꢁ* ꢁꢈꢃꢃꢄ*ꢑꢉꢁ4.&4ꢄ*  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
/5ꢀ$[VGꢀQHꢀ246ꢂꢀ4GNQCFꢀ8CNWG  
4ꢋ9  
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
/5ꢀ$[VGꢀQHꢀ 4ꢋ9  
6JGꢀ/5ꢀꢇꢀDKVUꢀQHꢀVJGꢀXCNWGꢀVJCVꢀKUꢀ  
NQCFGFꢀKPVQꢀ246ꢂ UꢀFQYPꢌEQWPVGTꢅꢀ  
YJGPꢀKVꢀKUꢀFGETGOGPVGFꢀVQꢀꢃꢄ  
246ꢂꢀ  
4GNQCFꢀ  
8CNWG  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢆꢂ  
+ꢋ1 4  
5
ꢀ+ꢋ1ꢀꢐ5+1ꢑꢀ4  
5'4+#.ꢁ+ꢋ1ꢁꢈ5+1ꢉꢁ4')+56'45  
See section “Serial I/O Channels (SIOs)”, on page 72, for more about these regis-  
ters.  
6
ꢁꢓꢄꢅ 5+1ꢁ#ꢁ&  
ꢁꢈ &ꢂꢁ ꢁꢃꢃ&ꢂ*ꢉꢁ5+1#&  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
9TKVGꢈꢀ6ZꢀEJCTCEVGTꢅꢀ4GCFꢈꢀ4ZꢀEJCTCEVGT  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
&CVC  
4ꢋ9  
#ꢀEJCTCEVGTꢀVQꢀDGꢀVTCPUOKVVGFꢀECPꢀDGꢀ  
YTKVVGPꢀVQꢀVJKUꢀCFFTGUUꢅꢀQPN[ꢀYJGPꢀDKVꢀ  
ꢎꢀQHꢀ44ꢃꢀKUꢀꢂꢄꢀ+HꢀDKVUꢀꢏꢌꢆꢀQHꢀ94ꢆꢀ  
URGEKH[ꢀNGUUꢀVJCPꢀꢇꢀDKVUꢋEJCTCEVGTꢅꢀ  
QPN[ꢀVJGꢀ.5ꢀDKVUꢀQHꢀVJGꢀXCNWGꢀYTKVVGPꢀ  
KUꢀUGPVꢄ  
6JKUꢀCFFTGUUꢀKUꢀTGCFꢀQPN[ꢀYJGPꢀDKVꢀꢃꢀ  
QHꢀ44ꢃꢀKUꢀꢂꢅꢀKPꢀYJKEJꢀECUGꢀKVꢀTGVWTPUꢀ  
VJGꢀQNFGUVꢀCXCKNCDNGꢀTGEGKXGFꢀEJCTꢌ  
CEVGTꢄ  
6
ꢁꢓꢆꢅ 5+1ꢁ#ꢁ%  
ꢁꢈ &ꢓꢁ ꢁꢃꢃ&ꢓ*ꢉꢁ5+1#%  
$KV  
$KVꢋ(KGNF  
9TKVGꢈꢀ94ꢃꢅꢂꢅꢊꢌꢍꢀRGTꢀ94ꢃꢀDKVUꢀꢎꢌꢃꢅꢀ  
4GCFꢈꢀ44ꢃꢌꢂꢀRGTꢀ94ꢃꢀDKVUꢀꢎꢌꢃ  
4ꢋ9  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
ꢂꢆꢎ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
5
ꢀ+ꢋ1ꢀꢐ5+1ꢑꢀ4  
+ꢋ1 4  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
4ꢋ9  
ꢍꢌꢃ 94ꢀQTꢀ44  
9TKVKPIꢀVQꢀVJKUꢀCFFTGUUꢀNQCFUꢀVJGꢀ  
9TKVGꢀ4GIKUVGTꢀUGNGEVGFꢀD[ꢀDKVUꢀꢎꢌꢃꢀQHꢀ  
94ꢃꢅꢀYJKNGꢀTGCFKPIꢀHTQOꢀVJKUꢀ  
CFFTGUUꢀTGVWTPUꢀVJGꢀEQPVGPVUꢀQHꢀVJGꢀ  
4GCFꢀ4GIKUVGTꢀUGNGEVGFꢀD[ꢀDKVUꢀꢎꢌꢃꢀQHꢀ  
94ꢃꢄꢀ$KVUꢀꢎꢌꢃꢀQHꢀ94ꢃꢀCTGꢀENGCTGFꢀVQꢀ  
ꢃꢃꢃꢀD[ꢀTGUGVꢀCPFꢀCHVGTꢀCP[ꢀCEEGUUꢀVQꢀ  
VJKUꢀCFFTGUUꢀGZEGRVꢀCꢀYTKVGꢀVQꢀ94ꢃꢅꢀ  
UQꢀVJCVꢀGXGT[ꢀQVJGTꢀCEEGUUꢀVQꢀVJKUꢀ  
CFFTGUUꢀKUꢀVQꢀ94ꢃꢀQTꢀ44ꢃꢄꢀ6JGꢀ  
HQNNQYKPIꢀVCDNGUꢀFGUETKDGꢀVJGꢀ  
EQPVGPVUꢀQHꢀVJGꢀ9TKVGꢀCPFꢀ4GCFꢀ  
4GIKUVGTUꢄ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢆꢊ  
+ꢋ1 4  
5
ꢀ+ꢋ1ꢀꢐ5+1ꢑꢀ4  
6
ꢁꢓꢌꢅ 5+1ꢁ94ꢃꢁꢈ9  
&ꢓꢍꢁꢃꢃ&ꢓꢍꢁ &$ꢍꢁ ꢁꢃꢃ&$*ꢁ  
ꢁ94ꢃꢁꢆꢀ  
ꢃꢒꢃꢃꢃꢉ  
$KV  
$KVꢋ(KGNF  
%4%ꢋ'1/ꢀ  
EQOOCPF  
%QOOCPF  
4GIKUVGTꢀCFFTGUU  
4ꢋ9  
9
9
9
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢏ  
%4%ꢋ'1/ꢀ  
EQOOCPF  
9
ꢃꢃ 0WNNꢀEQOOCPF  
ꢃꢂ 4GUGVꢀ4Zꢀ%4%ꢀ%JGEMGT  
ꢂꢃ 4GUGVꢀ6Zꢀ%4%ꢀ)GPGTCVQT  
ꢂꢂ 4GUGVꢀ6Zꢀ7PFGTTWPꢋ'1/ꢀNCVEJ  
ꢆꢌꢊ  
%QOOCPF  
9
ꢃꢃꢃ 0WNNꢀEQOOCPF  
ꢃꢃꢂ 5GPFꢀ#DQTV  
ꢃꢂꢃ 4GUGVꢀ'ZVGTPCNꢋ5VCVWUꢀ+PVGTTWRVU  
ꢃꢂꢂ %JCPPGNꢀ4GUGV  
ꢂꢃꢃ 'PCDNGꢀ+PVGTTWRVꢀQPꢀ0GZVꢀ4Zꢀ%JCTꢌ  
ꢂꢃꢂ CEVGT  
ꢂꢂꢃ 4GUGVꢀ6Zꢀ+PVGTTWRVꢀ2GPFKPI  
ꢂꢂꢂ 'TTQTꢀ4GUGV  
4GVWTPꢀ(TQOꢀ+PVGTTWRVꢀꢐUQHVYCTGꢀ  
4'6+ꢑ  
ꢎꢌꢃ  
4GIKUVGTꢀ  
#FFTGUU  
9
ꢃꢃꢃ 94ꢃꢀQTꢀ44ꢃ  
ꢃꢃꢂ 94ꢂꢀQTꢀ44ꢂ  
ꢃꢂꢃ 94ꢎꢀQTꢀ44ꢎꢀꢐDQVJꢀKPꢀEJCPPGNꢀ$ꢀQPN[ꢑ  
ꢃꢂꢂ 94ꢊꢀꢐ4Zꢀ%QPVTQNꢑ  
ꢂꢃꢃ 94ꢉꢀꢐ%JCPPGNꢀ%QPVTQNꢑ  
ꢂꢃꢂ 94ꢆꢀꢐ6Zꢀ%QPVTQNꢑ  
ꢂꢂꢃ 94ꢏꢀꢐ5[PEꢀQTꢀ#FFTGUUꢑ  
ꢂꢂꢂ 94ꢍꢀꢐ5[PEꢀQTꢀ(NCIꢑ  
0
ꢊꢁ$KVUꢀꢎꢌꢃꢀCTGꢀENGCTGFꢀVQꢀꢃꢃꢃꢀCHVGTꢀCP[ꢀCEEGUUꢀVQꢀVJKUꢀCFFTGUUꢀQVJGTꢀVJCPꢀCꢀYTKVGꢀ  
VQꢀ94ꢃꢅꢀUQꢀVJCVꢀVJGꢀPGZVꢀCEEGUUꢀKUꢀVQꢀ94ꢃꢀQTꢀ44ꢃꢄ  
ꢂꢆꢉ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
5
ꢀ+ꢋ1ꢀꢐ5+1ꢑꢀ4  
+ꢋ1 4  
6
ꢁꢓꢎꢅ 5+1ꢁ94ꢄꢁꢈ9  
&ꢓꢍꢁꢃꢃ&ꢓꢍꢁ &$ꢍꢁ ꢁꢃꢃ&$*ꢁ  
ꢁ94ꢃꢁꢆꢀ  
ꢃꢒꢃꢃꢄꢉ  
$KV  
$KVꢋ(KGNF  
9#+6ꢋ4&;ꢀHWPEVKQP  
4ZꢀKPVGTTWRVꢀ 5VCVWUꢀ 6Zꢀ+' 'ZVGTPC  
OQFG  
#HHGEVUꢀ  
8GEVQT  
Nꢋ5VCVWUꢀ  
+'  
4ꢋ9  
9
9
9
9
9
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢆ  
9#+6ꢋ4&;ꢀ  
HWPEVKQP  
9
ꢃꢃZ 9#+6ꢋ4&;ꢀRKPꢀKUꢀPQVꢀFTKXGP  
ꢃꢂZ 9#+6ꢋ4&;ꢀRKPꢀKUꢀ*KIJ  
ꢂꢃꢃ .ꢒ6ZꢀPQVꢀHWNNꢅꢀ*ꢒ6ZꢀHWNN  
ꢂꢃꢂ .ꢒ4ZꢀFCVCꢀCXCKNCDNGꢅꢀ*ꢒ4ZꢀGORV[  
ꢂꢂꢃ .ꢀFWTKPIꢀYTKVGꢀVQꢀ&CVCꢀCFFTGUUꢒ6Zꢀ  
HWNNꢅ  
ꢂꢂꢂ PQVꢀFTKXGPꢀꢒꢀPQꢀYTKVGꢀQTꢀ6ZꢀPQVꢀHWNN  
.ꢀFWTKPIꢀTGCFꢀHꢋ&CVCꢀCFFTGUUꢒ4Zꢀ  
GORV[ꢅ  
PQVꢀFTKXGPꢀꢒꢀPQꢀTGCFꢀQTꢀ4ZꢀCXCKNCDNG  
ꢉꢌꢊ  
4ZꢀKPVGTTWRVꢀ  
OQFG  
9
9
ꢃꢃ 4ZꢀKPVGTTWRVUꢀFKUCDNGF  
ꢃꢂ 1PꢀHKTUVꢀEJCTCEVGT  
ꢂꢃ #NNꢀEJCTCEVGTUꢅꢀ2CTKV[ꢀ'TTQTꢀKUꢀ5RGEKCN  
ꢂꢂ #NNꢀEJCTCEVGTUꢅꢀ2CTKV[ꢀ'TTQTꢀPQVꢀ5RGEKCN  
5VCVWUꢀ  
#HHGEVUꢀ  
8GEVQT  
ꢐEJCPPGNꢀ$ꢀ  
QPN[ꢑ  
%JCPPGNꢀTGVWTPUꢀXCNWGꢀKPꢀEJꢀ$ꢀ44ꢎꢀHQTꢀ  
CNNꢀKPVGTTWRVU  
%JCPPGNꢀTGVWTPUꢀDKVUꢀꢍꢌꢉꢀCPFꢀꢃꢀHTQOꢀ  
EJꢀ$ꢀ44ꢎꢅꢀDKVUꢀꢊꢌꢂꢀKPFKECVGꢀJKIJGUVꢀ  
RTKQTKV[ꢀKPVGTTWRVꢄ  
6Zꢀ+'  
9
9
6TCPUOKVꢀ+PVGTTWRVꢀGPCDNG  
'ZVGTPCNꢋ  
5VCVWUꢀ+'  
'ZVGTPCNꢋ5VCVWUꢀ+PVGTTWRVꢀGPCDNG  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢆꢆ  
+ꢋ1 4  
5
ꢀ+ꢋ1ꢀꢐ5+1ꢑꢀ4  
6
ꢁꢓꢏꢅ 5+1ꢁ94ꢌꢁꢈ9  
&ꢓꢍꢁꢃꢃ&ꢓꢍꢁ &$ꢍꢁ ꢁꢃꢃ&$*ꢁ  
ꢁ94ꢃꢁꢆꢀ  
ꢃꢒꢃꢄꢄꢉ  
$KV  
$KVꢋ  
(KGNF  
4Zꢀ$KVUꢋ  
%JCTCEVGT  
#WVQꢀ *WPVꢀ 4Zꢀ%4% *&.%ꢀ 5VTKRꢀ  
4Zꢀ  
'PCDNG /QFG  
U
#FFT  
5[PE 'PCDNG  
4ꢋ9  
9
9
9
9
9
9
9
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢏ  
4Zꢀ$KVUꢋ  
%JCTCEVGT  
9
9
9
ꢃꢃ ꢆꢀFCVCꢀDKVUꢋEJCTCEVGT  
ꢃꢂ ꢏꢀFCVCꢀDKVUꢋEJCTCEVGT  
ꢂꢃ ꢍꢀFCVCꢀDKVUꢋEJCTCEVGT  
ꢂꢂ ꢇꢀFCVCꢀDKVUꢋEJCTCEVGT  
#WVQꢀ  
'PCDNGU  
5VCVGꢀQHꢀ&%&ꢀCPFꢀ%65ꢀRKPUꢀECPꢀDGꢀTGCFꢀ  
KPꢀ44ꢃꢅꢀDWVꢀFQꢀPQVꢀCHHGEVꢀVJGꢀEJCPPGNꢄ  
&%&ꢀ.QYꢀGPCDNGUꢀVJGꢀ4GEGKXGTꢅꢀCPF  
%65ꢀ.QYꢀGPCDNGUꢀVJGꢀ6TCPUOKVVGTꢄ  
*WPVꢀ/QFG  
4Zꢀ%4%  
+Pꢀ5[PEJTQPQWUꢀOQFGUꢅꢀYTKVKPIꢀCꢀꢂꢀVQꢀ  
VJKUꢀDKVꢀUGVUꢀDKVꢀꢉꢀKPꢀ44ꢃꢀCPFꢀHQTEGUꢀVJGꢀ  
4GEGKXGTꢀKPVQꢀ*WPVꢀOQFGꢅꢀKPꢀYJKEJꢀKVꢀ  
UGCTEJGUꢀHQTꢀVJGꢀ5[PEꢀQTꢀ(NCIꢀRCVVGTPꢀKPꢀ  
94ꢍꢀꢐCPFꢀ94ꢏꢀKPꢀ$KU[PEꢀOQFGꢑꢄ  
9
+Pꢀ%NCUUKEꢀ5[PEꢀTGEGRVKQPꢅꢀUQHVYCTGꢀECPꢀ  
UGVꢀQTꢀENGCTꢀVJKUꢀDKVꢀVQꢀKPENWFGꢀꢐꢂꢑꢀQTꢀ  
GZENWFGꢀꢐꢃꢑꢀGCEJꢀTGEGKXGFꢀEJCTCEVGTꢀ  
HTQOꢀVJGꢀ%4%ꢀEJGEMKPIꢀHQTꢀVJGꢀ  
OGUUCIGꢄꢀ+PꢀVJGUGꢀOQFGUꢅꢀVJGꢀTGEGKXGTꢀ  
KPENWFGUꢀCPꢀGZVTCꢀꢇꢌDKVꢀFGNC[ꢀDGVYGGPꢀ  
YJGPꢀGCEJꢀEJCTCEVGTꢀKUꢀRNCEGFꢀKPꢀVJGꢀ  
4Zꢀ(+(1ꢅꢀCPFꢀYJGPꢀKVꢀYQWNFꢀUVCTVꢀDGKPIꢀ  
UJKHVGFꢀKPVQꢀVJGꢀ4Zꢀ%4%ꢀEJGEMGTꢄꢀ6JKUꢀ  
OGCPUꢀVJCVꢀUQHVYCTGꢀJCUꢀWRꢀVQꢀꢇꢀDKVꢀ  
VKOGUꢅꢀHTQOꢀYJGPꢀGCEJꢀEJCTCEVGTꢀKUꢀ  
RNCEGFꢀKPꢀVJGꢀ4Zꢀ(+(1ꢅꢀVQꢀUGVꢀQTꢀENGCTꢀ  
VJKUꢀDKVꢀHQTꢀVJGꢀEJCTCEVGTꢄꢀ+Pꢀ*&.%ꢋ5&.%ꢀ  
OQFGꢀVJKUꢀDKVꢀKUꢀꢂꢀDGECWUGꢀCNNꢀEJCTCEꢌ  
VGTUꢀKPꢀGCEJꢀHTCOGꢀCTGꢀKPENWFGFꢀKPꢀVJGꢀ  
%4%ꢄ  
*&.%ꢀ  
CFFTGUU  
9
+HꢀVJKUꢀDKVꢀKUꢀꢂꢀKPꢀ*&.%ꢋ5&.%ꢀOQFGꢅꢀVJGꢀ  
TGEGKXGTꢀOCVEJGUꢀVJGꢀHKTUVꢀEJCTCEVGTꢀQHꢀ  
GCEJꢀTGEGKXGFꢀHTCOGꢀCICKPUVꢀVJGꢀEJCTꢌ  
CEVGTꢀKPꢀ94ꢏꢅꢀCPFꢀFKUECTFUꢋKIPQTGUꢀ  
HTCOGUꢀVJCVꢀFQꢀPQVꢀOCVEJꢄ  
ꢂꢆꢏ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
5
ꢀ+ꢋ1ꢀꢐ5+1ꢑꢀ4  
+ꢋ1 4  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
5VTKRꢀ5[PE  
9
+HꢀVJKUꢀDKVꢀKUꢀꢂꢀKPꢀ%NCUUKEꢀ5[PEꢀOQFGUꢅꢀ  
5[PEꢀEJCTCEVGTUꢀCTGꢀPQVꢀRNCEGFꢀKPꢀVJGꢀ  
4Zꢀ(+(1ꢄꢀ6JKUꢀDKVꢀKUꢀꢂꢀQPN[ꢀCVꢀVJGꢀUVCTVꢀQHꢀ  
CꢀOGUUCIGꢅꢀDGECWUGꢀUQHVYCTGꢀPGGFUꢀVQꢀ  
FGVGEVꢀGODGFFGFꢀ5[PEUꢀUQꢀVJCVꢀKVꢀECPꢀ  
GZENWFGꢀVJGOꢀHTQOꢀVJGꢀ%4%ꢄ  
4Zꢀ'PCDNG  
9
#ꢀꢂꢀKPꢀVJKUꢀDKVꢀGPCDNGUꢀVJGꢀTGEGKXGTꢄꢀ6JKUꢀ  
DKVꢀOWUVꢀUGVꢀQPN[ꢀCHVGTꢀCNNꢀQVJGTꢀ4Zꢀ  
EQPVTQNꢀDKVUꢀJCXGꢀDGGPꢀKPKVKCNK\GFꢅꢀ  
YJKEJꢀOGCPUꢀVJCVꢀ94ꢊꢀPGGFUꢀVQꢀDGꢀ  
YTKVVGPꢀVYKEGꢀFWTKPIꢀFGXKEGꢀ  
KPKVKCNK\CVKQPꢄ  
6
ꢁꢓꢐꢅ 5+1ꢁ94ꢎꢁꢈ9  
&ꢓꢍꢁꢃꢃ&ꢓꢍꢁ &$ꢍꢁ ꢁꢃꢃ&$*ꢁ  
ꢁ94ꢃꢁꢆꢀ  
ꢃꢒꢄꢃꢃꢉ  
$KV  
$KVꢋ(KGNF  
%NQEMꢀ/QFG  
5[PEꢀ/QFG  
%JCPPGNꢀOQFG 2CTKV[ꢀ 2CTKV[ꢀ  
5GPUG 'PCDNG  
4ꢋ9  
9
9
9
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢏ  
%NQEMꢀ/QFG  
9
ꢃꢃ :ꢂꢀENQEMꢀꢐ5[PEꢀQTꢀKUQEJTQPQWUꢑ  
ꢃꢂ ꢋꢂꢏꢀENQEMꢀꢐ#U[PEꢑ  
ꢂꢃ ꢋꢊꢎꢀENQEMꢀꢐ#U[PEꢑ  
ꢂꢂ ꢋꢏꢉꢀENQEMꢀꢐ#U[PEꢑ  
ꢆꢌꢉ  
5[PEꢀ/QFG  
9
9JGPDKVUꢌꢎCTGꢃꢅVJKUHKGNFUGNGEVUꢀ  
VJGꢀ5[PEJTQPQWUꢀRTQVQEQNꢈ  
ꢃꢃ ꢇꢌDKVꢀ5[PEꢀꢐOQPQU[PEꢑ  
ꢃꢂ ꢂꢏꢌDKVꢀ5[PEꢀꢐ$KU[PEꢑ  
ꢂꢃ *&.%ꢋ5&.%  
ꢂꢂ 'ZVGTPCNꢀ5[PE  
ꢊꢌꢎ  
%JCPPGNꢀ  
/QFG  
9
9
ꢃꢃ 5[PEJTQPQWUꢀOQFG  
ꢃꢂ #U[PEꢀYꢋꢀꢂꢀ5VQRꢀDKV  
ꢂꢃ #U[PEꢀYꢋꢀꢂꢄꢆꢀ5VQRꢀDKVU  
ꢂꢂ #U[PEꢀUꢋꢀꢎꢀ5VQRꢀDKVU  
2CTKV[ꢀ  
5GPUG  
+HꢀDKVꢀꢃꢀKUꢀꢂꢅꢀVJKUꢀDKVꢀUGNGEVUꢀDGVYGGPꢀ  
GXGPꢀꢐꢂꢑꢀQTꢀQFFꢀꢐꢃꢑꢀRCTKV[ꢀEJGEMKPIꢀ  
CPFꢀIGPGTCVKQPꢄ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢆꢍ  
+ꢋ1 4  
5
ꢀ+ꢋ1ꢀꢐ5+1ꢑꢀ4  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
2CTKV[ꢀ  
'PCDNG  
9
#ꢀꢂꢀKPꢀVJKUꢀDKVꢀOCMGUꢀVJGꢀVTCPUOKVVGTꢀ  
UGPFꢅꢀCPFꢀVJGꢀTGEGKXGTꢀUCORNGꢀCPFꢀ  
EJGEMꢅꢀCꢀRCTKV[ꢀDKVꢀKPꢀGCEJꢀEJCTCEVGTꢅꢀ  
CHVGTꢀVJGꢀPWODGTꢀQHꢀFCVCꢀDKVUꢀUGNGEVGFꢀ  
KPꢀ94ꢆꢀCPFꢀ94ꢊꢀTGURGEVKXGN[ꢄ  
6
ꢑꢅ 5+194ꢏ  
&ꢓꢍꢃ&ꢓꢍꢁ &$ꢍꢁ ꢃ&$*ꢁ ꢋ94ꢃꢀꢃꢒꢄꢃꢄꢉ  
$KV  
$KVꢋ(KGNF  
&64  
6ZꢀDKVUꢋ  
EJCTCEVGT  
5GPFꢀ  
$TGCM 'PCDNG 5GNGEV  
6Zꢀ  
%4%ꢀ  
465 6Zꢀ%4%  
4ꢋ9  
9
9
9
9
9
9
9
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
&64  
9
6JKUꢀDKVꢀEQPVTQNUꢀVJGꢀEJCPPGN Uꢀ&64ꢀ  
RKPꢅꢀꢃꢀHQTꢀPGICVKQPꢋJKIJꢅꢀCPFꢀꢂꢀHQTꢀ  
CUUGTVKQPꢋNQYꢄ  
ꢏꢌꢆ  
6ZꢀDKVUꢋEJCTꢌ  
CEVGT  
9
ꢃꢃ ꢆꢀQTꢀNGUUꢀDKVUꢋ6ZꢀEJCTCEVGT  
ꢃꢂ ꢏꢀDKVUꢋ6ZꢀEJCTCEVGT  
ꢂꢃ ꢍꢀDKVUꢋ6ZꢀEJCTCEVGT  
ꢂꢂ ꢇꢀDKVUꢋ6ZꢀEJCTCEVGT  
5GPFꢀ$TGCM  
6Zꢀ'PCDNG  
9
9
#ꢀꢂꢀKPꢀVJKUꢀDKVꢀHQTEGUꢀVJGꢀ6Z&ꢀRKPꢀ.QYꢀ  
ꢐURCEGꢅꢀꢃꢑꢀVQꢀUGPFꢀCꢀ$TGCMꢀUGSWGPEGꢀ  
KPꢀ#U[PEꢀQTꢀKUQEJTQPQWUꢀOQFGꢄꢀ#ꢀꢃꢀ  
RWVUꢀ6Z&ꢀWPFGTꢀVJGꢀEQPVTQNꢀQHꢀVJGꢀ  
VTCPUOKVVGTꢄ  
#ꢀꢂꢀKPꢀVJKUꢀDKVꢀGPCDNGUꢀVJGꢀ6TCPUꢌ  
OKVVGTꢄꢀ6JKUꢀDKVꢀOWUVꢀDGꢀUGVꢀQPN[ꢀCHVGTꢀ  
CNNꢀQVJGTꢀ6ZꢀRCTCOGVGTUꢀJCXGꢀDGGPꢀ  
UGVꢀWRꢅꢀYJKEJꢀOGCPUꢀVJCVꢀ94ꢆꢀOWUVꢀ  
DGꢀYTKVVGPꢀVYKEGꢀFWTKPIꢀFGXKEGꢀKPKVKCNꢌ  
K\CVKQPꢄ  
%4%ꢀ5GNGEV  
465  
9
9
6ZꢀCPFꢀ4Zꢀ%4%ꢀWUGꢀ%%+66ꢀRQN[PQOKCNꢀ  
ꢐTGSWKTGFꢀKPꢀ*&.%ꢋ5&.%ꢀOQFGꢑ  
6ZꢀCPFꢀ4Zꢀ%4%ꢀWUGꢀ%4%ꢌꢂꢏꢀRQN[PQꢌ  
OKCNꢄ  
6JKUꢀDKVꢀEQPVTQNUꢀVJGꢀEJCPPGN Uꢀ465ꢀ  
RKPꢅꢀꢃꢀHQTꢀPGICVKQPꢋJKIJꢅꢀCPFꢀꢂꢀHQTꢀ  
CUUGTVKQPꢋNQYꢄ  
ꢂꢆꢇ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
5
ꢀ+ꢋ1ꢀꢐ5+1ꢑꢀ4  
+ꢋ1 4  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
6Zꢀ%4%  
9
+Pꢀ%NCUUKEꢀ5[PEꢀVTCPUOKUUKQPꢅꢀUQHVꢌ  
YCTGꢀECPꢀUGVꢀVJKUꢀDKVꢀYJGPꢀKVꢀFGVGEVUꢀ  
44ꢃꢀDKVꢀꢎꢀUGVꢀVQꢀUQNKEKVꢀCꢀPGYꢀ6ZꢀEJCTꢌ  
CEVGTꢅꢀVQꢀKPENWFGꢀꢐꢂꢑꢀQTꢀGZENWFGꢀꢐꢃꢑꢀVJGꢀ  
PGZVꢀEJCTCEVGTꢀKVꢀYTKVGUꢀVQꢀVJGꢀ&CVCꢀ  
CFFTGUUꢅꢀKPꢀ%4%ꢀIGPGTCVKQPꢀHQTꢀVJGꢀ  
OGUUCIGꢄꢀ6JKUꢀDKVꢀOWUVꢀTGOCKPꢀꢂꢀKPꢀ  
*&.%ꢋ5&.%ꢀOQFGꢅꢀDGECWUGꢀCNNꢀEJCTꢌ  
CEVGTUꢀKPꢀGCEJꢀHTCOGꢀCTGꢀKPENWFGFꢀKPꢀ  
VJGꢀ%4%ꢄ  
6
ꢁꢓꢂꢅ 5+1ꢁ94ꢐꢁꢈ9  
&ꢓꢍꢁꢃꢃ&ꢓꢍꢁ &$ꢍꢁ ꢁꢃꢃ&$*ꢁ  
ꢁ94ꢃꢁꢆꢀ  
ꢃꢒꢄꢄꢃꢉ  
$KV  
$KVꢋ(KGNF  
/QPQU[PEꢋ'ZVGTPCNꢈꢀ6Zꢀ5[PEꢅꢀ$KU[PEꢈꢀꢂUVꢀꢇꢀ5[PEꢀDKVUꢅꢀ*&.%ꢈꢀ  
CFFTGUU  
4ꢋ9  
9
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
5[PEꢀQTꢀ  
#FFTGUU  
9
+PꢀOQPQU[PEꢀQTꢀ'ZVGTPCNꢀ5[PEꢀOQFGꢅꢀ  
VJKUꢀTGIKUVGTꢀJQNFUꢀVJGꢀ6Zꢀ5[PEꢀEJCTꢌ  
CEVGTꢄꢀ+Pꢀ$KU[PEꢀOQFGꢅꢀKVꢀJQNFUꢀVJGꢀ  
HKTUVꢀꢇꢀDKVUꢀQHꢀVJGꢀ6Zꢋ4Zꢀ5[PEꢀRCVVGTPꢄꢀ  
+Pꢀ*&.%ꢋ5&.%ꢀOQFGꢀYKVJꢀ94ꢊꢀDKVꢀꢎꢀ  
UGVꢅꢀKVꢀJQNFUꢀVJGꢀCFFTGUUꢀD[VGꢀCICKPUVꢀ  
YJKEJꢀVJGꢀTGEGKXGTꢀOCVEJGUꢀVJGꢀHKTUVꢀ  
EJCTCEVGTꢀQHꢀGCEJꢀHTCOGꢄ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢆꢁ  
+ꢋ1 4  
5
ꢀ+ꢋ1ꢀꢐ5+1ꢑꢀ4  
6
ꢁꢓꢓꢅ 5+1ꢁ94ꢑꢁꢈ9  
&ꢓꢍꢁꢃꢃ&ꢓꢍꢁ &$ꢍꢁ ꢁꢃꢃ&$*ꢁ  
ꢁ94ꢃꢁꢆꢀ  
ꢃꢒꢄꢄꢄꢉ  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
/QPQU[PEꢈꢀ4Zꢀ5[PEꢅꢀ$KU[PEꢈꢀꢎPFꢀꢇꢀ5[PEꢀDKVUꢅꢀ*&.%ꢈꢀ(NCI  
9
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
5[PEꢀQTꢀ(NCI  
9
+PꢀOQPQU[PEꢀOQFGꢅꢀVJKUꢀTGIKUVGTꢀ  
JQNFUꢀVJGꢀ4Zꢀ5[PEꢀEJCTCEVGTꢄꢀ+Pꢀ  
$KU[PEꢀOQFGꢅꢀKVꢀJQNFUꢀVJGꢀNCUVꢀꢇꢀDKVUꢀ  
QHꢀVJGꢀ6Zꢋ4Zꢀ5[PEꢀRCVVGTPꢄꢀ+Pꢀ*&.%ꢋ  
5&.%ꢀOQFGꢀKVꢀOWUVꢀDGꢀYTKVVGPꢀYKVJꢀ  
VJGꢀ(NCIꢀRCVVGTPꢀꢃꢂꢂꢂꢂꢂꢂꢃꢄ  
6
ꢃꢃꢅ 5+144ꢃ  
  &ꢓꢍꢃ&ꢓꢍꢁ &$ꢍꢁ ꢃ&$*ꢁ  
94ꢃꢀꢃꢒꢃꢃꢃꢉ  
$KV  
$KVꢋ(KGNF $TGCMꢋ  
6Zꢀ  
%65  
5[PEꢋ  
*WPV  
&%&  
6Zꢀ  
+PVꢀ  
4Zꢀ  
#DQTV 7PFGT  
TWPꢋ  
'ORV[ 2GPFIꢀ #XCKN  
ꢐEJꢀ#ꢀ  
QPN[ꢑ  
'1/  
4ꢋ9  
4GUGV  
0
4
4
4
4
4
4
4
4
0ꢋ#  
0ꢋ#  
0ꢋ#  
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
ꢂꢏꢃ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
5
ꢀ+ꢋ1ꢀꢐ5+1ꢑꢀ4  
+ꢋ1 4  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
 $TGCMꢋ#DQTV  
4
+Pꢀ#U[PEꢀQTꢀKUQEJTQPQWUꢀOQFGꢅꢀVJGꢀ  
TGEGKXGTꢀUGVUꢀVJKUꢀDKVꢀYJGPꢀKVꢀFGVGEVUꢀCꢀ  
$TGCMꢀUGSWGPEGꢅꢀPCOGN[ꢀCPꢀCNNꢌꢃꢀEJCTꢌ  
CEVGTꢀYKVJꢀCꢀ(TCOKPIꢀ'TTQTꢄ  
+Pꢀ*&.%ꢋ5&.%ꢀOQFGꢀVJGꢀTGEGKXGTꢀUGVUꢀ  
VJKUꢀDKVꢀYJGPꢀKVꢀFGVGEVUꢀCPꢀ#DQTVꢀ  
UGSWGPEGꢅꢀUGXGPꢀQTꢀOQTGꢀEQPUGEWVKXGꢀ  
QPGUꢀYJGPꢀCꢀHTCOGꢀKUꢀKPꢀRTQITGUUꢄꢀ+Pꢀ  
GKVJGTꢀECUGꢅꢀKHꢀ'ZVGTPCNꢋ5VCVWUꢀKPVGTTWRVUꢀ  
CTGꢀGPCDNGFꢅꢀUGVVKPIꢀVJKUꢀDKVꢀTGUWNVUꢀKPꢀCPꢀ  
KPVGTTWRVꢄꢀ9JGPꢀVJKUꢀDKVꢀEJCPIGUꢀKPꢀGKVJGTꢀ  
FKTGEVKQPꢅꢀUQHVYCTGꢀWPNCVEJGUꢀKVꢀD[ꢀYTKVKPIꢀ  
Cꢀ4GUGVꢀ'ZVGTPCNꢋ5VCVWUꢀEQOOCPFꢀVQꢀ  
94ꢃꢄꢀ6JKUꢀCEVKQPꢀCNUQꢀGPCDNGUꢀVJGꢀ  
TGEGKXGTꢀVQꢀKPVGTTWRVꢀCICKPꢀYJGPꢀKVꢀENGCTUꢀ  
VJKUꢀDKVꢀDGECWUGꢀ4Z&ꢀTGVWTPUꢀVQꢀꢂꢀKPꢀ  
#5;0%ꢀOQFGꢀQTꢀꢃꢀKPꢀ*&.%ꢀOQFGꢄ  
6Zꢀ  
7PFGTTWPꢋ  
'1/  
4
6JKUꢀDKVꢀKUꢀUGVꢀD[ꢀTGUGVꢅꢀCPFꢀYJGPꢀCꢀ6Zꢀ  
WPFGTTWPꢀQEEWTUꢄꢀ+VꢀKUꢀENGCTGFꢀKHꢀUQHVYCTGꢀ  
YTKVGUꢀCꢀ4GUGVꢀ6Zꢀ7PFGTTWPꢋ'1/ꢀ  
EQOOCPFꢀVQꢀ94ꢃꢀDKVUꢀꢍꢌꢏꢄꢀ  
+Pꢀ5[PEJTQPQWUꢀOQFGUꢅꢀKHꢀVJKUꢀDKVꢀKUꢀꢂꢀ  
YJGPꢀVJGꢀVTCPUOKVVGTꢀWPFGTTWPUꢅꢀVJCVꢀKUꢅꢀ  
YJGPꢀKVꢀPGGFUꢀCꢀD[VGꢀVQꢀVTCPUOKVꢀDWVꢀ  
PGKVJGTꢀUQHVYCTGꢀPQTꢀCꢀ&/#ꢀEJCPPGNꢀJCUꢀ  
RTQXKFGFꢀQPGꢅꢀKVꢀUGPFUꢀCꢀENQUKPIꢀ5[PEꢀQTꢀ  
(NCIꢄꢀ6JKUꢀRTQEGUUꢀIGPGTCNN[ꢀꢐꢏꢆꢆꢊꢆꢀVKOGUꢀ  
QWVꢀQHꢀꢏꢆꢆꢊꢏꢑꢀECWUGUꢀCꢀTGEGKXGꢀ%4%ꢀGTTQTꢀ  
CVꢀVJGꢀTGOQVGꢀPQFGꢄꢀ+HꢀVJKUꢀDKVꢀKUꢀꢃꢀYJGPꢀ  
VJGꢀVTCPUOKVVGTꢀWPFGTTWPUꢅꢀKVꢀUGPFUꢀVJGꢀ  
CEEWOWNCVGFꢀ%4%ꢀHQNNQYGFꢀD[ꢀCꢀENQUKPIꢀ  
5[PEꢀQTꢀ(NCIꢄꢀ  
+Pꢀ*&.%ꢋ5&.%ꢀOQFGꢅꢀUQHVYCTGꢀECPꢀQXGTꢌ  
TKFGꢀVJGꢀUGPFKPIꢀQHꢀVJGꢀ%4%ꢀCPFꢀ(NCIꢅꢀKPꢀ  
ECUGꢀQHꢀCPꢀWPKPVGPVKQPCNꢀ7PFGTTWPꢅꢀD[ꢀ  
KUUWKPIꢀCꢀ5GPFꢀ#DQTVꢀEQOOCPFꢄꢀ9JGPꢀ  
UQHVYCTGFGVGEVUCꢌVQꢌꢂVTCPUKVKQPQHVJKUꢀ  
DKVꢅꢀKVꢀWPNCVEJGUꢀVJGꢀDKVꢀD[ꢀYTKVKPIꢀCꢀ4GUGVꢀ  
'ZVGTPCNꢋ5VCVWUꢀEQOOCPFꢀVQꢀ94ꢃꢄꢀ  
%65  
4
6JKUꢀDKVꢀTGHNGEVUꢀVJGꢀUVCVGꢀQHꢀVJGꢀEJCPPGN Uꢀ  
%65ꢀRKPꢅꢀYKVJꢀCꢀꢂꢀKPFKECVKPIꢀCPꢀCEVKXGꢋNQYꢀ  
UVCVGꢀCPFꢀꢃꢀKPFKECVKPIꢀKPCEVKXGꢋJKIJꢄꢀ  
9JGPꢀVJKUꢀDKVꢀEJCPIGUꢀKPꢀGKVJGTꢀFKTGEVKQPꢅꢀ  
UQHVYCTGꢀWPNCVEJGUꢀKVꢀD[ꢀYTKVKPIꢀCꢀ4GUGVꢀ  
'ZVGTPCNꢋ5VCVWUꢀEQOOCPFꢀVQꢀ94ꢃꢄꢀ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢏꢂ  
+ꢋ1 4  
5
ꢀ+ꢋ1ꢀꢐ5+1ꢑꢀ4  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
5[PEꢋ*WPV  
4
+Pꢀ#U[PEꢀQTꢀ'ZVGTPCNꢀ5[PEꢀOQFGꢅꢀVJKUꢀDKVꢀ  
TGHNGEVUꢀVJGꢀUVCVGꢀQHꢀVJGꢀEJCPPGN Uꢀ5;0%ꢀ  
RKPꢅꢀYKVJꢀCꢀꢂꢀKPFKECVKPIꢀCPꢀCEVKXGꢋNQYꢀ  
UVCVGꢀCPFꢀꢃꢀKPFKECVKPIꢀKPCEVKXGꢋJKIJꢄꢀ  
+Pꢀ%NCUUKEꢀ5[PEꢀQTꢀ*&.%ꢋ5&.%ꢀOQFGUꢅꢀ  
VJKUꢀDKVꢀKUꢀUGVꢀYJGPGXGTꢀVJGꢀTGEGKXGTꢀKUꢀ  
FKUCDNGFꢅꢀQTꢀYJGPꢀUQHVYCTGꢀYTKVGUꢀCꢀꢂꢀVQꢀ  
94ꢊꢀDKVꢀꢉꢅꢀCPFꢀKUꢀENGCTGFꢀYJGPꢀVJGꢀ  
TGEGKXGTꢀFGVGEVUꢀCꢀ5[PEꢀQTꢀ(NCIꢀRCVVGTPꢄꢀ  
9JGPꢀVJKUꢀDKVꢀEJCPIGUꢀKPꢀGKVJGTꢀFKTGEVKQPꢅꢀ  
UQHVYCTGꢀWPNCVEJGUꢀKVꢀD[ꢀYTKVKPIꢀCꢀ4GUGVꢀ  
'ZVGTPCNꢋ5VCVWUꢀEQOOCPFꢀVQꢀ94ꢃꢄ  
&%&  
4
6JKUꢀDKVꢀTGHNGEVUꢀVJGꢀUVCVGꢀQHꢀVJGꢀEJCPPGN Uꢀ  
&%&ꢀRKPꢅꢀYKVJꢀCꢀꢂꢀKPFKECVKPIꢀCPꢀCEVKXGꢋNQYꢀ  
UVCVGꢀCPFꢀꢃꢀKPFKECVKPIꢀKPCEVKXGꢋJKIJꢄꢀ  
9JGPꢀVJKUꢀDKVꢀEJCPIGUꢀKPꢀGKVJGTꢀFKTGEVKQPꢅꢀ  
UQHVYCTGꢀWPNCVEJGUꢀKVꢀD[ꢀYTKVKPIꢀCꢀ4GUGVꢀ  
'ZVGTPCNꢋ5VCVWUꢀEQOOCPFꢀVQꢀ94ꢃꢄꢀ  
6Zꢀ'ORV[  
4
4
4
6JKUꢀDKVꢀKUꢀꢂꢀYJGPꢀKVꢀKUꢀ1-ꢀVQꢀYTKVGꢀCꢀ  
VTCPUOKVꢀEJCTCEVGTꢀVQꢀVJGꢀEJCPPGN UꢀFCVCꢀ  
CFFTGUUꢄ  
+PVGTTWRVꢀ  
2GPFKPI  
6JKUꢀDKVꢀKUꢀꢂꢀKPꢀEJCPPGNꢀ#ꢅꢀKHꢀVJGTGꢀCTGꢀCP[ꢀ  
KPVGTTWRVKPIꢀEQPFKVKQPUꢀRGPFKPIꢀKPꢀGKVJGTꢀ  
EJCPPGNꢄꢀ6JKUꢀDKVꢀKUꢀCNYC[UꢀꢃꢀKPꢀEJCPPGNꢀ$ꢄ  
4Zꢀ  
#XCKNCDNG  
6JKUꢀDKVꢀKUꢀꢂꢀYJGPꢀVJGTGꢀKUꢋCTGꢀQPGꢀQTꢀ  
OQTGꢀTGEGKXGFꢀEJCTCEVGTUꢀCXCKNCDNGꢀVQꢀDGꢀ  
TGCFꢀHTQOꢀVJGꢀEJCPPGN UꢀFCVCꢀCFFTGUUꢄ  
6
ꢁꢄꢃꢄꢅ 5+1ꢁ44ꢄꢁꢈ4  
  &ꢓꢍꢁꢃꢃ&ꢓꢍꢁ &$ꢍꢁ ꢁꢃꢃ&$*ꢁ  
94ꢃꢁꢆꢀꢃꢒꢃꢃꢄꢉ  
$KV  
$KVꢋ  
(KGNF  
'1(  
%4%'ꢋ  
('  
4Zꢀ  
2CTKV[ꢀ *&.%ꢋ5&.%ꢀ4Zꢀ4GUKFWG  
#NNꢀ  
5GPV  
1XGTTW 'TTQT  
P
4ꢋ9  
4GUGV  
0
4
4
4
4
4
4
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
ꢂꢏꢎ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
5
ꢀ+ꢋ1ꢀꢐ5+1ꢑꢀ4  
+ꢋ1 4  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
*&.%ꢋ5&.%ꢀ  
'PFꢀQHꢀ  
(TCOG  
4
6JKUꢀDKVꢀKUꢀUGVꢀQPN[ꢀKPꢀ*&.%ꢋ5&.%ꢀ  
OQFGꢅꢀYJGPꢀCꢀENQUKPIꢀ(NCIꢀKUꢀ  
FGVGEVGFꢄꢀ+VꢀKUꢀENGCTGFꢀKHꢀUQHVYCTGꢀ  
YTKVGUꢀCPꢀ'TTQTꢀ4GUGVꢀEQOOCPFꢀVQꢀ  
94ꢃꢅꢀCPFꢀCNUQꢀYJGPꢀVJGꢀHKTUVꢀEJCTꢌ  
CEVGTꢀQHꢀVJGꢀPGZVꢀHTCOGꢀCTTKXGUꢄ  
%4%ꢋ  
(TCOKPIꢀ  
'TTQT  
4
+Pꢀ#U[PEꢀQTꢀKUQEJTQPQWUꢀOQFGꢅꢀVJKUꢀ  
DKVꢀKUꢀꢂꢀKHꢀCꢀEJCTCEVGTꢀKUꢀCXCKNCDNGꢀVQꢀDGꢀ  
TGCFꢀHTQOꢀVJGꢀEJCPPGN UꢀFCVCꢀ  
CFFTGUUꢅꢀKPꢀYJKEJꢀVJGꢀTGEGKXGTꢀ  
UCORNGFꢀVJGꢀ5VQRꢀDKVꢀCUꢀꢃꢋURCEGꢋ.QYꢄꢀ  
+Pꢀ*&.%ꢋ5&.%ꢀOQFGꢅꢀCꢀꢂꢀKPꢀVJKUꢀDKVꢀ  
KPFKECVGUꢀCꢀ%4%ꢀGTTQTꢀYJGPꢀCEEQORCꢌ  
PKGFꢀD[ꢀCꢀꢂꢀKPꢀDKVꢀꢍꢄ  
+Pꢀ%NCUUKEꢀ5[PEꢀOQFGUꢅꢀYJGPꢀUQHVꢌ  
YCTGꢀTGCFUꢀCꢀOGUUCIGꢌVGTOKPCVKPIꢀ  
EJCTCEVGTꢀHTQOꢀVJGꢀEJCPPGN UꢀFCVCꢀ  
CFFTGUUꢅꢀKHꢀVJGꢀ4ZꢀEJCTCEVGTꢀNGPIVJꢀKPꢀ  
94ꢊꢀKUꢀNGUUꢀVJCPꢀꢇꢀDKVUꢅꢀ94ꢊꢀKUꢀ  
YTKVVGPꢀVQꢀEJCPIGꢀKVꢀVQꢀꢇꢀDKVUꢋEJCTꢌ  
CEVGTꢄꢀ6JGPꢀUQHVYCTGꢀYCKVUꢀHQTꢀꢉꢀOQTGꢀ  
4Zꢀ#XCKNCDNGꢀHNCIUꢅꢀVJGꢀHKTUVꢀVYQꢀEJCTꢌ  
CEVGTUꢀQHꢀYJKEJꢀCTGꢀVJGꢀ%4%ꢄ  
ꢏꢀꢐEQPVꢄꢑ  
+Pꢀ%NCUUKEꢀ5[PEꢀOQFGUꢅꢀVJKUꢀDKVꢀXCNKFN[ꢀ  
TGHNGEVUꢀ%4%ꢀEQTTGEVPGUUꢀYJGPꢀ44ꢃꢀ  
DKVꢀꢃꢀKUꢀꢂꢀHQTꢀVJGꢀꢎPFꢀEJCTCEVGTꢀCHVGTꢀ  
VJGꢀNCUVꢀ%4%ꢀEJCTCEVGTꢄꢀ4GICTFNGUUꢀQHꢀ  
VJGꢀOQFGꢅꢀVJKUꢀDKVꢀECPꢀDGꢀENGCTGFꢀD[ꢀ  
YTKVKPIꢀCPꢀ'TTQTꢀ4GUGVꢀEQOOCPFꢀVQꢀ  
94ꢃꢅꢀDWVꢀVJGꢀDKVꢀKUꢀPQVꢀNCVEJGFꢀCPFꢀKUꢀ  
WRFCVGFꢀHQTꢀGCEJꢀTGEGKXGFꢀEJCTCEVGT  
4Zꢀ1XGTTWP  
4
+PꢀCP[ꢀOQFGꢅꢀVJGꢀTGEGKXGTꢀUGVUꢀVJKUꢀDKVꢀ  
KHꢀUQHVYCTGꢀQTꢀCꢀ&/#ꢀEJCPPGNꢀJCUꢀPQVꢀ  
TGCFꢀTGEGKXGFꢀEJCTCEVGTUꢀHTQOꢀVJGꢀ  
EJCPPGN UꢀFCVCꢀCFFTGUUꢀKPꢀCꢀVKOGN[ꢀ  
OCPPGTꢅꢀUQꢀVJCVꢀCPQVJGTꢀEJCTCEVGTꢀ  
CTTKXGUꢀYJGPꢀVJGꢀꢊꢌEJCTCEVGTꢀ4Zꢀ(+(1ꢀ  
KUꢀHWNNꢄꢀ6JKUꢀDKVꢀKUꢀUGVꢀYJGPꢀVJGꢀEJCTꢌ  
CEVGTꢀVJCVꢀQXGTYTQVGꢀKVUꢀRTGFGEGUUQTꢀ  
EQOGUꢀVQꢀVJGꢀVQRꢀQHꢀVJGꢀ4Zꢀ(+(1ꢅꢀCPFꢀ  
TGOCKPUꢀUGVꢀWPVKNꢀKVꢀKUꢀENGCTGFꢀD[ꢀCPꢀ  
'TTQTꢀ4GUGVꢀEQOOCPFꢀYTKVVGPꢀVQꢀ  
94ꢃꢄ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢏꢊ  
+ꢋ1 4  
5
ꢀ+ꢋ1ꢀꢐ5+1ꢑꢀ4  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
2CTKV[ꢀ'TTQT  
4
+HꢀDKVꢀꢃꢀQHꢀ94ꢉꢀKUꢀꢂꢅꢀVJGꢀTGEGKXGTꢀUGVUꢀ  
VJKUꢀDKVꢀYJGPꢀCꢀEJCTCEVGTꢀYKVJꢀRCTKV[ꢀ  
FKHHGTGPVꢀHTQOꢀVJGꢀUGPUGꢀFGHKPGFꢀD[ꢀ  
94ꢉꢀDKVꢀꢂꢅꢀEQOGUꢀVQꢀVJGꢀVQRꢀQHꢀVJGꢀ4Zꢀ  
(+(1ꢄꢀ9JGPꢀUGVꢅꢀVJKUꢀDKVꢀTGOCKPUꢀꢂꢀ  
WPVKNꢀKVꢀKUꢀENGCTGFꢀD[ꢀCPꢀ'TTQTꢀ4GUGVꢀ  
EQOOCPFꢀYTKVVGPꢀVQꢀ94ꢃꢄ  
ꢊꢌꢂ  
*&.%ꢋ5&.%ꢀ  
4Zꢀ4GUKFWG  
4
+Pꢀ*&.%ꢋ5&.%ꢀOQFGꢅꢀYJGPꢀDKVꢀꢍꢀQHꢀ  
VJKUꢀTGIKUVGTꢀKUꢀꢂꢅꢀVJGUGꢀDKVUꢀKPFKECVGꢀ  
VJGꢀPWODGTꢀCPFꢀRNCEGOGPVꢀQHꢀVJGꢀ  
HKPCNꢀFCVCꢀDKVUꢀCPFꢀ%4%ꢅꢀKPꢀVJGꢀNCUVꢀꢊꢀ  
QTꢀꢉꢀEJCTCEVGTUꢀQHꢀVJGꢀHTCOGꢄꢀ6JGꢀ  
OGCPKPIꢀQHꢀVJKUꢀXCNWGꢀFGRGPFUꢀQPꢀ  
VJGꢀPWODGTꢀQHꢀDKVUꢀRGTꢀEJCTCEVGTꢅꢀCPFꢀ  
KUꢀKNNWUVTCVGFꢀKPꢀ(KIWTGUꢀꢂꢇꢀVJTQWIJꢀꢎꢂꢄ  
#NNꢀ5GPV  
4
+Pꢀ#U[PEꢀCPFꢀKUQEJTQPQWUꢀOQFGUꢅꢀ  
VJKUꢀDKVꢀKUꢀꢂꢀYJGPꢀCNNꢀEJCTCEVGTUꢀ  
YTKVVGPꢀVQꢀVJGꢀEJCPPGN UꢀFCVCꢀCFFTGUUꢀ  
JCXGꢀDGGPꢀUGPVꢄ  
ꢂꢏꢉ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
5
ꢀ+ꢋ1ꢀꢐ5+1ꢑꢀ4  
+ꢋ1 4  
6
ꢁꢄꢃꢆꢅ 5+1ꢁ$ꢁ&  
ꢁꢈ &#ꢁ ꢁꢃꢃ&#*ꢉꢁ5+1$&  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
9TKVGꢈꢀ6ZꢀEJCTCEVGTꢅꢀ4GCFꢈꢀ4ZꢀEJCTCEVGT  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
0
 This address operates as described for SIO A Data above, except that it  
deals with transmit data to be sent on the TxDB pin, and received data from the  
RxDB pin.  
6
ꢁꢄꢃꢌꢅ 5+1ꢁ$ꢁ%  
ꢁꢈ &$ꢁ ꢁꢃꢃ&$*ꢉꢁ5+1$%  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
9TKVGꢈꢀ94ꢃꢌꢍꢀRGTꢀ94ꢃꢀDKVUꢀꢎꢌꢃꢅꢀ4GCFꢈꢀ44ꢃꢌꢎꢀRGTꢀ94ꢃꢀDKVUꢀꢎꢌꢃ  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
0
 This address operates as described for SIO A Control above, providing  
access to the same Write and Read Registers for SIO channel B, except:  
1. The Return From Interruptcommand cannot be issued in channel  
B WR0.  
2. The Status Affects Vector bit (WR1 bit 2) is only effective in channel B  
WR1.  
3. The Interrupt Pending bit (RR0 bit 1) is always 0in channel B RR0.  
4. The following two registers are only accessible in channel B:  
6
ꢁꢄꢃꢎꢅ 5+1ꢁ$ꢁ94ꢆꢁꢈ9  
&$ꢁ ꢁꢃꢃ&$*ꢁ  
94ꢃꢁꢆꢀꢃꢒꢃꢄꢃꢉ  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
+PVGTTWRVꢀ8GEVQT  
9
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢏꢆ  
+ꢋ1 4  
#
ꢀ5  
ꢀ%  
ꢀ+  
ꢀꢐ#5%+ꢑꢀ4  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
+PVGTTWRVꢀ  
8GEVQT  
9
6JGUGꢀDKVUꢀCTGꢀTGVWTPGFꢀCUꢀVJGꢀXGEVQTꢀ  
FWTKPIꢀKPVGTTWRVꢀCEMPQYNGFIGꢀE[ENGUꢀ  
KPꢀYJKEJꢀGKVJGTꢀ5+1ꢀEJCPPGNꢀKUꢀVJGꢀ  
JKIJGUVꢀRTKQTKV[ꢀTGSWGUVKPIꢀFGXKEGꢄꢀ+Hꢀ  
DKVꢀꢎꢀQHꢀEJCPPGNꢀ$ꢀ94ꢂꢀKUꢀꢂꢅꢀDKVUꢀꢊꢌꢂꢀ  
EQPVCKPꢀCꢀEQFGꢀKFGPVKH[KPIꢀVJGꢀJKIJGUVꢀ  
RTKQTKV[ꢀ5+1ꢀKPVGTTWRVꢀRGPFKPIꢅꢀCUꢀ  
FGUETKDGFꢀHQTꢀ44ꢎꢄꢀ$KVꢀꢃꢀOWUVꢀDGꢀꢃꢀHQTꢀ  
OQFGꢀꢎꢀKPVGTTWRVUꢄ  
6
ꢁꢄꢃꢏꢅ 5+1ꢁ$ꢁ44ꢆꢁꢈ4  
&$ꢁ ꢁꢃꢃ&$*ꢁ  
ꢁ94ꢃꢁꢆꢀꢃꢒꢃꢄꢃꢉ  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
+PVGTTWRVꢀ8GEVQT  
4
8GEVQTꢀQTꢀ6[RGꢀ%QFG  
4
+8ꢀꢃ  
4
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢉ  
+PVGTTWRVꢀ  
8GEVQT  
4
6JGUGꢀDKVUꢀCTGꢀKFGPVKECNꢀVQꢀDKVUꢀꢍꢌꢉꢀQHꢀ  
VJGꢀNCVGUVꢀXCNWGꢀYTKVVGPꢀVQꢀ94ꢎꢄ  
ꢊꢌꢂ  
8GEVQTꢀQTꢀ  
6[RGꢀ%QFG  
4
+HꢀDKVꢀꢎꢀKPꢀEJCPPGNꢀ$ꢀ94ꢂꢀKUꢀꢃꢅꢀVJGUGꢀ  
DKVUꢀCTGꢀKFGPVKECNꢀVQꢀDKVUꢀꢊꢌꢂꢀQHꢀVJGꢀ  
NCVGUVꢀXCNWGꢀYTKVVGPꢀVQꢀ94ꢎꢄꢀ+HꢀDKVꢀꢎꢀKUꢀ  
ꢂꢅꢀVJGUGꢀDKVUꢀKFGPVKH[ꢀVJGꢀJKIJGUVꢀ  
RTKQTKV[ꢀKPVGTTWRVꢀRGPFKPIꢀKPꢀVJGꢀ5+1ꢀ  
EJCPPGNUꢅꢀQTꢀꢃꢃꢂꢀKHꢀPQꢀKPVGTTWRVꢀKUꢀ  
RGPFKPIꢈ  
ꢃꢃꢃ %JCPPGNꢀ$ꢀ6TCPUOKVꢀꢐNQYGUVꢀRTKQTKV[ꢑ  
ꢃꢃꢂ %JCPPGNꢀ$ꢀ'ZVGTPCNꢋ5VCVWU  
ꢃꢂꢃ %JCPPGNꢀ$ꢀ4Zꢀ%JCTCEVGTꢀ#XCKNCDNG  
ꢃꢂꢂ %JCPPGNꢀ$ꢀ5RGEKCNꢀ4GEGKXGꢀ%QPFKVKQP  
%JCPPGNꢀ#ꢀ6TCPUOKV  
ꢂꢃꢃ %JCPPGNꢀ#ꢀ'ZVGTPCNꢋ5VCVWU  
ꢂꢃꢂ %JCPPGNꢀ#ꢀ4Zꢀ%JCTCEVGTꢀ#XCKNCDNG  
ꢂꢂꢃ %JCPPGNꢀ#ꢀ5RGEKCNꢀ4GEGKXGꢀ%QPFKVKQP  
ꢂꢂꢂ  
8GEVQT  
4
6JKUꢀDKVꢀKUꢀKFGPVKECNꢀVQꢀDKVꢀꢃꢀQHꢀVJGꢀ  
NCVGUVꢀXCNWGꢀYTKVVGPꢀVQꢀ94ꢎꢄ  
#5;0%ꢁ5'4+#.ꢁ%1//70+%#6+105ꢁ+06'4(#%'ꢁꢈ#5%+ꢉꢁ4')+56'45  
See Async Serial Communications Interface (ASCI), which starts on page 95, for  
more detail about these registers.  
ꢂꢏꢏ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
#
ꢀ5  
ꢀ%  
ꢀ+  
ꢀꢐ#5%+ꢑꢀ4  
+ꢋ1 4  
6
ꢁꢄꢃꢐꢅ #5%+ꢃꢁ%  
ꢁ4  
ꢁ#ꢁꢈꢃꢃꢃꢃ*ꢉꢁ%06.#ꢃ  
$KV  
$KVꢋ(KGNF  
/2'  
4'  
6'  
465ꢃ /2$4ꢋ /1&ꢎ /1&ꢂ /1&ꢃ  
'(4  
4ꢋ9  
4ꢋ9  
4ꢋ9  
4ꢋ9  
4ꢋ9  
4ꢋ9  
:
4ꢋ9  
4ꢋ9  
4ꢋ9  
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
/WNVKꢌ  
2TQEGUUQTꢀ  
/QFGꢀ  
4ꢋ9  
+HꢀVJKUꢀDKVꢀCPFꢀVJGꢀ/2ꢀDKVꢀKPꢀ%06.$ꢀCTGꢀ  
DQVJꢀꢂꢅꢀQPN[ꢀTGEGKXGFꢀEJCTCEVGTUꢀ  
JCXKPIꢀCꢀꢂꢀKPꢀCPꢀCFFKVKQPCNꢀDKVꢀ  
'PCDNG  
DGVYGGPꢀVJGꢀNCUVꢀFCVCꢀDKVꢀCPFꢀVJGꢀUVQRꢀ  
DKVꢅꢀKUꢀRNCEGFꢀKPꢀVJGꢀ4Zꢀ(+(1ꢄꢀ+HꢀGKVJGTꢀ  
VJGꢀ/2ꢀDKVꢀQTꢀVJKUꢀDKVꢀKUꢀꢃꢅꢀCNNꢀTGEGKXGFꢀ  
EJCTCEVGTUꢀCTGꢀRNCEGFꢀKPꢀVJGꢀ4Zꢀ(+(1ꢄ  
4GEGKXGꢀ  
'PCDNG  
4ꢋ9  
4ꢋ9  
4ꢋ9  
#ꢀꢂꢀKPꢀVJKUꢀDKVꢀGPCDNGUꢀVJGꢀTGEGKXGTꢄꢀ  
9TKVKPIꢀCꢀꢃꢀUWOOCTKN[ꢀUVQRUꢀTGEGRꢌ  
VKQPꢄ  
6TCPUOKVꢀ  
'PCDNG  
#ꢀꢂꢀKPꢀVJKUꢀDKVꢀGPCDNGUꢀVJGꢀVTCPUOKVVGTꢄꢀ  
9TKVKPIꢀCꢀꢃꢀUWOOCTKN[ꢀUVQRUꢀVTCPUꢌ  
OKUUKQPꢄ  
465ꢃ  
VJKUꢀDKVꢀEQPVTQNUꢀVJGꢀ465ꢃꢀQWVRWVꢄ  
/2ꢀ$KVꢀ4EXꢋ 4ꢋ9  
'TTQTꢀ(NCIꢀ  
4GUGV  
4GCFKPIꢀVJKUꢀDKVꢀTGVWTPUꢀVJGꢀXCNWGꢀQHꢀ  
VJGꢀ OWNVKRTQEGUUQT ꢀDKVꢄꢀ4GCFꢀVJKUꢀ  
TGIKUVGTꢀDGHQTGꢀTGCFKPIꢀVJGꢀ4&4ꢄꢀ  
9TKVKPIꢀCꢀꢃꢀVQꢀVJKUꢀDKVꢀENGCTUꢀVJGꢀ  
1840ꢅꢀ('ꢅꢀ2'ꢅꢀCPFꢀ$TGCMꢀ&GVGEVꢀDKVUꢄꢀ  
9TKVKPIꢀCꢀꢂꢀJCUꢀPQꢀGHHGEVꢄ  
/1&ꢎ  
/1&ꢂ  
/1&ꢃ  
4ꢋ9  
4ꢋ9  
4ꢋ9  
ꢍꢀDKVꢀFCVCꢀꢐ6ZꢀCPFꢀ4Zꢑ  
ꢇꢀDKVꢀFCVC  
0QꢀRCTKV[ꢀꢐ6ZꢀCPFꢀ4Zꢑ  
2CTKV[ꢀIGPGTCVGFꢀꢐ6ZꢑꢅꢀEJGEMGFꢀꢐ4Zꢑ  
ꢂꢀ5VQRꢀDKVꢀ6TCPUOKVVGF  
ꢎꢀ5VQRꢀDKVUꢀ6TCPUOKVVGF  
6
ꢁꢄꢃꢑꢅ #5%+ꢄꢁ%  
ꢁ4  
ꢁ#ꢁꢈꢃꢃꢃꢄ*ꢉꢁ%06.#ꢄ  
$KV  
$KVꢋ(KGNF  
/2'  
4'  
6'  
4GUGTX /2$4ꢋ /1&ꢎ /1&ꢂ /1&ꢃ  
GF  
4ꢋ9  
'(4  
4ꢋ9  
:
4ꢋ9  
4ꢋ9  
4ꢋ9  
4ꢋ9  
4ꢋ9  
4ꢋ9  
4ꢋ9  
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢏꢍ  
+ꢋ1 4  
#
ꢀ5  
ꢀ%  
ꢀ+  
ꢀꢐ#5%+ꢑꢀ4  
All bits in this register are as described in the previous table.  
6
ꢁꢄꢃꢂꢅ #5%+ꢃꢁ%  
ꢁ4  
ꢁ$ꢁꢈꢃꢃꢃꢆ*ꢉꢁ%06.$ꢃ  
$KV  
&4  
4ꢋ9  
$KVꢋ(KGNF /2$6  
/2 %65ꢋ25 2'1  
5RGGFꢀ5GNGEV  
4ꢋ9  
4GUGV  
0
4ꢋ9  
:
4ꢋ9  
4ꢋ9  
4ꢋ9  
4ꢋ9  
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
/WNVKꢌ  
2TQEGUUQTꢀ  
$KVꢀ6Z  
4ꢋ9  
+HꢀVJGꢀ/2ꢀDKVꢀꢐPGZVꢑꢀKUꢀꢂꢅꢀVJKUꢀDKVꢀ  
FGHKPGUꢀVJGꢀXCNWGꢀVQꢀUGPFꢀKPꢀVJGꢀ/2ꢀ  
DKVꢀYKVJꢀVJGꢀPGZVꢀEJCTCEVGTꢀYTKVVGPꢀVQꢀ  
VJGꢀ6TCPUOKVꢀ&CVCꢀ4GIKUVGTꢄ  
/WNVKꢌꢀ  
2TQEGUUQTꢀ  
/QFG  
4ꢋ9  
+HꢀVJKUꢀDKVꢀKUꢀꢂꢅꢀVJGꢀ#5%+ꢀUGPFUꢅꢀCPFꢀ  
GZRGEVUꢀVQꢀTGEGKXGꢅꢀCPꢀGZVTCꢀDKVꢀCHVGTꢀ  
VJGꢀNCUVꢀFCVCꢀDKVꢄꢀ6JKUꢀDKVꢀKUꢀꢂꢀVQꢀKFGPꢌ  
VKH[ꢀCFFTGUUꢀEJCTCEVGTUꢀVJCVꢀDGIKPꢀ  
HTCOGUꢅꢀQTꢀꢃꢀVQꢀKFGPVKH[ꢀHQNNQYKPIꢀ  
FCVCꢀEJCTCEVGTUꢄ  
%65ꢋ25  
4ꢋ9  
4GCFKPIꢀVJKUꢀRKPꢀTGVWTPUꢀVJGꢀUVCVGꢀQHꢀ  
VJGꢀ%65ꢀRKPꢀꢐꢃꢒNQYꢅꢀꢂꢒJKIJꢑꢄꢀ(QTꢀ  
YTKVKPIꢅꢀVJKUꢀDKVꢀKUꢀ25ꢄꢀ+HꢀDKVUꢀꢎꢌꢃꢀKPꢀVJKUꢀ  
TGIKUVGTꢀCTGꢀPQVꢀꢂꢂꢂꢀCPFꢀVJGꢀ$4)ꢀ  
/QFGꢀDKVꢀKPꢀVJGꢀ'ZVGPUKQPꢀ%QPVTQNꢀ  
TGIKUVGTꢀKUꢀꢃꢅꢀ25ꢀFGVGTOKPGUꢀYJGVJGTꢀ  
VJGꢀ2*+ꢀENQEMꢀKUꢀ 2TGUECNGF ꢀD[ꢀꢂꢃꢀ  
ꢐHQTQTꢀꢊꢃꢀꢐHQTꢀꢂꢑꢀCUꢀVJGꢀHKTUVꢀUVCIGꢀKPꢀ  
#5%+ꢀENQEMKPIꢄ  
2CTKV[ꢀ'XGPꢋ 4ꢋ9  
1FF  
+Hꢀ/1&ꢂꢀꢐ%06.#ꢀDKVꢀꢂꢑꢀKUꢀꢂꢅꢀVJKUꢀDKVUꢀ  
UGNGEVUꢀYJGVJGTꢀRCTKV[ꢀKUꢀIGPGTCVGFꢀ  
CPFꢀEJGEMGFꢀCUꢀGXGPꢀꢐHQTꢀꢃꢑꢀQTꢀQFFꢀ  
ꢐHQTꢀꢂꢑꢄ  
ꢂꢏꢇ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
#
ꢀ5  
ꢀ%  
ꢀ+  
ꢀꢐ#5%+ꢑꢀ4  
+ꢋ1 4  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
&4  
4ꢋ9  
6JGꢀ#5%+ꢀFKXKFGUꢀVJGꢀKVUꢀDCUKEꢀENQEMꢀ  
D[ꢀꢂꢏꢀVQꢀQDVCKPꢀKVUꢀDKVꢀTCVGꢄ  
6JGꢀ#5%+ꢀFKXKFGUꢀVJGꢀKVUꢀDCUKEꢀENQEMꢀ  
D[ꢀꢏꢉꢀVQꢀQDVCKPꢀKVUꢀDKVꢀTCVG  
ꢎꢌꢃ  
5RGGFꢀ  
5GNGEV  
4ꢋ9  
ꢂꢂꢂ &QꢀPQVꢀRTQITCOꢀVJKUꢀXCNWGꢄ  
ꢐQVJGTꢑ +HꢀVJGꢀ$4)ꢃꢀ/QFGꢀDKVꢀKUꢀꢂꢅꢀVJGꢀQWVRWVꢀ  
QHꢀVJGꢀPGYꢀ$4)ꢀKUꢀVJGꢀDCUKEꢀENQEMꢀQHꢀ  
VJGꢀ#5%+ꢄꢀ+Hꢀ$4)ꢃꢀ/QFGꢀKUꢀꢃꢅꢀVJGUGꢀ  
DKVUꢀFGVGTOKPGꢀYJCVꢀVJGꢀQWVRWVꢀQHꢀVJGꢀ  
2TGUECNGTꢀKUꢀFKXKFGFꢀD[ꢅꢀVQꢀQDVCKPꢀ  
DCUKEꢀENQEMꢀHQTꢀVJGꢀ#5%+ꢈ  
7UGFꢀCUꢀKU  
ꢃꢃꢃ ꢋꢎ  
ꢃꢃꢂ ꢋꢉ  
ꢃꢂꢃ ꢋꢇ  
ꢃꢂꢂ ꢋꢂꢏ  
ꢂꢃꢃ ꢋꢊꢎ  
ꢂꢃꢂ ꢋꢏꢉ  
ꢂꢂꢃ +PꢀCP[ꢀECUGꢅꢀVJGꢀDCUKEꢀENQEMꢀKUꢀFKXKFGFꢀ  
D[ꢀꢂꢏꢀQTꢀꢏꢉꢀVQꢀQDVCKPꢀVJGꢀ#5%+ꢀDKVꢀ  
TCVGꢄ  
6
ꢁꢄꢃꢓꢅ #5%+ꢄꢁ%  
ꢁ4  
ꢁ$ꢁꢈꢃꢃꢃꢌ*ꢉꢁ%06.$ꢄ  
$KV  
/2  
4ꢋ9  
&4  
4ꢋ9  
$KVꢋ(KGNF /2$6  
25  
2'1  
4ꢋ9  
5RGGFꢀ5GNGEV  
4ꢋ9  
4GUGV  
0
4ꢋ9  
:
4ꢋ9  
4ꢋ9  
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
All bits in this register are as described in the preceding table, except that bit 5 has  
no function in write operations on the Z80S188 ASCI1.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢏꢁ  
+ꢋ1 4  
#
ꢀ5  
ꢀ%  
ꢀ+  
ꢀꢐ#5%+ꢑꢀ4  
6
ꢁꢄꢄꢃꢅ #5%+ꢃꢁ5  
ꢁ4  
ꢁꢈꢃꢃꢃꢎ*ꢉꢁ56#6ꢃ  
$KV  
('  
4
4+'  
4ꢋ9  
6+'  
4ꢋ9  
$KVꢋ(KGNF  
4ꢋ9  
4&4( 1840  
2'  
4
&%&ꢃ 6&4'  
4
4
4
4
4GUGV  
RKP  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
4&4(  
4
6JGꢀ<ꢇꢃ5ꢂꢇꢇ UGVUꢀVJKUꢀDKVꢀYJGPꢀCꢀ  
EJCTCEVGTꢀKUꢀTGEGKXGFꢄꢀ4GCFKPIꢀVJGꢀ  
NCUVꢀTGEGKXGFꢀD[VGꢀHTQOꢀVJGꢀ4Zꢀ(+(1ꢀ  
ENGCTUꢀVJKUꢀDKVꢄꢀ5GGꢀ0QVGꢀDGNQYꢄ  
1840  
4
6JKUꢀDKVꢀKUꢀUGVꢀYJGPꢀVJGꢀNCUVꢀEJCTCEVGTꢀ  
TGEGKXGFꢀDGHQTGꢀCPꢀ1XGTTWPꢀEQPFKVKQPꢀ  
EQOGUꢀVQꢀVJGꢀVQRꢀQHꢀVJGꢀ4Zꢀ(+(1ꢄꢀ+VꢀKUꢀ  
ENGCTGFꢀYJGPꢀUQHVYCTGꢀYTKVGUꢀCꢀꢃꢀVQꢀ  
VJGꢀ'(4ꢀDKVꢀKPꢀ%06.ꢃꢄꢀ5GGꢀ0QVGꢀ  
DGNQYꢄ  
2'  
('  
4
4
6JKUꢀDKVꢀKUꢀUGVꢀKHꢀRCTKV[ꢀKUꢀGPCDNGFꢅꢀCPFꢀ  
CꢀEJCTCEVGTꢀYKVJꢀCꢀ2CTKV[ꢀ'TTQTꢀEQOGUꢀ  
VQꢀVJGꢀVQRꢀQHꢀVJGꢀ4Zꢀ(+(1ꢄꢀ+VꢀKUꢀENGCTGFꢀ  
YJGPꢀUQHVYCTGꢀYTKVGUꢀCꢀꢃꢀVQꢀVJGꢀ'(4ꢀ  
DKVꢀKPꢀ%06.ꢃꢄꢀ5GGꢀ0QVGꢀDGNQYꢄ  
6JKUꢀDKVꢀKUꢀUGVꢀKHꢀCꢀEJCTCEVGTꢀYKVJꢀCꢀ  
(TCOKPIꢀ'TTQTꢀꢐQPGꢀKPꢀYJKEJꢀVJGꢀ5VQRꢀ  
DKVꢀYCUꢀUCORNGFꢀCUꢀꢃꢑꢀEQOGUꢀVQꢀVJGꢀ  
VQRꢀQHꢀVJGꢀ4Zꢀ(+(1ꢄꢀ+VꢀKUꢀENGCTGFꢀYJGPꢀ  
UQHVYCTGꢀYTKVGUꢀCꢀꢃꢀVQꢀVJGꢀ'(4ꢀDKVꢀKPꢀ  
%06.ꢃꢄꢀ5GGꢀ0QVGꢀDGNQYꢄ  
4+'  
4ꢋ9  
+HꢀVJKUꢀDKVꢀKUꢀꢂꢅꢀVJGꢀ#5%+ꢀTGSWGUVUꢀCPꢀ  
KPVGTTWRVꢀYJGPꢀCP[ꢀQHꢀVJGꢀHNCIUꢀ  
1840ꢅꢀ2'ꢅꢀ('ꢅꢀQTꢀ$TGCMꢀ&GVGEVꢀKUꢀUGVꢅꢀ  
QTꢀKHꢀDKVꢀꢍꢀQHꢀVJGꢀ'ZVGPUKQPꢀ%QPVTQNꢀ  
TGIKUVGTꢀKUꢀꢃꢀCPFꢀ4&4(ꢀKUꢀUGVꢅꢀQTꢀKHꢀDKVꢀ  
ꢏꢀQHꢀVJGꢀ'ZVGPUKQPꢀ%QPVTQNꢀTGIKUVGTꢀKUꢀ  
ꢃꢀCPFꢀ&%&ꢃꢀKUꢀ.QYꢄ  
&%&ꢃ  
4
6JKUꢀDKVꢀKUꢀꢂꢀYJGPGXGTꢀVJGꢀ&%&ꢃꢀRKPꢀ  
KUꢀ*KIJꢄꢀ9JGPꢀ&%&ꢃꢀIQGUꢀ.QYꢅꢀVJGꢀ  
PGZVꢀTGCFꢀQHꢀVJKUꢀTGIKUVGTꢀTGVWTPUꢀCꢀꢂꢅꢀ  
DWVꢀVJGꢀPGZVꢀTGCFꢀTGVWTPUꢀCꢀꢃꢀKHꢀ&%&ꢃꢀ  
KUꢀUVKNNꢀ.QYꢄꢀ4GUGVꢀUGVUꢀVJKUꢀDKVꢀ  
CEEQTFKPIꢀVQꢀVJGꢀUVCVGꢀQHꢀVJGꢀRKPꢄ  
ꢂꢍꢃ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
#
ꢀ5  
ꢀ%  
ꢀ+  
ꢀꢐ#5%+ꢑꢀ4  
+ꢋ1 4  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
6&4'  
4
6JKUꢀDKVꢀKUꢀENGCTGFꢀYJGPꢀUQHVYCTGꢀ  
YTKVGUꢀCꢀEJCTCEVGTꢀVQꢀVJGꢀ6&4ꢄꢀ+VꢀKUꢀUGVꢀ  
YJGPꢀVJGꢀEJCTCEVGTꢀNGCXGUꢀVJGꢀ6&4ꢀ  
HQTꢀVTCPUOKUUKQPꢅꢀD[ꢀTGUGVꢅꢀCPFꢀKPꢀ+ꢋ1ꢀ  
5612ꢀOQFGꢄꢀ+VꢀKUꢀENGCTGFꢀKHꢀDKVꢀꢆꢀQHꢀVJGꢀ  
'ZVGPUKQPꢀ%QPVTQNꢀTGIKUVGTꢀKUꢀꢃꢀCPFꢀ  
%65ꢃꢀKUꢀ*KIJꢄ  
6+'  
4ꢋ9  
+HꢀVJKUꢀDKVꢀKUꢀꢂꢅꢀVJGꢀ#5%+ꢀTGSWGUVUꢀCPꢀ  
KPVGTTWRVꢀYJGPꢀ6&4'ꢀKUꢀꢂꢄ  
0
ꢊꢁ6JGꢀ4&4(ꢅꢀ1840ꢅꢀ2'ꢅꢀCPFꢀ('ꢀDKVUꢀCTGꢀENGCTGFꢀD[ꢀ4GUGVꢅꢀFWTKPIꢀ+ꢋ1ꢀ5VQRꢀOQFGꢅꢀ  
CPFꢀHQTꢀ#5%+ꢃꢅꢀKHꢀVJGꢀ&%&ꢀ&KUCDNGꢀDKVꢀKPꢀVJGꢀ'ZVGPUKQPꢀ%QPVTQNꢀTGIKUVGTꢀKUꢀꢃꢀCPFꢀ&%&ꢃꢀ  
KUꢀ*KIJꢄ  
6
ꢁꢄꢄꢄꢅ #5%+ꢄꢁ5  
ꢁ4  
ꢁꢈꢃꢃꢃꢏ*ꢉꢁ56#6ꢄ  
$KV  
$KVꢋ(KGNF  
4&4( 1840  
2'  
('  
4+'  
4GUGTX 6&4'  
GF  
6+'  
4ꢋ9  
4
4
4
4
4ꢋ9  
4
4
4ꢋ9  
4GUGV  
RKP  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
This register is as described in the previous Table, except that bit 2 has no function  
on the Z80S188 ASCI1.  
6
ꢁꢄꢄꢆꢅ #5%+ꢃꢁ6 ꢁ&  
ꢁ4  
ꢁꢈꢃꢃꢃꢐ*ꢉꢁ6&4ꢃ  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
%JCTCEVGTꢀVQꢀ6Z  
9
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
6ZꢀEJCTCEVGT 4ꢋ9  
5QHVYCTGꢀECPꢀYTKVGꢀCꢀEJCTCEVGTꢀVQꢀDGꢀ  
VTCPUOKVVGFꢀVQꢀVJKUꢀTGIKUVGTꢅꢀYJGPGXGTꢀ  
VJGꢀ6&4'ꢀHNCIꢀKPꢀ56#6ꢃꢀKUꢀꢂꢄ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢍꢂ  
+ꢋ1 4  
#
ꢀ5  
ꢀ%  
ꢀ+  
ꢀꢐ#5%+ꢑꢀ4  
6
ꢁꢄꢄꢌꢅ #5%+ꢄꢁ6 ꢁ&  
ꢁ4  
ꢁꢈꢃꢃꢃꢑ*ꢉꢁ6&4ꢄ  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
%JCTCEVGTꢀVQꢀ6Z  
9
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
6ZꢀEJCTCEVGT 4ꢋ9  
5QHVYCTGꢀECPꢀYTKVGꢀCꢀEJCTCEVGTꢀVQꢀDGꢀ  
VTCPUOKVVGFꢀVQꢀVJKUꢀTGIKUVGTꢅꢀYJGPGXGTꢀ  
VJGꢀ6&4'ꢀHNCIꢀKPꢀ56#6ꢂꢀKUꢀꢂꢄ  
6
ꢁꢄꢄꢎꢅ #5%+ꢃꢁ4 ꢁ&  
ꢁ4  
ꢁꢈꢃꢃꢃꢂ*ꢉꢁ4&4ꢃ  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
4GEGKXGFꢀ%JCTCEVGT  
4
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
4ZꢀEJCTꢌ  
CEVGT  
4ꢋ9  
9JGPGXGTꢀVJGꢀ4&4(ꢀHNCIꢀKPꢀ56#6ꢃꢀKUꢀ  
ꢂꢅꢀUQHVYCTGꢀECPꢀTGCFꢀCꢀTGEGKXGFꢀEJCTꢌ  
CEVGTꢀHTQOꢀVJKUꢀTGIKUVGTꢄ  
6
ꢁꢄꢄꢏꢅ #5%+ꢄꢁ4 ꢁ&  
ꢁ4  
ꢁꢈꢃꢃꢃꢓ*ꢉꢁ4&4ꢄ  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
4GEGKXGFꢀ%JCTCEVGT  
4
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
4ZꢀEJCTꢌ  
CEVGT  
4ꢋ9  
9JGPGXGTꢀVJGꢀ4&4(ꢀHNCIꢀKPꢀ56#6ꢂꢀKUꢀ  
ꢂꢅꢀUQHVYCTGꢀECPꢀTGCFꢀCꢀTGEGKXGFꢀEJCTꢌ  
CEVGTꢀHTQOꢀVJKUꢀTGIKUVGTꢄ  
ꢂꢍꢎ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
#
ꢀ5  
ꢀ%  
ꢀ+  
ꢀꢐ#5%+ꢑꢀ4  
+ꢋ1 4  
6
ꢁꢄꢄꢐꢅ #5%+ꢃꢁ'  
ꢁ%  
ꢁ4  
ꢁꢈꢃꢃꢄꢆ*ꢉꢁ#5':6ꢃ  
$KV  
$KVꢋ(KGNF  
4&+& &%&ꢃꢀ %65ꢃꢀ  
:ꢂꢀ  
$4)ꢀ 5VCTVꢀ+'  
4Z  
6Z  
&KUCDNG &KUCDNG %NQEM /QFG  
$TGCM $TGCMꢋ  
6Z'PF  
4ꢋ9  
4ꢋ9  
4ꢋ9  
4ꢋ9  
4ꢋ9  
4ꢋ9  
4ꢋ9  
4
4ꢋ9  
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
4Zꢀ&CVCꢀ  
+PVGTTWRVꢀ  
&KUCDNG  
4ꢋ9  
+Hꢀ4+'ꢀꢐ56#6ꢀDKVꢀꢊꢑꢀCPFꢀVJKUꢀDKVꢀCTGꢀ  
DQVJꢀꢂꢅꢀVJGꢀ#5%+ꢀTGSWGUVUꢀTGEGKXGꢀ  
KPVGTTWRVUꢀQPN[ꢀYJGPꢀ1840ꢅꢀ2'ꢅꢀQTꢀ  
('ꢀKUꢀUGVꢄꢀ+Hꢀ4+'ꢀKUꢀꢂꢀCPFꢀVJKUꢀDKVꢀKUꢀꢃꢅꢀ  
KPVGTTWRVUꢀCTGꢀCNUQꢀTGSWGUVGFꢀYJGPꢀ  
4&4(ꢀKUꢀUGVꢀꢐHQTꢀGCEJꢀTGEGKXGFꢀEJCTꢌ  
CEVGTꢑꢄꢀ+Hꢀ4+'ꢀKUꢀꢃꢀVJKUꢀDKVꢀJCUꢀPQꢀGHHGEVꢄ  
&%&ꢃꢀ  
&KUCDNG  
4ꢋ9  
4ꢋ9  
4ꢋ9  
&%&ꢃꢀCWVQꢌGPCDNGUꢀVJGꢀTGEGKXGT  
&%&ꢃꢀJCUꢀPQꢀGHHGEVꢀQPꢀVJGꢀTGEGKXGT  
%65ꢃꢀ  
&KUCDNG  
%65ꢃꢀCWVQꢌGPCDNGUꢀVJGꢀVTCPUOKVVGT  
%65ꢃꢀJCUꢀPQꢀGHHGEVꢀQPꢀVJGꢀVTCPUOKVVGT  
:ꢂꢀ%NQEM  
$4)ꢀ/QFG  
5VCTVꢀ+'  
6JGꢀENQEMꢀQPꢀVJGꢀ%-#ꢃꢀRKPꢀKUꢀFKXKFGFꢀ  
D[ꢀꢂꢏꢀQTꢀꢏꢉꢀVQꢀQDVCKPꢀVJGꢀ#5%+ꢀDKVꢀ  
ENQEMꢄ  
6JGꢀENQEMꢀQPꢀVJGꢀ%-#ꢃꢀRKPꢀKUꢀWUGFꢀCUꢀ  
VJGꢀ#5%+ꢀDKVꢀENQEMꢄ  
4ꢋ9  
4ꢋ9  
6JGꢀ55ꢀDKVUꢀFGVGTOKPGꢀVJGꢀHCEVQTꢀD[ꢀ  
YJKEJꢀVJGꢀ2TGUECNGTꢀQWVRWVꢀKUꢀFKXKFGFꢅꢀ  
VQꢀQDVCKPꢀVJGꢀ#5%+ UꢀDCUKEꢀENQEMꢄ  
6JGꢀ#5%+ UꢀDCUKEꢀENQEMꢀEQOGUꢀHTQOꢀ  
VJGꢀPGYꢀ$4)ꢄ  
+HꢀVJKUꢀDKVꢀCPFꢀ4+'ꢀCTGꢀDQVJꢀꢂꢅꢀVJGꢀ#5%+ꢀ  
TGSWGUVUꢀCPꢀKPVGTTWRVꢀYJGPꢀKVꢀFGVGEVUꢀ  
VJGꢀUVCTVꢀQHꢀCꢀUVCTVꢀDKVꢅꢀHQTꢀCWVQꢌ  
DCWFKPIꢄꢀ9TKVKPIꢀCꢀꢃꢀVQꢀVJKUꢀDKVꢀCHVGTꢀ  
UWEJꢀCPꢀKPVGTTWRVꢀQEEWTUꢅꢀENGCTUꢀVJGꢀ  
5VCTV+'ꢀKPVGTTWRVꢀTGSWGUVꢄꢀ  
4Z$TGCM  
4
6JKUꢀDKVꢀKUꢀꢂꢀKHꢀVJGꢀTGEGKXGTꢀJCUꢀ  
FGVGEVGFꢀCꢀ$TGCMꢀEQPFKVKQPꢅꢀVJCVꢀKUꢅꢀKHꢀ  
CNNꢀDKVUꢀKPꢀCꢀEJCTCEVGTꢅꢀKPENWFKPIꢀVJGꢀ  
UVQRꢀDKVꢅꢀCTGꢀꢃꢄꢀ6JGꢀCNNꢌꢃꢀEJCTCEVGTꢀKUꢀ  
RNCEGFꢀKPꢀVJGꢀ4Zꢀ(+(1ꢀKHꢀVJGTGꢀKUꢀ  
URCEGꢅꢀDWVꢀVJGꢀTGEGKXGTꢀFQGUꢀPQVꢀ  
CUUGODNGꢀCP[ꢀOQTGꢀEJCTCEVGTUꢀWPVKNꢀ  
VJGꢀ4Z#ꢀRKPꢀTGVWTPUꢀVQꢀ*KIJꢄ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢍꢊ  
+ꢋ1 4  
#
ꢀ5  
ꢀ%  
ꢀ+  
ꢀꢐ#5%+ꢑꢀ4  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
4ꢋ9  
6Z$TGCMꢋ  
6Z'PF  
9TKVKPIꢀCꢀꢂꢀVQꢀVJKUꢀDKVꢀOCMGUꢀVJGꢀ  
VTCPUOKVVGTꢀFTKXGꢀ6:#ꢀ.QYꢀVQꢀUGPFꢀCꢀ  
$TGCMꢀEQPFKVKQPꢅꢀWPVKNꢀUQHVYCTGꢀYTKVGUꢀ  
CꢀꢃꢀVQꢀVJKUꢀDKVꢄꢀ6JKUꢀDKVꢀTGCFUꢀCUꢀꢃꢀ  
YJKNGꢀCꢀEJCTCEVGTꢀKUꢀDGKPIꢀVTCPUꢌ  
OKVVGFꢅꢀDWVꢀIQGUꢀVQꢀꢂꢀYJGPꢀVJGꢀ  
PWODGTꢀQHꢀUVQRꢀDKVUꢀUGNGEVGFꢀD[ꢀ  
/1&ꢃꢀKPꢀ%06.#ꢀJCXGꢀDGGPꢀUGPVꢄ  
6
ꢁꢄꢄꢑꢅ #5%+ꢄꢁ'  
ꢁ%  
ꢁ4  
ꢁꢈꢃꢃꢄꢌ*ꢉꢁ#5':6ꢄ  
$KV  
$KVꢋ(KGNF  
4&+&  
4GUGTXGF  
:ꢂꢀ  
%NQEM /QFG  
$4)ꢀ 5VCTVꢀ+'  
4Z  
6Z  
$TGCM $TGCMꢋ  
6Z'PF  
4ꢋ9  
4ꢋ9  
0ꢋ#  
4ꢋ9  
4ꢋ9  
4ꢋ9  
4
4ꢋ9  
4GUGV  
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
This register is as described in the previous table, except that bits 65have no  
function for Z80S188 ASCI1.  
6
ꢁꢄꢄꢂꢅ #5%+ꢃꢁ6 ꢁ%  
ꢁ. ꢁꢈꢃꢃꢄ#*ꢉꢁ#56%ꢃ.  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
.5ꢀ$[VGꢀQHꢀ6KOGꢀ%QPUVCPV  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
.5ꢀD[VGꢀQHꢀ  
6KOGꢀ  
4ꢋ9  
6JGꢀ.5ꢀꢇꢀDKVUꢀQHꢀVJGꢀ#5%+ꢃꢀ$CWFꢀ4CVGꢀ  
)GPGTCVQT Uꢀ6KOGꢀ%QPUVCPVꢄ  
%QPUVCPV  
ꢂꢍꢉ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
#
ꢀ5  
ꢀ%  
ꢀ+  
ꢀꢐ#5%+ꢑꢀ4  
+ꢋ1 4  
6
ꢁꢄꢄꢓꢅ #5%+ꢃꢁ6 ꢁ%  
ꢁ* ꢁꢈꢃꢃꢄ$*ꢉꢁ#56%ꢃ*  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
/5ꢀ$[VGꢀQHꢀ6KOGꢀ%QPUVCPV  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
/5ꢀ$[VGꢀQHꢀ 4ꢋ9  
6KOGꢀ  
6JG/5ꢀꢇꢀDKVUꢀQHꢀVJGꢀ#5%+ꢃꢀ$CWFꢀ4CVGꢀ  
)GPGTCVQT Uꢀ6KOGꢀ%QPUVCPVꢄ  
%QPUVCPV  
6
ꢁꢄꢆꢃꢅ #5%+ꢄꢁ6 ꢁ%  
ꢁ. ꢁꢈꢃꢃꢄ%*ꢉꢁ#56%ꢄ.  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
.5ꢀ$[VGꢀQHꢀ6KOGꢀ%QPUVCPV  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
.5ꢀ$[VGꢀQHꢀ  
6KOGꢀ  
4ꢋ9  
6JGꢀ.5ꢀꢇꢀDKVUꢀQHꢀVJGꢀ#5%+ꢂꢀ$CWFꢀ4CVGꢀ  
)GPGTCVQT Uꢀ6KOGꢀ%QPUVCPVꢄ  
%QPUVCPV  
6
ꢁꢄꢆꢄꢅ #5%+ꢄꢁ6 ꢁ%  
ꢁ* ꢁꢈꢃꢃꢄ&*ꢉꢁ#56%ꢄ*  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
/5ꢀ$[VGꢀQHꢀ6KOGꢀ%QPUVCPV  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢍꢌꢃ  
/5ꢀ$[VGꢀQHꢀ 4ꢋ9  
6KOGꢀ  
6JG/5ꢀꢇꢀDKVUꢀQHꢀVJGꢀ#5%+ꢂꢀ$CWFꢀ4CVGꢀ  
)GPGTCVQT Uꢀ6KOGꢀ%QPUVCPVꢄ  
%QPUVCPV  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢍꢆ  
+ꢋ1 4  
%
ꢀ5  
ꢀ+ꢋ1ꢀꢐ%5+ꢋ1ꢑꢀ4  
%.1%-'&ꢁ5'4+#.ꢁ+ꢋ1ꢁꢈ%5+ꢋ1ꢉꢁ4')+56'45  
See the section “Clocked Serial Input/Output Module (CSI/O)”, on page 106, for  
more about these registers.  
6
ꢁꢄꢆꢆꢅ ꢁ%5+ꢋ1ꢁ%  
ꢁ4  
ꢁꢈꢃꢃꢃ#*ꢉꢁ%064  
$KV  
'+'  
4ꢋ9  
6'  
4ꢋ9  
$KVꢋ(KGNF  
4ꢋ9  
'(  
4
4'  
5RGGFꢀ5GNGEVꢀꢐ55ꢑ  
4ꢋ9  
4ꢋ9  
0ꢋ#  
:
4GUGV  
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
'PFꢀ(NCIꢀ  
ꢐ'(ꢑ  
4
6JGꢀ%5+ꢋ1ꢀUGVUꢀVJKUꢀDKVꢀVQꢀꢂꢀYJGPꢀKVꢀ  
EQORNGVGUꢀUGPFKPIꢀQTꢀTGEGKXKPIꢀCꢀ  
D[VGꢄꢀ+VꢀENGCTUꢀVJKUꢀDKVꢀYJGPꢀUQHVYCTGꢀ  
TGCFUꢀQTꢀYTKVGUꢀVJGꢀ64&4ꢅꢀQPꢀ4GUGVꢀ  
CPFꢀFWTKPIꢀ+ꢋ1ꢀ5VQRꢀOQFGꢄ  
'PFꢀ+PVGTꢌ  
TWRVꢀ'PCDNGꢀ  
ꢐ'+'ꢑ  
4ꢋ9  
4ꢋ9  
+HꢀVJKUꢀDKVꢀKUꢀꢂꢅꢀVJGꢀ%5+ꢋ1ꢀTGSWGUVUꢀCPꢀ  
KPVGTTWRVꢀYJGPꢀKVꢀEQORNGVGUꢀUGPFKPIꢀ  
QTꢀTGEGKXKPIꢀCꢀD[VGꢀCPFꢀUGVUꢀ'(ꢄ  
4GEGKXGꢀ  
'PCDNGꢀꢐ4'ꢑ  
9TKVGꢀCꢀꢂꢀVQꢀVJKUꢀDKVꢀVQꢀUVCTVꢀCꢀ%5+ꢋ1ꢀ  
TGEGKXGꢀQRGTCVKQPꢄꢀ+HꢀVJGꢀ55ꢀDKVUꢀCTGꢀ  
ꢂꢂꢂꢅꢀVJGꢀ%5+ꢋ1ꢀYCKVUꢀHQTꢀꢇꢀENQEMꢀ  
RWNUGUꢀQPꢀ%-5ꢅꢀQVJGTYKUGꢀKVꢀQWVRWVUꢀꢇꢀ  
ENQEMꢀRWNUGUꢀQPꢀ%-5ꢄꢀ+PꢀGKVJGTꢀECUGꢅꢀKVꢀ  
ENQEMUꢀFCVCꢀQPꢀ4:5ꢀKPVQꢀVJGꢀ64&4ꢀ  
CHVGTꢀGCEJꢀHCNNKPIꢀGFIGꢀQPꢀ%-5ꢄꢀ#HVGTꢀ  
ECRVWTKPIꢀVJGꢀꢇVJꢀDKVꢅꢀKVꢀENGCTUꢀVJKUꢀDKVꢀ  
CPFꢀUGVUꢀ'(ꢄ  
6TCPUOKVꢀ  
'PCDNGꢀꢐ6'ꢑ  
4ꢋ9  
9TKVGꢀCꢀꢂꢀVQꢀVJKUꢀDKVꢀVQꢀUVCTVꢀ%5+ꢋ1ꢀ  
VTCPUOKUUKQPꢄꢀ+HꢀVJGꢀ55ꢀDKVUꢀCTGꢀꢂꢂꢂꢅꢀ  
VJGꢀ%5+ꢋ1ꢀYCKVUꢀHQTꢀꢇꢀENQEMꢀRWNUGUꢀQPꢀ  
%-5ꢅꢀQVJGTYKUGꢀKVꢀQWVRWVUꢀꢇꢀENQEMꢀ  
RWNUGUꢀQPꢀ%-5ꢄꢀ+PꢀGKVJGTꢀECUGꢅꢀKVꢀ  
ENQEMUꢀFCVCꢀQPVQꢀ6:5ꢀCHVGTꢀGCEJꢀ  
HCNNKPIꢀGFIGꢀQPꢀ%-5ꢄꢀ#HVGTꢀUGPFKPIꢀꢇꢀ  
DKVUꢅꢀVJGꢀ%5+ꢋ1ꢀENGCTUꢀVJKUꢀDKVꢀCPFꢀUGVUꢀ  
'(ꢄ  
ꢂꢍꢏ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
%
ꢀ5  
ꢀ+ꢋ1ꢀꢐ%5+ꢋ1ꢑꢀ4  
+
5
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
ꢎꢌꢃ  
5RGGFꢀ  
5GNGEVꢀꢐ55ꢑ  
4ꢋ9  
+HꢀVJGUGꢀDKVUꢀCTGꢀꢂꢂꢂꢅꢀCUꢀVJG[ꢀCTGꢀCHVGTꢀ  
Cꢀ4GUGVꢅꢀVJGꢀ%5+ꢋ1ꢀVCMGUꢀGZVGTPCNꢀ  
ENQEMKPIꢀHTQOꢀVJGꢀ%-5ꢀRKPꢄꢀ1VJGTꢌ  
YKUGꢅꢀKVꢀFTKXGUꢀCꢀENQEMꢀQPVQꢀ%-5ꢅꢀVJCVꢀ  
KVꢀFGTKXGUꢀHTQOꢀ2*+ꢀCUꢀHQNNQYUꢈ  
ꢃꢃꢃ 2*+ꢋꢎꢃ  
ꢃꢃꢂ 2*+ꢋꢉꢃ  
ꢃꢂꢃ 2*+ꢋꢇꢃ  
ꢃꢂꢂ 2*+ꢋꢂꢏꢃ  
ꢂꢃꢃ 2*+ꢋꢊꢎꢃ  
ꢂꢃꢂ 2*+ꢋꢏꢉꢃ  
ꢂꢂꢃ 2*+ꢋꢂꢎꢇꢃ  
6
ꢁꢄꢆꢌꢅ %5+ꢋ1ꢁ&  
ꢁ4  
ꢁꢈꢃꢃꢃ$*ꢉꢁ64&4  
$KV  
$KVꢋ(KGNF  
4ꢋ9  
$[VGꢀVQꢀ5GPFꢀꢐ9ꢑꢀQTꢀ4GEGKXGFꢀ$[VGꢀꢐ4ꢑ  
4ꢋ9  
4GUGV  
:
:
:
:
:
:
:
:
0
ꢊꢁ4ꢀꢒꢀ4GCFꢀ9ꢀꢒꢀ9TKVGꢀ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KV  
2QUKVKQP $KVꢋ(KGNF  
4ꢋ9 8CNWG &GUETKRVKQP  
4ꢋ9 5QHVYCTGꢀYTKVGUꢀCꢀD[VGꢀVQꢀVJKUꢀ  
ꢍꢌꢃ  
TGIKUVGTꢅꢀDGHQTGꢀUGVVKPIꢀVJGꢀ6'ꢀDKVꢅꢀ  
CNNQYKPIꢀVJGꢀ%5+ꢋ1ꢀVQꢀUGPFꢀKVꢄꢀ5QHVꢌ  
YCTGꢀTGCFUꢀCꢀTGEGKXGFꢀD[VGꢀHTQOꢀVJKUꢀ  
TGIKUVGTꢅꢀCHVGTꢀVJGꢀ%5+ꢋ1ꢀUGVUꢀVJGꢀ'(ꢀ  
HNCIꢀKPꢀTGURQPUGꢀVQꢀUQHVYCTGꢀUGVVKPIꢀ  
VJGꢀ4'ꢀDKVꢄ  
+05647%6+10 5'6  
The Z80S188 includes the 8S180 processor, which is descended from the ZiLOG  
Z80. Its 8-bit data bus and 23-bit address space fit well into a wide variety of mid-  
range embedded processing applications, providing significantly more computing  
power than a microcontroller, at a fraction of the system cost of a larger micropro-  
cessor.  
For details of these instructions see the Z80S188 User Manual, or the Z8S180 or  
Z80185 User Manuals until the Z80S188 UM is available.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢍꢍ  
+
5
%
ꢀ+  
%.#55'51(ꢁ+05647%6+105  
6
ꢁꢄꢆꢎꢅ .  
ꢁ+  
1RGTCPFU  
/PGOQPKE  
+PUVTWEVKQP  
.&  
212  
275*  
FUVꢅUTE  
FUV  
UTE  
.QCF  
2QR  
2WUJ  
6
ꢁꢄꢆꢏꢅ #  
ꢁ+  
/PGOQPKE  
1RGTCPFU  
+PUVTWEVKQP  
#&%  
#&&  
%2  
FUVꢅUTE  
FUVꢅUTE  
#ꢅUTE  
#FFꢀYKVJꢀ%CTT[  
#FF  
%QORCTG  
%2&ꢐ4ꢑ  
%2+ꢐ4ꢑ  
&##  
&'%  
+0%  
/.6  
0')  
5$%  
57$  
$NQEMꢀ5ECPꢅꢀFGETGOGPVKPIꢀꢐCPFꢀ4GRGCVꢑ  
$NQEMꢀ5ECPꢅꢀKPETGOGPVKPIꢀꢐCPFꢀ4GRGCVꢑ  
&GEKOCNꢀ#FLWUVꢀ#EEWOWNCVQT  
&GETGOGPV  
+PETGOGPV  
/WNVKRN[  
0GICVGꢀ#EEWOWNCVQT  
5WDVTCEVꢀYKVJꢀ%CTT[  
5WDVTCEV  
FUV  
FUV  
TT  
FUVꢅUTE  
#ꢅUTE  
6
ꢁꢄꢆꢐꢅ .  
ꢁ+  
/PGOQPKE  
1RGTCPFU  
+PUVTWEVKQP  
#0&  
%2.  
14  
656  
:14  
#ꢅUTE  
.QIKECNꢀ#0&  
%QORNGOGPVꢀCEEWOWNCVQT  
.QIKECNꢀ14  
6GUVꢀCEEWOWNCVQT  
.QIKECNꢀ'ZENWUKXGꢀ14  
#ꢅUTE  
#ꢅUTE  
#ꢅUTE  
6
ꢁꢄꢆꢑꢅ '  
ꢁ+  
/PGOQPKE  
1RGTCPFU  
+PUVTWEVKQP  
':  
':  
':  
'::  
#(ꢅ#(  
&'ꢅ*.  
ꢐ52ꢑꢅTT  
'ZEJCPIGꢀ#EEWOWNCVQTꢀCPFꢀ(NCIU  
'ZEJCPIGꢀ&'ꢀCPFꢀ*.  
'ZEJCPIGꢀTGIKUVGTꢀCPFꢀVQRꢀQHꢀUVCEMꢀ  
'ZEJCPIGꢀTGIKUVGTꢀDCPMU  
ꢂꢍꢇ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
%
ꢀ+  
+
5
6
ꢁꢄꢆꢂꢅ 2  
ꢁ%  
ꢁ+  
/PGOQPKE  
1RGTCPFU  
+PUVTWEVKQP  
%#..  
%#..  
&,0<  
,2  
EEꢅFUV  
FUV  
FUV  
EEꢅFUV  
FUV  
%QPFKVKQPCNꢀ%CNN  
%CNN  
&GETGOGPVꢀCPFꢀ,WORꢀKHꢀ0QPꢌ<GTQ  
%QPFKVKQPCNꢀ,WOR  
,WOR  
,2  
,4  
,4  
EE ꢅFUV  
FUV  
%QPFKVKQPCNꢀ,WORꢀ4GNCVKXG  
,WORꢀ4GNCVKXG  
4'6  
4'6  
4'6+  
4'60  
456  
EE  
%QPFKVKQPCNꢀ4GVWTP  
4GVWTP  
4GVWTPꢀHTQOꢀ+PVGTTWRV  
4GVWTPꢀHTQOꢀ0QPꢌOCUMCDNGꢀKPVGTTWRV  
4GUVCTV  
FUV  
6
ꢁꢄꢆꢓꢅ $ ꢁ/  
ꢁ+  
/PGOQPKE  
1RGTCPFU  
+PUVTWEVKQP  
$+6  
4'5  
5'6  
PꢅUTE  
PꢅFUV  
PꢅFUV  
$KVꢀVGUV  
4GUGVꢀDKV  
5GVꢀDKV  
6
ꢁꢄꢌꢃꢅ $  
ꢁ6  
ꢁ+  
/PGOQPKE  
1RGTCPFU  
+PUVTWEVKQP  
.&&ꢐ4ꢑ  
.&+ꢐ4ꢑ  
$NQEMꢀ/QXGꢅꢀFGETGOGPVKPIꢀꢐCPFꢀ4GRGCVꢑ  
$NQEMꢀ/QXGꢅꢀKPETGOGPVKPIꢀꢐCPFꢀ4GRGCVꢑ  
6
ꢁꢄꢌꢄꢅ 4  
ꢁ# ꢁ5  
ꢁ+  
/PGOQPKE  
1RGTCPFU  
+PUVTWEVKQP  
4.  
FUV  
4QVCVGꢀ.GHV  
4.#  
4.%  
4.%#  
4.&  
44  
44#  
44%  
44%#  
4QVCVGꢀ.GHVꢀ#EEWOWNCVQT  
4QVCVGꢀ.GHVꢀ%KTEWNCT  
4QVCVGꢀ.GHVꢀ%KTEWNCTꢀ#EEWOWNCVQT  
4QVCVGꢀ.GHVꢀ&GEKOCN  
FUV  
FUV  
FUV  
4QVCVGꢀ4KIJV  
4QVCVGꢀ4KIJVꢀ#EEWOWNCVQT  
4QVCVGꢀ4KIJVꢀ%KTEWNCT  
4QVCVGꢀ4KIJVꢀ%KTEWNCTꢀ#EEWOWNCVQT  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢍꢁ  
+
5
2
ꢀ(  
6
ꢁꢄꢌꢄꢅ 4  
ꢁ# ꢁ5  
ꢁ+  
ꢁꢁꢈ%  
+PUVTWEVKQP  
/PGOQPKE  
1RGTCPFU  
44&  
5.#  
54#  
54.  
4QVCVGꢀ4KIJVꢀ&GEKOCN  
5JKHVꢀ.GHV  
5JKHVꢀ4KIJVꢀ#TKVJOGVKE  
5JKHVꢀ4KIJVꢀ.QIKECN  
FUV  
FUV  
FUV  
6
ꢁꢄꢌꢆꢅ +  
ꢋ1  
ꢁ+  
/PGOQPKE  
1RGTCPFU  
+PUVTWEVKQP  
+0  
+0  
+0ꢃ  
#ꢅꢐPꢑ  
Tꢅꢐ%ꢑ  
TꢅꢐPꢑ  
+PRWVꢀVQꢀ#ꢀHTQOꢀRQTVꢀP  
+PRWVꢀVQꢀTGIKUVGTꢀHTQOꢀRQTVꢀKPꢀ$%  
+PRWVꢀVQꢀTꢀHTQOꢀRQTVꢀPꢀKPꢀRCIGꢀꢃ  
+0&ꢐ4ꢑ  
+0+ꢐ4ꢑ  
16&/ꢐ4ꢑ  
$NQEMꢀ+PRWVꢅꢀFGETGOGPVKPIꢀꢐCPFꢀ4GRGCVꢑ  
$NQEMꢀ+PRWVꢅꢀKPETGOGPVKPIꢀꢐCPFꢀ4GRGCVꢑ  
$NQEMꢀ1WVRWVꢅꢀRCIGꢀꢃꢅꢀFGETGOGPVKPIꢀꢐCPFꢀ  
4GRGCVꢑ  
16+/ꢐ4ꢑ  
$NQEMꢀ1WVRWVꢅꢀRCIGꢀꢃꢅꢀKPETGOGPVKPIꢀꢐCPFꢀ  
4GRGCVꢑ  
176  
176  
176ꢃ  
176&ꢀꢐ16&4ꢑ  
176+ꢀꢐ16+4ꢑ  
656+1  
ꢐPꢑꢅ#  
ꢐ%ꢑꢅT  
ꢐPꢑꢅT  
1WVRWVꢀHTQOꢀ#ꢀVQꢀRQTVꢀP  
1WVRWVꢀHTQOꢀTGIKUVGTꢀVQꢀRQTVꢀKPꢀ$%  
1WVRWVꢀHTQOꢀTGIKUVGTꢀVQꢀRQTVꢀPꢀKPꢀRCIGꢀꢃ  
$NQEMꢀ1WVRWVꢅꢀFGETGOGPVKPIꢀꢐCPFꢀ4GRGCVꢑ  
$NQEMꢀ1WVRWVꢅꢀKPETGOGPVKPIꢀꢐCPFꢀ4GRGCVꢑ  
6GUVꢀRQTVꢀꢐꢃꢅ%ꢑꢀWPFGTꢀOCUM  
P
6
ꢁꢄꢌꢌꢅ 2  
ꢁ%  
ꢁ+  
/PGOQPKE  
1RGTCPFU  
+PUVTWEVKQP  
%%(  
&+  
'+  
*#.6  
+/  
012  
5%(  
5.2  
%QORNGOGPVꢀ%CTT[ꢀ(NCI  
&KUCDNGꢀ+PVGTTWRVU  
'PCDNGꢀ+PVGTTWRVU  
*CNV  
+PVGTTWRVꢀ/QFG  
0Qꢀ1RGTCVKQP  
5GVꢀ%CTT[ꢀ(NCI  
5NGGR  
ꢃꢋꢂꢋꢎ  
241%'5514ꢁ(.#)5  
The following Figure shows the Flags register. Bits in this register are set and  
cleared by certain instructions as described in the Z80S188 User Manual. Some of  
the Flags can be tested by conditional JR, JP, CALL, and RET instructions, and  
ꢂꢇꢃ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
%
ꢀ%  
+
5
some are used by subsequent instructions such as ADC, SBC, and DAA. The  
Flags can also have PUSH and POP instructions applied to them with the accumu-  
lator A.  
6
ꢁꢄꢌꢎꢅ (  
ꢁ4  
$KV  
5
<
Z
Z
Z
Z
2ꢋ8  
0
%(  
0COG  
4GUGV  
*%  
0
ꢊꢁ:ꢀꢒꢀ+PFGVGTOKPCVG  
$KVꢋ  
$KV  
(KGNF 2QUKVKQP &GUETKRVKQP  
5
<
5KIPꢀ(NCI  
<GTQꢀ(NCI  
4GUGTXGF  
*%  
*CNHꢌECTT[ꢀ(NCI  
4GUGTXGF  
2ꢋ8  
0
2CTKV[ꢀQTꢀ1XGTHNQYꢀ(NCI  
#FFꢋ5WDVTCEVꢀ(NCI  
%CTT[ꢀ(NCI  
%(  
%10&+6+10ꢁ%1&'5  
Table 135 shows the codes used in the “Flags Affected” columns of the later  
Instruction Summary Table, to indicate how each Flag is affected by each type of  
instruction.  
6
ꢁꢄꢌꢏꢅ (  
ꢁ5  
ꢁ&  
5[ODQN  
&GHKPKVKQP  
%NGCTGFꢀVQꢀꢂ  
5GVꢀVQꢀꢂ  
5GVꢀQTꢀENGCTGFꢀCEEQTFKPIꢀVQꢀVJGꢀTGUWNVꢀQHꢀVJGꢀQRGTCVKQP  
7PCHHGEVGF  
:
7PFGHKPGF  
8
2
0<  
5GVꢀKHꢀ1XGTHNQYꢀQTꢀ7PFGTHNQY  
5GVꢀKHꢀ2CTKV[ꢀQTꢀTGUWNVꢀKUꢀ'XGP  
5GVꢀKHꢀVJGꢀEQWPVꢀKPꢀ$ꢀQTꢀ$%ꢀKUꢀ0QPꢌ<GTQ  
The following table shows the condition codes that can be used in conditional JP,  
CALL, and RETinstructions in assembly language. A subset of these codes can  
also be used in JRinstructions, which are shorter and faster than JP’s.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢇꢂ  
+
5
%
ꢀ%  
6
ꢁꢄꢌꢐꢅ %  
ꢁ%  
/PGOQPKE &GHKPKVKQP  
(NCIꢁ5GVVKPIU  
8CNKFꢁKPꢁ,4!  
%
0%  
<
0<  
/
2
2'  
21  
8
%CTT[  
0Qꢀ%CTT[  
<GTQ  
0QPꢌ<GTQ  
/KPWU  
2QUKVKXGꢀQTꢀꢃ  
2CTKV[ꢀ'XGP  
2CTKV[ꢀ1FF  
1XGTHNQY  
0Qꢀ1XGTHNQY  
%(ꢀꢒꢀꢂ  
%(ꢀꢒꢀꢃ  
<ꢀꢒꢀꢂ  
<ꢀꢒꢀꢃ  
5ꢀꢒꢀꢂ  
;
;
;
;
0
0
0
0
0
0
5ꢀꢒꢀꢃ  
2ꢋ8ꢀꢒꢀꢂ  
2ꢋ8ꢀꢒꢀꢃ  
2ꢋ8ꢀꢒꢀꢂ  
2ꢋ8ꢀꢒꢀꢃ  
08  
ꢂꢇꢎ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
0
+
5
016#6+10  
The following table describes other notation used in the subsequent Instruction  
Summary table.  
6
ꢁꢄꢌꢑꢅ 5  
5[ODQN  
ꢐCCꢑ  
&GHKPKVKQP  
ꢐOPꢑꢅꢀꢐ+:vFꢑꢅꢀꢐ+;vFꢑꢅꢀꢐ$%ꢑꢅꢀꢐ&'ꢑꢅꢀQTꢀꢐ*.ꢑꢄ  
ꢐ$%ꢑꢅꢀꢐ&'ꢑꢅꢀꢐ*.ꢑ 6JGꢀꢇꢌDKVꢀEQPVGPVUꢀQHꢀOGOQT[ꢅꢀCVꢀVJGꢀCFFTGUUꢀRQKPVGFꢀVQꢀ  
D[ꢀCꢀTGIKUVGTꢀRCKT  
ꢐ+:vFꢑꢅꢀꢐ+;vFꢑ 6JGꢀꢇꢌDKVꢀEQPVGPVꢀQHꢀOGOQT[ꢀCVꢀVJGꢀCFFTGUUꢀHQTOGFꢀD[ꢀ  
CFFKPIꢀVJGꢀEQPVGPVUꢀQHꢀVJGꢀKPFGZꢀTGIKUVGTꢀCPFꢀVJGꢀUKIPGFꢀ  
FKURNCEGOGPVꢀFꢀKPꢀVJGꢀKPUVTWEVKQPꢄ  
ꢐOPꢑ  
ꢐ52ꢑ  
6JGꢀꢇꢌDKVꢀEQPVGPVꢀQHꢀOGOQT[ꢀCVꢀVJGꢀFKTGEVꢀCFFTGUUꢀOP  
6JGꢀꢂꢏꢌDKVꢀEQPVGPVUꢀQHꢀOGOQT[ꢀCVꢀVJGꢀCFFTGUUꢀRQKPVGFꢀVQꢀ  
D[ꢀ52ꢅꢀCPFꢀVJGꢀPGZVꢀJKIJGTꢀCFFTGUUꢄ  
vF  
$GECWUGꢀFꢀKUꢀUKIPGFꢅꢀKVꢀYQWNFꢀDGꢀOQTGꢀEQTTGEVꢀVQꢀLWUVꢀYTKVGꢀ  
ꢔꢀKPUVGCFꢄꢀ$WVꢀYGꢀYTKVGꢀvꢀVQꢀGORJCUK\GꢀVJCVꢀFꢀKUꢀUKIPGFꢄ  
#(  
D
#ꢀEQPECVGPCVGFꢀYKVJꢀ(ꢅꢀYKVJꢀ#ꢀCUꢀVJGꢀ/5ꢀD[VG  
#ꢀDKVꢀPWODGTꢀꢃꢌꢍ  
EE  
EE  
#ꢀEQPFKVKQPꢀEQFGꢀ%ꢅꢀ0%ꢅꢀ<ꢅꢀ0<ꢅꢀ5ꢅꢀ/ꢅꢀ2'ꢅꢀ28ꢅꢀ8ꢅꢀQTꢀ08  
#ꢀEQPFKVKQPꢀEQFGꢀ%ꢅꢀ0%ꢅꢀ<ꢅꢀQTꢀ0<  
F
GG  
#PꢀꢇꢌDKVꢀUKIPGFꢀFKURNCEGOGPVꢀꢌꢂꢎꢇ ꢂꢎꢍ  
#ꢀꢂꢏꢌDKVꢀTGIKUVGTꢀ$%ꢅꢀ&'ꢅꢀ*.ꢅꢀ52ꢅꢀ+:ꢅꢀQTꢀ+;  
+'(ꢂꢅꢎ  
6JGꢀRTQEGUUQT UꢀVYQꢀ+PVGTTWRVꢀ'PCDNGꢀ(NCIUꢄꢀ5GGꢀVJGꢀ +PVGTꢌ  
TWRVU ꢀUGEVKQPꢀHQTꢀOQTGꢀFGVCKNꢄ  
OP  
#ꢀꢂꢏꢌDKVꢀKOOGFKCVGꢀFCVCꢀXCNWGꢀQTꢀFKTGEVꢀCFFTGUU  
P
#ꢀꢇꢌDKVꢀKOOGFKCVGꢀXCNWGꢀQTꢀRQTVꢀPWODGTꢅꢀꢃ ꢎꢆꢆ*ꢀQTꢀꢃ ((*  
QRꢂ QRꢎ  
#ꢀTCPIGꢀQHꢀ1Rꢀ%QFGꢀXCNWGUꢅꢀVJCVꢀKPENWFGUꢀUQOGꢀQHꢀVJGꢀ  
XCNWGUꢀDGVYGGPꢀVJGꢀNQYꢀCPFꢀJKIJꢀXCNWGUꢄꢀ5GGꢀVJGꢀ0QVGꢄ  
2%  
RR  
TꢅꢀT  
TT  
2TQITCOꢀ%QWPVGT  
#ꢀꢂꢏꢌDKVꢀTGIKUVGTꢀ$%ꢅꢀ&'ꢅꢀ*.ꢅꢀ52ꢅꢀ+:ꢅꢀ+;ꢅꢀQTꢀ#(  
#PꢀꢇꢌDKVꢀTGIKUVGTꢀ#ꢅꢀ$ꢅꢀ%ꢅꢀ&ꢅꢀ'ꢅꢀ*ꢅꢀQTꢀ.ꢄ  
#ꢀꢂꢏꢌDKVꢀTGIKUVGTꢀ*.ꢅꢀ+:ꢅꢀQTꢀ+;ꢄ  
U
52  
UU  
CPꢀꢇꢌDKVꢀTGIKUVGTꢀQTꢀOGOQT[ꢀNQECVKQP  
5VCEMꢀ2QKPVGT  
#ꢀꢂꢏꢌDKVꢀTGIKUVGTꢀ$%ꢅꢀ&'ꢅꢀ*.ꢅꢀQTꢀ52ꢄ  
6JGꢀOQTGꢌꢀCPFꢀNGUUꢌUKIPKHKECPVꢀꢇꢀDKVUꢀQHꢀCꢀTGIKUVGTꢀRCKT  
UU ꢅꢀUU  
VV  
#ꢀꢂꢏꢌDKVꢀTGIKUVGTꢀNKMGꢀUUꢅꢀGZEGRVꢀVJCVꢀVJGꢀXCNWGꢀVJCVꢀFGUKIꢌ  
PCVGUꢀ*.ꢀKPꢀVJGꢀUUꢀGPEQFKPIꢅꢀJGTGꢀOGCPUꢀ UCOGꢀCUꢀVJGꢀ  
FGUVKPCVKQPꢀTGIKUVGTꢀ*.ꢅꢀ+:ꢅꢀQTꢀ+;   
0
 The – between Op Codes (op1–op2), in the Op Codes column of the  
following Instruction Summary table, indicates all the binary values between the  
lower and upper limits inclusive, that can be formed by incrementing the set of  
bits that differ between the lower and upper value.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢇꢊ  
+
5
#
ꢀ.  
ꢀ5  
'
ꢊꢁ00C0denotes 00, 40, 80, and C0, while 40-BFincludes all the values in  
that range.  
#55'/$.;ꢁ.#0)7#)'ꢁ5;06#:  
For two-operand instructions, Z80 assembly language syntax puts the destination  
operand before the source operand.  
'
LD A,(1234)KUC.QCFKPUVTWEVKQPꢅYJKNGLD (1234),AKUC  
5VQTGꢀKPUVTWEVKQPꢄ  
Past Z80 assemblers allowed the destination operand to be omitted (implicit) if the  
Op Code mnemonic only allowed one destination operand, for example, AND L  
instead of AND A,L. Use of these short forms is discouraged because it is a cause  
of possible error (the programmer mistakes the implicit destination). But for  
legacy code, all known Z80 assemblers still accept the short form.  
0
 The assembly language uses C ambiguously, to designate one of the 8-bit regis-  
ters as well as a condition code to test the Carry flag. This processor description uses CF  
to designate the Carry flag, and HC to designate the Half-Carry flag (as opposed to the 8-  
bit register H).  
+05647%6+10ꢁ57//#4;  
The following table describes each type or class of instruction, using the notation  
described in the preceding sections. The table is sorted by the assembly language  
mnemonics.  
6
ꢁꢄꢌꢂꢅ +  
ꢁ5  
#FFTGUUꢁ/QFG  
1R%QFGꢈUꢉꢁꢈ*GZꢉ  
(NCIUꢁ#HHGEVGF  
*% 2ꢋ8  
+PUVTWEVKQPꢁCPFꢁ1RGTCVKQP  
FUV  
UTE  
5
<
0
%(  
#&%ꢁ#ꢍU  
#ꢀꢀ#ꢀꢔꢀUꢀꢔꢀ%(  
T
P
ꢇꢇ ꢇ(  
%'  
8
ꢐ*.ꢑ  
ꢇ'  
ꢐ+:ꢋ;vFꢑ  
&&ꢋ(&ꢀꢇ'  
'&ꢀꢉ# ꢍ#  
#&%ꢁ*.ꢍUU  
*. ꢀ*.ꢔꢀUUꢀꢔꢀ%(  
8
8
#&&ꢁ#ꢍU  
#ꢀꢀ#ꢀꢔꢀU  
T
P
ꢇꢃ ꢇꢍ  
%ꢏ  
ꢐ*.ꢑ  
ꢇꢏ  
ꢐ+:ꢋ;vFꢑ  
&&ꢋ(&ꢀꢇꢏ  
ꢃꢁ ꢊꢁ  
&&ꢋ(&ꢀꢃꢁ ꢊꢁ  
#ꢃ #ꢍ  
'ꢏ  
#&&ꢁTTꢍVV  
TT ꢀTTꢀꢔꢀVV  
*.  
+:ꢋ;  
#0&ꢁ#ꢍU  
T
P
2
#ꢀꢀ#ꢀCPFꢀU  
ꢐ*.ꢑ  
#ꢏ  
ꢐ+:ꢋ;vFꢑ  
&&ꢋ(&ꢀ#ꢏ  
ꢂꢇꢉ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
+
ꢀ5  
+
5
6
ꢁꢄꢌꢂꢅ +  
ꢁ5  
ꢁꢈ%  
#FFTGUUꢁ/QFG  
1R%QFGꢈUꢉꢁꢈ*GZꢉ  
(NCIUꢁ#HHGEVGF  
*% 2ꢋ8  
+PUVTWEVKQPꢁCPFꢁ1RGTCVKQP  
FUV  
UTE  
5
<
0
%(  
$+6ꢁDꢍO  
<ꢀꢀPQVꢀꢐDKVꢀDꢀQHꢀOꢑ  
T
%$ꢀꢉꢃ ꢍ(  
%$ꢀꢉꢏ ꢍ'  
:
:
ꢐ*.ꢑ  
ꢐ+:ꢋ;vFꢑ &&ꢋ(&%$F ꢍ'  
%ꢉ (%  
%#..EEꢍOP  
+(ꢀEEꢀ]52ꢀꢀ52ꢀ ꢀꢎ  
ꢐ52ꢑꢀꢀ2%  
2%ꢀꢀOP_  
%#..ꢁOP  
%&  
ꢊ(  
52ꢀꢀ52ꢀ ꢀꢎ  
ꢐ52ꢑꢀꢀ2%  
2%ꢀꢀOP  
%%(  
%(ꢀPQVꢀ%(  
%2ꢁ#ꢍU  
#ꢀ ꢀU  
T
P
$ꢇ $(  
('  
8
ꢐ*.ꢑ  
$'  
ꢐ+:ꢋ;vFꢑ  
&&ꢋ(&ꢀ$'  
'&ꢀ#ꢁ  
%2&  
#ꢀꢀꢐ*.ꢑ  
*.ꢀꢀ*.ꢀ ꢀꢂ  
$%ꢀꢀ$%ꢀ ꢀꢂ  
0<  
0<  
%2&4  
'&ꢀ$ꢁ  
TGRGCVꢀ]#ꢀꢀꢐ*.ꢑ  
*.ꢀꢀ*.ꢀ ꢀꢂ  
$%ꢀꢀ$%ꢀ ꢀꢂ  
_ꢀYJKNGꢀꢐPQVꢀ<ꢀCPFꢀ$%ꢀꢚꢒꢀꢃꢑ  
%2+  
#ꢀꢀꢐ*.ꢑ  
*.ꢀꢀ*.ꢀꢔꢀꢂ  
$%ꢀꢀ$%ꢀ ꢀꢂ  
'&ꢀ#ꢂ  
'&ꢀ$ꢂ  
0<  
0<  
%2+4  
TGRGCVꢀ]#ꢀꢀꢐ*.ꢑ  
*.ꢀꢀ*.ꢀꢔꢀꢂ  
$%ꢀꢀ$%ꢀ ꢀꢂ  
_ꢀYJKNGꢀꢐPQVꢀ<ꢀCPFꢀ$%ꢀꢚꢒꢀꢃꢑ  
%2.  
# PQVꢀ#  
ꢎ(  
ꢎꢍ  
&##  
2
# FGEKOCNꢀCFLWUVꢀꢐ#ꢅ(ꢑ  
&'%ꢁGG  
GGꢀꢀGGꢀ ꢀꢂ  
UU  
+:ꢋ;  
ꢃ$ ꢊ$  
&&ꢋ(&ꢀꢎ$  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢇꢆ  
+
5
+
ꢀ5  
6
ꢁꢄꢌꢂꢅ +  
ꢁ5  
ꢁꢈ%  
#FFTGUUꢁ/QFG  
FUV UTE  
1R%QFGꢈUꢉꢁꢈ*GZꢉ  
(NCIUꢁ#HHGEVGF  
*% 2ꢋ8  
+PUVTWEVKQPꢁCPFꢁ1RGTCVKQP  
5
<
0
%(  
&'%ꢁO  
OꢀꢀOꢀ ꢀꢂ  
T
ꢃꢆ ꢊ&  
ꢊꢆ  
8
ꢐ*.ꢑ  
ꢐ+:ꢋ;vFꢑ  
&&ꢋ(&ꢀꢊꢆ  
(ꢊ  
&+  
+'(ꢂꢅꢎꢀꢀꢃ  
&,0<ꢁF  
ꢂꢃ  
$ꢀ$ꢀ ꢀꢂ  
KHꢀ$ꢀꢚꢒꢀꢃꢀ]2%ꢀꢀ2%vF_  
'+  
($  
ꢃꢇ  
+'(ꢂꢅꢎꢀꢀꢂ  
':ꢁ#(ꢍ#(  
#(ꢀꢀ#(  
':ꢁꢈ52ꢉꢍTT  
ꢐ52ꢑꢀꢀTT  
*.  
'ꢊ  
&&ꢋ(&ꢀ'ꢊ  
&ꢁ  
+:ꢋ;  
'::  
$%ꢀꢀ$%  
&'ꢀꢀ&'  
*.ꢀꢀ*.  
*#.6  
+/ꢁP  
ꢍꢏ  
'&ꢀꢉꢃ ꢆꢇ  
&$  
+0ꢁ#ꢍꢈPꢉ  
#ꢀꢀꢐPꢑ  
+0Tꢍꢈ%ꢉ  
Tꢀꢀꢐ$%ꢑ  
'&ꢀꢉꢃ ꢍꢇ  
'&ꢀꢃꢃ ꢊꢇ  
2
2
+0ꢃꢁTꢍꢈPꢉ  
TꢀꢀꢐꢃꢅPꢑ  
+0%ꢁGG  
GGꢀꢀGGꢀꢔꢀꢂ  
UU  
+:ꢋ;  
T
ꢃꢊ ꢊꢊ  
&&ꢋ(&ꢀꢎꢊ  
ꢃꢉ ꢊ%  
ꢊꢉ  
+0%ꢁO  
OꢀꢀOꢀꢔꢀꢂ  
8
:
ꢐ*.ꢑ  
+:ꢋ;  
&&ꢋ(&ꢀꢊꢉ  
'&ꢀ##  
+0&  
:
:
ꢐ*.ꢑꢀꢀꢐ%ꢑ  
$ꢀꢀ$ꢀ ꢀꢂ  
*.ꢀꢀ*.ꢀ ꢀꢂ  
+0&4  
'&ꢀ$#  
:
:
:
FQꢀ]ꢐ*.ꢑꢀꢀꢐ%ꢑ  
$ꢀꢀ$ꢀ ꢀꢂ  
*.ꢀꢀ*.ꢀ ꢀꢂ  
_ꢀYJKNGꢀ$ꢀꢚꢒꢀꢃ  
ꢂꢇꢏ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
+
ꢀ5  
+
5
6
ꢁꢄꢌꢂꢅ +  
ꢁ5  
ꢁꢈ%  
#FFTGUUꢁ/QFG  
1R%QFGꢈUꢉꢁꢈ*GZꢉ  
(NCIUꢁ#HHGEVGF  
*% 2ꢋ8  
+PUVTWEVKQPꢁCPFꢁ1RGTCVKQP  
FUV  
UTE  
5
<
0
%(  
+0+  
'&ꢀ#ꢎ  
:
:
:
ꢐ*.ꢑꢀꢀꢐ%ꢑ  
$ꢀꢀ$ꢀ ꢀꢂ  
*.ꢀꢀ*.ꢀꢔꢀꢂ  
+0+4  
'&ꢀ$ꢎ  
:
:
:
FQꢀ]ꢐ*.ꢑꢀꢀꢐ%ꢑ  
$ꢀꢀ$ꢀ ꢀꢂ  
*.ꢀꢀ*.ꢀꢔꢀꢂ  
_ꢀYJKNGꢀ$ꢀꢚꢒꢀꢃ  
,2ꢁꢈTTꢉ  
ꢐ*.ꢑ  
'ꢁ  
2%ꢀꢀTT  
ꢐ+:ꢋ;ꢑ  
&&ꢋ(&ꢀ'ꢁ  
%ꢎ (#  
,2ꢁEEꢍOP  
KHꢀEEꢀ]2%ꢀꢀOP_  
,2ꢁOP  
2%ꢀꢀOP  
%ꢊ  
ꢂꢃ ꢊꢇ  
ꢂꢇ  
,4ꢁEE ꢍF  
KHꢀEE ꢀ]2%ꢀꢀ2%ꢀvꢀF_  
,4ꢁF  
2%ꢀꢀ2%ꢀvꢀF  
.&ꢁꢈCCꢉꢍ#  
ꢐCCꢑꢀꢀ#  
ꢐ$%ꢑ  
ꢐ&'ꢑ  
ꢐ*.ꢑ  
ꢐOPꢑ  
ꢃꢎ  
ꢂꢎ  
ꢍꢍ  
ꢊꢎ  
ꢐ+:ꢋ;vFꢑ  
&&ꢋ(&ꢀꢍꢍ  
ꢎꢎ  
.&ꢁꢈOPꢉꢍGG  
ꢐOPꢑꢀꢀGG  
*.  
UU  
'&ꢀꢉꢊ ꢍꢊ  
&&ꢋ(&ꢀꢎꢎ  
ꢃ#  
+:ꢋ;  
ꢐ$%ꢑ  
ꢐ&'ꢑ  
ꢐ*.ꢑ  
ꢐOPꢑ  
.&ꢁ#ꢅꢐCCꢑ  
#ꢀꢀꢐCCꢑ  
ꢂ#  
ꢍ'  
ꢊ#  
ꢐ+:ꢋ;vFꢑ  
&&ꢋ(&ꢀꢍ'  
'&ꢀꢆꢍ  
.&ꢁ#ꢍ+  
#ꢀꢀ+  
+'(ꢎ  
+'(ꢎ  
.&ꢁ#ꢍ4  
'&ꢀꢆ(  
#ꢀꢀ4  
.&ꢁGGꢍOP  
GGꢀꢀOP  
UU  
+:ꢋ;  
*.  
ꢃꢂ ꢊꢂ  
&&ꢋ(&ꢀꢎꢂ  
ꢎ#  
.&ꢁGGꢍꢈOPꢉ  
GGꢀꢀꢐOPꢑ  
UU  
'&ꢀꢉ$ ꢍ$  
&&ꢋ(&ꢀꢎ#  
+:ꢋ;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢇꢍ  
+
5
+
ꢀ5  
6
ꢁꢄꢌꢂꢅ +  
ꢁ5  
ꢁꢈ%  
#FFTGUUꢁ/QFG  
1R%QFGꢈUꢉꢁꢈ*GZꢉ  
(NCIUꢁ#HHGEVGF  
*% 2ꢋ8  
+PUVTWEVKQPꢁCPFꢁ1RGTCVKQP  
FUV  
UTE  
5
<
0
%(  
.&ꢁ+ꢍ#  
'&ꢀꢉꢍ  
+ꢀꢀ#  
.&ꢁOꢍP  
OꢀꢀP  
T
ꢐ*.ꢑ  
ꢃꢏ ꢊ'  
ꢊꢏ  
ꢐ+:ꢋ;vFꢑ  
T
&&ꢋ(&ꢀꢊꢏ  
ꢉꢃ ꢍ(  
.&ꢁOꢍT  
OꢀꢀT  
ꢐ*.ꢑ  
ꢍꢃ ꢍꢍ  
ꢐ+:ꢋ;vFꢑ  
&&ꢋ(&ꢀꢍꢃ ꢍꢍ  
'&ꢀꢉ(  
.&ꢁ4ꢍ#  
4ꢀꢀ#  
.&ꢁTꢅU  
TꢀꢀU  
T
ꢉꢃ ꢍ(  
ꢃꢏ ꢊ'  
P
ꢐ*.ꢑ  
ꢉꢏ ꢍ'  
ꢐ+:ꢋ;vFꢑ  
*.  
&&ꢋ(&ꢀꢉꢏ ꢍ'  
(ꢁ  
.&ꢁ52ꢍTT  
52ꢀꢀTT  
+:ꢋ;  
&&ꢋ(&ꢀ(ꢁ  
'&ꢀ#ꢇ  
.&&  
0<  
ꢐ&'ꢑꢀꢀꢐ*.ꢑ  
&'ꢀꢀ&'ꢀ ꢀꢂ  
*.ꢀꢀ*.ꢀ ꢀꢂ  
$%ꢀꢀ$%ꢀ ꢀꢂ  
.&&4  
'&ꢀ$ꢇ  
FQꢀ]ꢐ&'ꢑꢀꢀꢐ*.ꢑ  
&'ꢀꢀ&'ꢀ ꢀꢂ  
*.ꢀꢀ*.ꢀ ꢀꢂ  
$%ꢀꢀ$%ꢀ ꢀꢂ  
_ꢀYJKNGꢀ$%ꢀꢚꢒꢀꢃ  
.&+  
'&ꢀ#ꢃ  
'&ꢀ$ꢃ  
0<  
ꢐ&'ꢑꢀꢀꢐ*.ꢑ  
&'ꢀꢀ&'ꢀꢔꢀꢂ  
*.ꢀꢀ*.ꢀꢔꢀꢂ  
$%ꢀꢀ$%ꢀ ꢀꢂ  
.&+4  
FQꢀ]ꢐ&'ꢑꢀꢀꢐ*.ꢑ  
&'ꢀꢀ&'ꢀꢔꢀꢂ  
*.ꢀꢀ*.ꢀꢔꢀꢂ  
$%ꢀꢀ$%ꢀ ꢀꢂ  
_ꢀYJKNGꢀ$%ꢀꢚꢒꢀꢃ  
/.6ꢁUU  
UUꢀꢀUU ꢀꢗꢀUU  
'&ꢀꢉ% ꢍ%  
'&ꢀꢉꢉ  
0')  
8
#ꢀꢀꢃꢀ ꢀ#  
ꢂꢇꢇ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
+
ꢀ5  
+
5
6
ꢁꢄꢌꢂꢅ +  
ꢁ5  
ꢁꢈ%  
#FFTGUUꢁ/QFG  
1R%QFGꢈUꢉꢁꢈ*GZꢉ  
(NCIUꢁ#HHGEVGF  
*% 2ꢋ8  
+PUVTWEVKQPꢁCPFꢁ1RGTCVKQP  
012  
FUV  
UTE  
5
<
0
%(  
ꢃꢃ  
$ꢃ $ꢍ  
(ꢏ  
14ꢁ#ꢍU  
#ꢀꢀ#ꢀ14ꢀU  
T
P
2
ꢐ*.ꢑ  
$ꢏ  
ꢐ+:ꢋ;vFꢑ  
&&ꢋ(&ꢀ$ꢏ  
'&ꢀꢇ$  
16&/  
2
ꢐꢃꢅ%ꢑꢀꢀꢐ*.ꢑ  
$ꢀꢀ$ꢀ ꢀꢂ  
%ꢀꢀ%ꢀ ꢀꢂ  
*.ꢀꢀ*.ꢀ ꢀꢂ  
16&/4  
'&ꢀꢇ$  
FQꢀ]ꢐꢃꢅ%ꢑꢀꢀꢐ*.ꢑ  
$ꢀꢀ$ꢀ ꢀꢂ  
%ꢀꢀ%ꢀ ꢀꢂ  
*.ꢀꢀ*.ꢀ ꢀꢂ  
_ꢀYJKNGꢀ$ꢀꢚꢒꢀꢃ  
16&4  
FQꢀ]ꢐ%ꢑꢀꢀꢐ*.ꢑ  
$ꢀꢀ$ꢀ ꢀꢂ  
*.ꢀꢀ*.ꢀ ꢀꢂ  
_ꢀYJKNGꢀ$ꢀꢚꢒꢀꢃ  
'&ꢀ$$  
'&ꢀꢇꢊ  
'&ꢀꢁꢊ  
:
:
:
2
16+/  
ꢐꢃꢅ%ꢑꢀꢀꢐ*.ꢑ  
$ꢀꢀ$ꢀ ꢀꢂ  
%ꢀꢀ%ꢀꢔꢀꢂ  
*.ꢀꢀ*.ꢀꢔꢀꢂ  
16+/4  
FQꢀ]ꢐꢃꢅ%ꢑꢀꢀꢐ*.ꢑ  
$ꢀꢀ$ꢀ ꢀꢂ  
%ꢀꢀ%ꢀꢔꢀꢂ  
*.ꢀꢀ*.ꢀꢔꢀꢂ  
_ꢀYJKNGꢀ$ꢀꢚꢒꢀꢃ  
16+4  
'&ꢀ$ꢊ  
:
:
:
FQꢀ]ꢐ%ꢑꢀꢀꢐ*.ꢑ  
$ꢀꢀ$ꢀ ꢀꢂ  
*.ꢀꢀ*.ꢀꢔꢀꢂ  
_ꢀYJKNGꢀ$ꢀꢚꢒꢀꢃ  
176ꢁꢈ%ꢉꢍT  
ꢐ$%ꢑꢀꢀT  
'&ꢀꢉꢂ ꢍꢁ  
&ꢊ  
176ꢁꢈPꢉꢍ#  
ꢐPꢑꢀꢀ#  
176ꢃꢁꢈPꢉꢍT  
'&ꢀꢃꢂ ꢍꢁ  
ꢐꢃꢅPꢑꢀꢀT  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢇꢁ  
+
5
+
ꢀ5  
6
ꢁꢄꢌꢂꢅ +  
ꢁ5  
ꢁꢈ%  
#FFTGUUꢁ/QFG  
1R%QFGꢈUꢉꢁꢈ*GZꢉ  
(NCIUꢁ#HHGEVGF  
*% 2ꢋ8  
+PUVTWEVKQPꢁCPFꢁ1RGTCVKQP  
FUV  
UTE  
5
<
0
%(  
176&  
'&ꢀ#$  
:
:
:
ꢐ%ꢑꢀꢀꢐ*.ꢑ  
$ꢀꢀ$ꢀ ꢀꢂ  
*.ꢀꢀ*.ꢀ ꢀꢂ  
176+  
'&ꢀ#$  
:
:
:
ꢐ%ꢑꢀꢀꢐ*.ꢑ  
$ꢀꢀ$ꢀ ꢀꢂ  
*.ꢀꢀ*.ꢀꢔꢀꢂ  
212ꢁRR  
RRꢀꢀꢐ52ꢑ  
52ꢀꢀ52ꢀꢔꢀꢎ  
SS  
%ꢂ (ꢂ  
ꢐPQꢀEJCPIGꢀWPNGUUꢀQRGTCPFꢀKUꢀ  
#(ꢑ  
+:ꢋ;  
&&ꢋ(&ꢀ'ꢂ  
275*ꢁRR  
SS  
%ꢆ (ꢆ  
52ꢀꢀ52   
ꢐ52ꢑꢀꢀRR  
+:ꢋ;  
&&ꢋ(&ꢀ'ꢆ  
4'5ꢁDꢍO  
OꢀꢀOꢀCPFꢀPQVꢀꢐꢎ@Dꢑ  
T
%$ꢀꢇꢃ $(  
%$ꢀꢇꢏ $'  
ꢐ*.ꢑ  
ꢐ+:ꢋ;vFꢑ  
&&ꢋ(&ꢀ%$ꢀFꢀꢇꢏ  
$'  
4'6  
%ꢁ  
2%ꢀꢀꢐ52ꢑ  
52ꢀꢀ52ꢀꢔꢀꢎ  
4'6ꢁEE  
KHꢀEEꢀ]2%ꢀꢀꢐ52ꢑ  
52ꢀꢀ52ꢀꢔꢀꢎ_  
%ꢃ (ꢇ  
'&ꢀꢉ&  
4'6+  
2%ꢀꢀꢐ52ꢑ  
52ꢀꢀ52ꢀꢔꢀꢎ  
ꢔꢀTGEQIPKVKQPꢀD[ꢀ<ꢇꢃꢀ  
RGTKRJGTCNU  
4'60  
'&ꢀꢉꢆ  
2%ꢀꢀꢐ52ꢑ  
52ꢀꢀ52ꢀꢔꢀꢎ  
+'(ꢂꢀꢀ+'(ꢎ  
4.ꢁO  
T
%$ꢀꢂꢃ ꢂꢍ  
%$ꢀꢂꢏ  
2
2
ꢐ*.ꢑ  
7
0
C
ꢐ+:ꢋ;vFꢑ  
&&ꢋ(&ꢀ%$ꢀFꢀꢂꢏ  
ꢐ%(ꢅOꢑꢀꢀTQV.ꢐ%(ꢅOꢑ  
4.#  
ꢂꢍ  
7
0
C
ꢐ%(ꢅ#ꢑꢀꢀTQV.ꢐ%(ꢅ#ꢑ  
4.%ꢁO  
T
%$ꢀꢃꢃ ꢃꢍ  
%$ꢀꢃꢏ  
ꢐ*.ꢑ  
7
0
C
ꢐ+:ꢋ;vFꢑ  
&&ꢋ(&ꢀ%$ꢀFꢀꢃꢏ  
ꢐ%(ꢅOꢑꢀꢀTQV.ꢐOꢑ  
ꢂꢁꢃ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
          
          
           
+
ꢀ5  
+
5
6
ꢁꢄꢌꢂꢅ +  
ꢁ5  
ꢁꢈ%  
#FFTGUUꢁ/QFG  
1R%QFGꢈUꢉꢁꢈ*GZꢉ  
(NCIUꢁ#HHGEVGF  
+PUVTWEVKQPꢁCPFꢁ1RGTCVKQP  
4.%#  
FUV  
UTE  
5
<
*% 2ꢋ8  
0
%(  
ꢃꢍ  
7
0
C
ꢐ%(ꢅ#ꢑꢀꢀTQV.ꢐ#ꢑ  
4.&  
VORꢀꢀ#=ꢊꢈꢃ?  
#=ꢊꢈꢃ?ꢀꢀꢐ*.ꢑ=ꢍꢈꢉ?  
ꢐ*.ꢑ=ꢍꢈꢉ?ꢀꢀꢐ*.ꢑ=ꢊꢈꢃ?  
ꢐ*.ꢑ=ꢊꢈꢃ?ꢀꢀVOR  
'&ꢀꢏ(  
2
2
44ꢁO  
T
%$ꢀꢂꢇ ꢂ(  
%$ꢀꢂ'  
ꢐ*.ꢑ  
7
0
C
ꢐ%(ꢅOꢑꢀꢀTQV4ꢐ%(ꢅOꢑ  
ꢐ+:ꢋ;vFꢑ  
T
&&ꢋ(&ꢀ%$ꢀFꢀꢂ'  
ꢂ(  
44#  
7
0
C
ꢐ%(ꢅ#ꢑꢀꢀTQV4ꢐ%(ꢅ#ꢑ  
44%ꢁO  
T
%$ꢀꢃꢇ ꢃ(  
%$ꢀꢃ'  
2
ꢐ*.ꢑ  
7
0
C
ꢐ+:ꢋ;vFꢑ  
&&ꢋ(&ꢀ%$ꢀFꢀꢃ'  
ꢃ(  
ꢐ%(ꢅOꢑꢀꢀTQV4ꢐOꢑ  
44%#  
7
0
C
ꢐ%(ꢅ#ꢑꢀꢀTQV4ꢐ#ꢑ  
44&  
VORꢀꢀꢐ*.ꢑ=ꢊꢈꢃ?  
ꢐ*.ꢑ=ꢊꢈꢃ?ꢀꢀꢐ*.ꢑ=ꢍꢈꢉ?  
ꢐ*.ꢑ=ꢍꢈꢉ?ꢀꢀ#=ꢊꢈꢃ?  
#=ꢊꢈꢃ?ꢀꢀVOR  
'&ꢀꢏꢍ  
%ꢍ ((  
2
2
456ꢁR  
52ꢀꢀ52ꢀ ꢀꢎ  
ꢐ52ꢑꢀꢀ2%  
2%ꢀꢀꢃꢅR  
PQVGꢈRꢒꢃꢅꢇꢅꢂꢃꢅꢂꢇꢅꢄꢄꢄꢅꢊꢇ  
5$%ꢁ#ꢍU  
#ꢀꢀ#ꢀ ꢀUꢀ ꢀ%(  
T
ꢁꢇ ꢁ(  
&'  
8
8
P
ꢐ*.ꢑ  
ꢁ'  
ꢐ+:ꢋ;vFꢑ  
T
&&ꢋ(&ꢀꢁ'  
'&ꢀꢉꢎ ꢍꢎ  
5$%ꢁ*.ꢍUU  
*.ꢀꢀ*.ꢀ ꢀUUꢀ ꢀ%(  
5%(  
ꢊꢍ  
%(ꢀꢀꢂ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢁꢂ  
+
5
+
ꢀ5  
6
ꢁꢄꢌꢂꢅ +  
ꢁ5  
ꢁꢈ%  
#FFTGUUꢁ/QFG  
FUV UTE  
1R%QFGꢈUꢉꢁꢈ*GZꢉ  
(NCIUꢁ#HHGEVGF  
*% 2ꢋ8  
+PUVTWEVKQPꢁCPFꢁ1RGTCVKQP  
5
<
0
%(  
5'6ꢁDꢍO  
OꢀꢀOꢀQTꢀꢐꢎ@Dꢑ  
T
%$ꢀ%ꢃ ((  
%$ꢀ%ꢏ ('  
ꢐ*.ꢑ  
ꢐ+:ꢋ;vFꢑ  
&&ꢋ(&ꢀ%$ꢀFꢀ%ꢏ  
('  
5.#ꢁO  
T
%$ꢀꢎꢃ ꢎꢍ  
%$ꢀꢎꢏ  
2
2
ꢐ*.ꢑ  
7
0
0
C
ꢐ+:ꢋ;vFꢑ  
&&ꢋ(&ꢀ%$ꢀFꢀꢎꢏ  
ꢐ%(ꢅOꢑꢀꢀOꢀꢔꢀO  
5.2  
'&ꢀꢍꢏ  
%$ꢀꢎꢇ ꢎ(  
%$ꢀꢎ'  
54#ꢁO  
T
7
0
ꢐ*.ꢑ  
C
ꢐ+:ꢋ;vFꢑ  
&&ꢋ(&ꢀ%$ꢀFꢀꢎ'  
ꢐOꢅ%(ꢑꢀꢀCTKVJAUJ4ꢐOꢑ  
54.ꢁO  
T
%$ꢀꢊꢇ ꢊ(  
%$ꢀꢊ'  
2
0
7
0
C
ꢐ*.ꢑ  
ꢐOꢅ%(ꢑꢀꢀNQIKEAUJ4ꢐOꢑ  
ꢐ+:ꢋ;vFꢑ  
&&ꢋ(&ꢀ%$ꢀFꢀꢊ'  
ꢁꢃ ꢁꢍ  
57$ꢁ#ꢍU  
T
8
#ꢀꢀ#ꢀ ꢀU  
P
&ꢏ  
ꢐ*.ꢑ  
ꢁꢏ  
ꢐ+:ꢋ;vFꢑ  
&&ꢋ(&ꢀꢁꢏ  
'&ꢀꢃꢉ ꢊ%  
'&ꢀꢏꢉ  
656ꢁ#ꢍU  
T
P
2
#ꢀ#0&ꢀU  
ꢐ*.ꢑ  
'&ꢀꢊꢉ  
656+1ꢁP  
ꢐꢃꢅ%ꢑꢀ#0&ꢀP  
'&ꢀꢊꢉ  
2
2
:14ꢁꢁ#ꢍU  
#ꢀꢀ#ꢀ:14ꢀU  
T
P
#ꢇ #(  
''  
ꢐ*.ꢑ  
#'  
ꢐ+:ꢋ;vFꢑ  
&&ꢋ(&ꢀ#'  
ꢂꢁꢎ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
1 ꢀ%  
ꢀ/  
+
5
12ꢁ%1&'ꢁ/#2  
ꢁꢄꢌꢓꢅ 1 ꢁ%  
6
ꢁ/ ꢁꢈꢄ ꢁ1 ꢁ%  
.19'4ꢁ0+$$.'ꢁꢈ*':ꢉ  
#
$
%
&
'
(
#
$
%
&
'
(
Notes:  
PꢀꢒꢀꢇꢌDKVꢀFCVC  
PPꢀꢒꢀꢂꢏꢌDKVꢀCFFTꢀQTꢀFCVC  
FꢀꢒꢀUKIPGFꢀꢇꢌDKVꢀ  
FKURNCEGOGPV  
.QYGTꢀ1Rꢀ%QFGꢀ0KDDNG  
7RRGT  
1Rꢀ%QFG  
0KDDNG  
/PGOQPKE  
#0&  
#
#ꢅ*  
(KTUVꢀ1RGTCPF  
5GEQPFꢀ1RGTCPF  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢁꢊ  
+
5
1 ꢀ%  
ꢀ/  
6
ꢁꢄꢎꢃꢅ 1 ꢁ%  
ꢁ/ ꢁꢈꢆ ꢁ1 ꢁ%  
ꢁꢃ%$*ꢉ  
.19'4ꢁ0+$$.'ꢁꢈ*':ꢉ  
#
$
%
&
'
(
#
$
%
&
'
(
.QYGTꢀ0KDDNGꢀQHꢀꢎPFꢀ1Rꢀ%QFG  
7RRGT  
0KDDNG  
QHꢀꢎPF  
/PGOQPKE  
4'5  
1Rꢀ%QFG  
#
ꢉꢅ*  
(KTUVꢀ1RGTCPF  
5GEQPFꢀ1RGTCPF  
ꢂꢁꢉ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
1 ꢀ%  
ꢀ/  
+
5
6
ꢁꢄꢎꢄꢅ 1 ꢁ%  
   
ꢁ/ ꢁꢈꢆ ꢁ1 ꢁ%  
    
ꢁ#  
ꢁꢃ&&*ꢉ  
.19'4ꢁ0+$$.'ꢁꢈ*':ꢉ  
#
$
%
&
'
(
#
$
%
&
'
+
(
#
$
%
&
'
(
Notes:  
PꢀꢒꢀꢇꢌDKVꢀFCVC  
PPꢀꢒꢀꢂꢏꢌDKVꢀCFFTꢀQTꢀFCVC  
FꢀꢒꢀUKIPGFꢀꢇꢌDKVꢀ  
FKURNCEGOGPV  
.QYGTꢀ0KDDNGꢀQHꢀꢎPFꢀ1Rꢀ%QFG  
7RRGT  
0KDDNG  
QHꢀꢎPF  
/PGOQPKE  
.&  
52ꢅ+:  
1Rꢀ%QFG  
(
(KTUVꢀ1RGTCPF  
5GEQPFꢀ1RGTCPF  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢁꢆ  
+
5
1 ꢀ%  
ꢀ/  
6
ꢁꢄꢎꢆꢅ 1 ꢁ%  
   
ꢁ/ ꢁꢈꢆ ꢁ1 ꢁ%  
ꢁ#  
ꢁꢃ'&*ꢉ  
.19'4ꢁ0+$$.'ꢁꢈ*':ꢉ  
#
$
%
&
'
(
#
$
%
&
'
(
#
$
%
&
'
(
.QYGTꢀ0KDDNGꢀQHꢀꢎPFꢀ1Rꢀ%QFG  
7RRGT  
0KDDNG  
QHꢀꢎPF  
/PGOQPKE  
5$%  
1Rꢀ%QFG  
*.ꢅ$%  
(KTUVꢀ1RGTCPF  
5GEQPFꢀ1RGTCPF  
ꢂꢁꢏ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
1 ꢀ%  
ꢀ/  
+
5
(
6
ꢁꢄꢎꢌꢅ 1 ꢁ%  
   
ꢁ/ ꢁꢈꢆ ꢁ1 ꢁ%  
    
ꢁ#  
ꢁꢃ(&*ꢉꢁ  
.19'4ꢁ0+$$.'ꢁꢈ*':ꢉ  
#
$
%
&
'
#
$
%
&
'
(
#
$
%
&
'
(
Notes:  
PꢀꢒꢀꢇꢌDKVꢀFCVC  
PPꢀꢒꢀꢂꢏꢌDKVꢀCFFTꢀQTꢀFCVC  
FꢀꢒꢀUKIPGFꢀꢇꢌDKVꢀ  
FKURNCEGOGPV  
.QYGTꢀ0KDDNGꢀQHꢀꢎPFꢀ1Rꢀ%QFG  
7RRGT  
0KDDNG  
QHꢀꢎPF  
/PGOQPKE  
.&  
52ꢅ+;  
1Rꢀ%QFG  
(
(KTUVꢀ1RGTCPF  
5GEQPFꢀ1RGTCPF  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢁꢍ  
+
5
1 ꢀ%  
ꢀ/  
6
ꢁꢄꢎꢎꢅ 1 ꢁ%  
   
ꢁ/ ꢁꢈꢎ ꢁ$  
ꢍꢁ  
ꢁꢃ&&*ꢍꢁꢃ%$*ꢍꢁ  
.19'4ꢁ0+$$.'ꢁꢈ*':ꢉ  
     
ꢁFꢉꢁ  
#
$
%
&
'
(
#
$
%
&
'
(
#
$
%
&
'
(
Notes:  
FꢀꢒꢀUKIPGFꢀꢇꢌDKVꢀ  
FKURNCEGOGPV  
.QYGTꢀ0KDDNGꢀQHꢀꢉVJꢀ$[VG  
7RRGT  
6
0KDDNG  
QHꢀꢉVJ  
$[VG  
$+6  
ꢃꢅꢐ+:ꢔFꢑ  
/PGOQPKE  
5GEQPFꢀ1RGTCPF  
4
(KTUVꢀ1RGTCPF  
ꢂꢁꢇ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
1 ꢀ%  
ꢀ/  
+
5
(
6
ꢁꢄꢎꢏꢅ 1 ꢁ%  
   
ꢁ/ ꢁꢈꢎ ꢁ$  
ꢍꢁ  
ꢁꢃ(&*ꢍꢁꢃ%$*ꢍꢁ  
.19'4ꢁ0+$$.'ꢁꢈ*':ꢉ  
     
ꢁ&ꢉꢁ  
#
$
%
&
'
#
$
%
&
'
(
#
$
%
&
'
(
Notes:  
.QYGTꢀ0KDDNGꢀQHꢀꢉVJꢀ$[VG  
7RRGT  
0KDDNG  
QHꢀꢉVJ  
$[VG  
$+6  
ꢃꢅꢐ+;ꢔFꢑ  
/PGOQPKE  
(KTUVꢀ1RGTCPF  
5GEQPFꢀ1RGTCPF  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢂꢁꢁ  
'
%
#
ꢀ/  
ꢀ4  
'.'%64+%#. %*#4#%6'4+56+%5  
#$51.76'ꢁ/#:+/7/ꢁ4#6+0)5  
Stresses greater than those listed below may cause permanent damage to the  
device. These are stress ratings only; proper operation of the device at any condi-  
tion above those indicated in the operational sections of these specifications is not  
implied. Exposure to absolute maximum rating conditions for extended periods  
may affect device reliability.  
6
ꢁꢄꢎꢐꢅ #  
ꢁ/  
ꢁ4  
2CTCOGVGT  
/KP  
/CZ  
7PKVU  
0QVGU  
#ODKGPVꢀ6GORGTCVWTGꢀWPFGTꢀ$KCU  
5VQTCIGꢀ6GORGTCVWTG  
ꢉꢃ  
ꢏꢆ  
ꢔꢂꢃꢆ  
ꢔꢂꢆꢃ  
ꢔꢂꢎ  
%
%
8
8QNVCIGꢀQPꢀCP[ꢀ2KPꢀYKVJꢀ4GURGEVꢀVQꢀ8  
ꢃꢄꢍ  
8QNVCIGꢀQPꢀ8 ꢀ2KPꢀYKVJꢀ4GURGEVꢀVQꢀ8  
ꢃꢄꢊ  
ꢔꢍ  
8
6QVCNꢀ2QYGTꢀ&KUUKRCVKQP  
6$&  
6$&  
O9  
O#  
/CZKOWOꢀ%WTTGPVꢀQWVꢀQHꢀ8  
/CZKOWOꢀ%WTTGPVꢀKPVQꢀ8  
6$&  
O#  
/CZKOWOꢀ%WTTGPVꢀQPꢀ+PRWVꢀCPFꢋQTꢀ+PCEVKXGꢀ1WVRWVꢀ2KP  
/CZKOWOꢀ1WVRWVꢀ%WTTGPV  
6$&  
6$&  
ꢔ6$&  
6$&  
z#  
O#  
0QVGUꢊ  
ꢂꢄ 1RGTCVKPIꢀVGORGTCVWTGꢀKUꢀURGEKHKGFꢀKPꢀ&%ꢀ%JCTCEVGTKUVKEU  
ꢎꢄ #RRNKGUꢀVQꢀCNNꢀRKPUꢀGZEGRVꢀYJGTGꢀPQVGFꢀQVJGTYKUGꢄꢀ/CZKOWOꢀEWTTGPVꢀVJTQWIJꢀCꢀRKPꢀKUꢀURGEKHKGFꢀDGNQYꢄ  
56#0&#4&ꢁ6'56ꢁ%10&+6+105  
Unless otherwise noted, the DC and AC characteristics in this document are  
measured under standard test conditions that include the load circuit described in  
Figure 24. This circuit closely mimics the loading presented by active devices  
such as memories and peripheral devices.  
All voltages are referenced to the Vss pins (ground, 0V). Positive current flows  
into the referenced pin.  
All AC parameters assume a load capacitance of 100 pF. See “Characteristic  
Curves” on page 226 for the effect of lesser or greater total capacitance on the  
timing. AC timing measurements are referenced to the high and low voltage  
thresholds given in the DC specifications, as indicated in Figures 25 through 40.  
ꢎꢃꢃ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
&%ꢀ%  
'
%
+1.  
81.ꢀOCZꢀꢔꢀ81*ꢀOKP  
(TQOꢀ2KP  
%.  
ꢂꢃꢃꢀR(  
+1*  
(
ꢆꢎꢅ 6 ꢁ.  
ꢁ%  
&%ꢁ%*#4#%6'4+56+%5  
Tables 147 and 148 show the DC Characteristics of the Z80S188, for temperature  
ranges T = 0°C to +70°C and –40°C TO +85°C respectively.  
A
6
ꢁꢄꢎꢑꢅ &%ꢁ%  
ꢍꢁ6 ꢁꢒꢁꢃu%ꢁVQꢁꢕꢑꢃu%  
7PKV  
U
5[ODQN 2CTCOGVGT  
%QPFKVKQP  
/KP  
ꢌꢃꢄꢏ  
6[R  
/CZ  
ꢔꢃꢄꢊ  
8
+PRWVꢀJKIJꢀ8QNVCIG  
ꢐ4'5'6ꢅꢀ':6#.ꢅꢀ0/+ꢑ  
8
8
8
8
8
+PRWVꢀJKIJꢀ8QNVCIG  
ꢐ'ZEGRVꢀ4'5'6ꢅꢀ':6#.ꢅꢀ0/+ꢅꢀ  
%-5ꢑ  
ꢎꢄꢃ  
ꢔꢃꢄꢊ  
8
8
8
+PRWVꢀJKIJꢀ8QNVCIGꢀꢐ%-5ꢑ  
ꢎꢄꢉ  
8
ꢔꢃꢄꢊ  
8
8
+PRWVꢀNQYꢀ8QNVCIG  
ꢐ4'5'6ꢅꢀ':6#.ꢅꢀ0/+ꢑ  
ꢌꢃꢄꢊ  
ꢃꢄꢏ  
8
8
+PRWVꢀNQYꢀ8QNVCIG  
ꢐGZEGRVꢀ4'5'6ꢅꢀ':6#.ꢅꢀ0/+ꢑ  
ꢌꢃꢄꢊ  
ꢃꢄꢏ  
8
8
1WVRWVꢀJKIJꢀ8QNVCIG  
+
ꢀꢒꢀꢌꢎꢃꢃꢀW#  
ꢀꢒꢀꢌꢎꢃꢀW#  
ꢀꢒꢀꢎꢄꢎꢀO#  
ꢎꢄꢉ  
+
8
ꢌꢂꢄꢎ  
8
+
1WVRWVꢀNQYꢀ8QNVCIG  
+
ꢃꢄꢉꢆ  
ꢂꢄꢃ  
8
+PRWVꢀ.GCMCIGꢀꢐ#NNꢀKPRWVUꢀ  
GZEGRVꢀ  
8 ꢀꢒꢀꢃꢄꢆꢀVQꢀ8 ꢌꢃꢄꢆ  
W#  
:6#.ꢅꢀ':6#.ꢅꢀ.(:6#.ꢅꢀ  
.(':6#.ꢑ  
+
+
1WVRWVꢀ.GCMCIG  
8 ꢀꢒꢀꢃꢄꢆꢀVQꢀ8 ꢌꢃꢄꢆ  
ꢂꢄꢃ  
W#  
5WRRN[ꢀ%WTTGPVꢀꢐ0QTOCNꢀ1RGTCꢌ  
VKQPꢑ  
ꢎꢃꢀ/*\ꢀꢐPQVGꢀꢂꢑ  
ꢊꢊꢀ/*\ꢀꢐPQVGꢀꢂꢑ  
6$&  
6$&  
6$&  
6$&  
O#  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢎꢃꢂ  
'
%
&%ꢀ%  
6
ꢁꢄꢎꢑꢅ &%ꢁ%  
ꢍꢁ6 ꢁꢒꢁꢃu%ꢁVQꢁꢕꢑꢃu% ꢁꢈ%  
%QPFKVKQP  
7PKV  
U
5[ODQN 2CTCOGVGT  
/KP  
6[R  
/CZ  
+
5VCPFD[ꢀ%WTTGPV  
ꢐ5[UVGOꢀ5VQRꢀ/QFGꢑ  
ꢎꢃꢀ/*\ꢀꢐPQVGꢀꢂꢑ  
ꢊꢊꢀ/*\ꢀꢐPQVGꢀꢂꢑ  
6$&  
6$&  
6$&  
6$&  
6$&  
6$&  
O#  
+
W#  
5VCPFD[ꢀ%WTTGPV ꢐ5VCPFD[ꢀ  
/QFGꢑ  
0QVGUꢊ  
ꢂꢄ ꢀ8 ꢀ ꢀ8 ꢌꢂꢄꢃꢀ8ꢅꢀ8+.ꢀꢓꢀꢃꢄꢇꢀ8ꢅꢀ8&&ꢀꢒꢀꢆꢄꢃꢀ8ꢅꢀPQꢀQWVRWVUꢀNQCFGFꢄ  
6
ꢁꢄꢎꢂꢅ &%ꢁ%  
ꢍꢁ6 ꢁꢒꢁꢀꢎꢃu%ꢁVQꢁꢕꢂꢏu%  
%QPFKVKQP  
7PKV  
U
5[ODQN 2CTCOGVGT  
/KP  
6[R  
/CZ  
8
+PRWVꢀ*KIJꢀ8QNVCIG  
ꢐ4'5'6ꢅꢀ':6#.ꢅꢀ0/+ꢑ  
8
ꢌꢃꢄꢏ  
8
8
ꢔꢃꢄꢊ  
8
8
+PRWVꢀ*KIJꢀ8QNVCIG  
ꢎꢄꢃ  
ꢔꢃꢄꢊ  
8
ꢐ'ZEGRVꢀ4'5'6ꢅꢀ':6#.ꢅꢀ0/+ꢅꢀ  
%-5ꢑ  
8
8
+PRWVꢀ*KIJꢀ8QNVCIGꢀꢐ%-5ꢑ  
ꢎꢄꢉ  
8
ꢔꢃꢄꢊ  
8
8
+PRWVꢀ.QYꢀ8QNVCIG  
ꢐ4'5'6ꢅꢀ':6#.ꢅꢀ0/+ꢑ  
ꢌꢃꢄꢊ  
ꢃꢄꢏ  
8
8
+PRWVꢀ.QYꢀ8QNVCIG  
ꢐ'ZEGRVꢀ4'5'6ꢅꢀ':6#.ꢅꢀ0/+ꢑ  
ꢌꢃꢄꢊ  
ꢃꢄꢏ  
8
8
1WVRWVꢀ*KIJꢀ8QNVCIG  
+
ꢀꢒꢀꢌꢎꢃꢃꢀW#  
ꢀꢒꢀꢌꢎꢃꢀW#  
ꢀꢒꢀꢎꢄꢎꢀO#  
ꢎꢄꢉ  
+
8
ꢌꢂꢄꢎ  
8
+
1WVRWVꢀ.QYꢀ8QNVCIG  
+
ꢃꢄꢉꢆ  
ꢂꢄꢃ  
8
+PRWVꢀ.GCMCIGꢀꢐ#NNꢀKPRWVUꢀ  
GZEGRVꢀ  
8 ꢀꢒꢀꢃꢄꢆꢀVQꢀ8 ꢌꢃꢄꢆ  
W#  
:6#.ꢅꢀ':6#.ꢅꢀ.(:6#.ꢅꢀ  
.(':6#.ꢑ  
+
+
1WVRWVꢀ.GCMCIG  
8 ꢀꢒꢀꢃꢄꢆꢀVQꢀ8 ꢌꢃꢄꢆ  
ꢂꢄꢃ  
W#  
5WRRN[ꢀ%WTTGPVꢀꢐ0QTOCNꢀ1RGTCꢌ  
VKQPꢑ  
ꢎꢃꢀ/*\ꢀꢐPQVGꢀꢂꢑ  
ꢊꢊꢀ/*\ꢀꢐPQVGꢀꢂꢑ  
ꢎꢃꢀ/*\ꢀꢐPQVGꢀꢂꢑ  
ꢊꢊꢀ/*\ꢀꢐPQVGꢀꢂꢑ  
6$&  
6$&  
6$&  
6$&  
6$&  
6$&  
6$&  
6$&  
6$&  
6$&  
O#  
+
5VCPFD[ꢀ%WTTGPV  
ꢐ5[UVGOꢀ5VQRꢀ/QFGꢑ  
O#  
W#  
+
5VCPFD[ꢀ%WTTGPV ꢐ5VCPFD[ꢀ  
/QFGꢑ  
0
ꢊꢁ  
ꢂꢄ ꢀ8 ꢀ ꢀ8 ꢌꢂꢄꢃꢀ8ꢅꢀ8+.ꢀꢓꢀꢃꢄꢇꢀ8ꢅꢀ8&&ꢀꢒꢀꢆꢄꢃꢀ8ꢅꢀPQꢀQWVRWVUꢀNQCFGFꢄ  
ꢎꢃꢎ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
#%ꢀ%  
'
%
#%ꢁ%*#4#%6'4+56+%5  
Tables 149 and 150 give the AC Characteristics of the Z80S188, over temperature  
ranges T = 0°C to +70°C and T = –40°C to +85°C respectively, for the parame-  
A
A
ters illustrated in Figures 25 through 40.  
6
ꢁꢄꢎꢓꢅ #%ꢁ%  
ꢍꢁ6 ꢁꢒꢁꢃu%ꢁ ꢁꢕꢑꢃu%ꢍꢁ% ꢁꢒꢁꢄꢃꢃꢁ (  
ꢁꢆꢃꢁ/*\  
ꢌꢌꢁ/*\  
0Qꢁ 5[ODQNꢁ 2CTCOGVGT  
/KP  
/CZ  
ꢎꢃ  
/KP  
/CZ  
7PKVU  
H
V
V
V
V
V
V
V
V
V
V
V
V
V
V
%T[UVCNꢀ(TGSWGPE[  
ꢊꢊꢄꢊꢊ /*\  
'ZVGTPCNꢀ%NQEMꢀ%[ENGꢀ6KOGꢀꢐ':6#.ꢑ  
'ZVGTPCNꢀ%NQEMꢀ*KIJꢀ6KOGꢀꢐ':6#.ꢑ  
'ZVGTPCNꢀ%NQEMꢀ.QYꢀ6KOGꢀꢐ':6#.ꢑ  
'ZVGTPCNꢀ%NQEMꢀ4KUGꢀ6KOGꢀꢐ':6#.ꢑ  
'ZVGTPCNꢀ%NQEMꢀ(CNNꢀ6KOGꢀꢐ':6#.ꢑ  
2*+ꢀ*KIJꢀ6KOG  
ꢆꢃ  
&%  
ꢂꢆ  
ꢊꢃ  
&%  
ꢂꢃ  
ꢂꢃ  
PU  
PU  
PU  
PU  
PU  
PU  
PU  
PU  
PU  
PU  
OU  
ꢂꢆ  
ꢂꢃ  
ꢂꢃ  
ꢎꢃ  
ꢎꢃ  
ꢆꢃ  
ꢂꢃ  
ꢂꢎ  
ꢂꢎ  
ꢊꢃ  
2*+ꢀ.QYꢀ6KOG  
2*+ꢀ%[ENGꢀ6KOG  
&%  
ꢆꢃ  
&%  
ꢆꢃ  
ꢂꢃ  
ꢂꢂ  
ꢂꢎ  
ꢂꢊ  
ꢂꢉ  
ꢂꢆ  
4'5'6ꢀ5GVWRꢀVQꢀ2*+ꢀ(CNN  
4'5'6ꢀ*QNFꢀHTQOꢀ2*+ꢀ(CNN  
4'5'6ꢀ(CNNꢀ6KOG  
4'5'6ꢀ.QYꢀ6KOG  
V
ꢆꢃ  
ꢆꢃ  
ꢆꢃ  
ꢆꢃ  
OU  
PU  
4'5'6ꢀ4KUGꢀ6KOG  
+PRWVꢀ(CNNꢀ6KOGꢀꢐGZEGRVꢀ':6#.ꢅꢀ  
4'5'6ꢑ  
ꢂꢏ  
ꢂꢍ  
V
V
+PRWVꢀ4KUGꢀ6KOGꢀꢐGZEGRVꢀ':6#.ꢅꢀ  
4'5'6ꢑ  
ꢆꢃ  
ꢂꢆ  
ꢆꢃ  
PU  
PU  
2*+ꢀ4KUGꢀVQꢀ#FFTGUUꢀ8CNKF  
/GOQT[ꢁ4GCF  
ꢂꢇ  
ꢂꢁ  
ꢎꢃ  
ꢎꢂ  
ꢎꢎ  
ꢎꢊ  
ꢎꢉ  
V
V
V
V
V
V
V
6$5  
ꢂꢆ  
6$5  
ꢂꢆ  
PU  
PU  
PU  
PU  
PU  
PU  
PU  
2*+ꢀ4KUGꢀVQꢀ%JKRꢀ5GNGEVUꢀ8CNKF  
2*+ꢀ4KUGꢀVQꢀ/ꢂꢀ(CNN  
ꢂꢆ  
ꢂꢆ  
2*+ꢀ(CNNꢀVQꢀ56ꢀ8CNKF  
#FFTGUUꢀ8CNKFꢀVQꢀ/4'3ꢀ(CNN  
V
ꢌꢆ  
V
ꢌꢂꢃ  
6$5  
6$5  
%JKRꢀ5GNGEVUꢀ8CNKFꢀVQꢀ/4'3ꢀ(CNN  
2*+ꢀ(CNNꢀVQꢀ/4'3ꢅꢀ56ꢀꢐꢂUVꢀQRꢑꢅꢀ4&ꢀ(CNN  
ꢂꢆ  
ꢂꢆ  
ꢂꢆ  
ꢂꢆ  
9#+6ꢀ5GVWRꢀVQꢀ2*+ꢀ(CNN  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢎꢃꢊ  
'
%
#%ꢀ%  
6
ꢁꢄꢎꢓꢅ #%ꢁ%  
ꢍꢁ6 ꢁꢒꢁꢃu%ꢁ ꢁꢕꢑꢃu%ꢍꢁ% ꢁꢒꢁꢄꢃꢃꢁ (ꢁꢈ%  
ꢁꢆꢃꢁ/*\  
ꢌꢌꢁ/*\  
0Qꢁ 5[ODQNꢁ 2CTCOGVGT  
/KP  
/CZ  
/KP  
/CZ  
7PKVU  
PU  
ꢎꢆ  
ꢎꢏ  
ꢎꢍ  
ꢎꢇ  
ꢎꢁ  
ꢊꢃ  
ꢊꢂ  
ꢊꢎ  
ꢊꢊ  
V
V
V
V
V
V
V
V
V
9#+6ꢀ*QNFꢀHTQOꢀ2*+ꢀ(CNN  
/4'3ꢅꢀ56ꢀꢐꢂUVꢀQRꢑꢅꢀ4&ꢀ9KFVJꢀ.QY  
ꢎV  
ꢌꢂꢆ  
ꢎV  
ꢌꢂꢃ  
PU  
ꢂꢆ  
ꢂꢆ  
PU  
4GCFꢀ&CVCꢀ5GVWRꢀVQꢀ2*+ꢀ4KUG  
2*+ꢀ4KUGꢀVQꢀ/ꢂꢀ4KUG  
ꢂꢆ  
ꢂꢆ  
ꢂꢆ  
ꢂꢆ  
PU  
2*+ꢀ(CNNꢀVQꢀ/4'3ꢅꢀ56ꢀꢐꢂUVꢀQRꢑꢅꢀ4&ꢀ4KUG  
PU  
PU  
4GCFꢀ&CVCꢀ*QNFꢀHTQOꢀ4&ꢀ4KUG  
/4'3ꢀ4KUGꢀVQꢀ#FFTGUUꢀ%JCPIG  
V
V
ꢌꢂꢃ  
6$5  
ꢌꢂꢆ  
V
V
ꢌꢂꢃ  
6$5  
ꢌꢂꢃ  
PU  
PU  
/4'3ꢀ4KUGꢀVQꢀ%JKRꢀ5GNGEVUꢀ%JCPIG  
/4'3ꢀ9KFVJꢀ*KIJꢀ$GVYGGPꢀ#P[ꢀꢎꢀ  
%[ENGU  
PU  
/GOQT[ꢁ9TKVG  
ꢊꢉ  
ꢊꢆ  
ꢊꢏ  
ꢊꢍ  
V
V
V
V
2*+ꢀ(CNNꢀVQꢀ9TKVGꢀ&CVCꢀ8CNKF  
9TKVGꢀ&CVCꢀ8CNKFꢀVQꢀ94ꢀ(CNN  
2*+ꢀ4KUGꢀVQꢀ94ꢀ(CNN  
ꢎꢃ  
ꢂꢆ  
ꢎꢃ  
ꢂꢆ  
PU  
PU  
PU  
PU  
V
ꢌꢂꢆ  
V
ꢌꢂꢆ  
94ꢀ9KFVJꢀ.QY  
V
V
V
V
ꢌꢂꢃ  
ꢌꢎꢃ  
ꢌꢂꢃ  
ꢌꢂꢎ  
ꢊꢇ  
ꢊꢁ  
ꢉꢃ  
V
V
V
2*+ꢀ(CNNꢀVQꢀ94ꢀ4KUG  
ꢂꢆ  
ꢂꢃ  
ꢂꢆ  
ꢂꢃ  
PU  
PU  
PU  
94ꢀ4KUGꢀVQꢀ9TKVGꢀ&CVCꢀ%JCPIG  
2*+ꢀ4KUGꢀVQꢀ9TKVGꢀ&CVCꢀ(NQCV  
V
V
+ꢋ1ꢁ4GCF  
ꢉꢂ  
V
#FFTGUUꢀ8CNKFꢀVQꢀ+143ꢀ(CNNꢀꢐꢋ+1%ꢒꢂꢑ  
#FFTGUUꢀ8CNKFꢀVQꢀ+143ꢀ(CNNꢀꢐꢋ+1%ꢒꢃꢑ  
V
V
V
ꢌꢂꢃ  
ꢌꢂꢃ  
ꢌꢂꢃ  
V
V
V
ꢌꢂꢃ  
ꢌꢂꢃ  
ꢌꢂꢃ  
PU  
PU  
PU  
ꢉꢎ  
ꢉꢊ  
%JKRꢀ5GNGEVUꢀ8CNKFꢀVQꢀ+143ꢀ(CNNꢀꢐꢋ  
+1%ꢒꢂꢑ  
V
ꢉꢉ  
%JKRꢀ5GNGEVUꢀ8CNKFꢀVQꢀ+143ꢀ(CNNꢀꢐꢋ  
+1%ꢒꢃꢑ  
V
ꢌꢂꢃ  
V
ꢌꢂꢃ  
PU  
ꢉꢆ  
V
2*+ꢀ(CNNꢀVQꢀ+143ꢅꢀ4&ꢀ(CNNꢀꢐꢋ+1%ꢒꢂꢑ  
2*+ꢀ4KUGꢀVQꢀ+143ꢅꢀ4&ꢀ(CNNꢀꢐꢋ+1%ꢒꢃꢑ  
+143ꢅꢀ4&ꢀ9KFVJꢀ.QYꢀꢐꢋ+1%ꢒꢂꢑ  
ꢂꢆ  
ꢂꢆ  
ꢂꢆ  
ꢂꢆ  
PU  
PU  
PU  
ꢉꢏ  
ꢉꢍ  
V
ꢊV  
ꢌꢂꢆ  
ꢌꢂꢆ  
ꢊV  
ꢌꢂꢃ  
ꢌꢂꢃ  
ꢉꢇ  
+143ꢅꢀ4&ꢀ9KFVJꢀ.QYꢀꢐꢋ+1%ꢒꢃꢑ  
ꢎV  
V
ꢎV  
V
PU  
ꢉꢁ  
ꢆꢃ  
V
V
2*+ꢀ(CNNꢀVQꢀ+143ꢅꢀ4&ꢀ4KUG  
ꢂꢆ  
ꢂꢆ  
PU  
PU  
+143ꢀ4KUGꢀVQꢀ#FFTGUUꢀ%JCPIG  
V
ꢌꢎꢃ  
V
ꢌꢂꢎ  
ꢎꢃꢉ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
#%ꢀ%  
'
%
6
ꢁꢄꢎꢓꢅ #%ꢁ%  
ꢍꢁ6 ꢁꢒꢁꢃu%ꢁ ꢁꢕꢑꢃu%ꢍꢁ% ꢁꢒꢁꢄꢃꢃꢁ (ꢁꢈ%  
ꢁꢆꢃꢁ/*\  
ꢌꢌꢁ/*\  
0Qꢁ 5[ODQNꢁ 2CTCOGVGT  
/KP  
/CZ  
/KP  
6$5  
/CZ  
7PKVU  
ꢆꢂ  
+ꢋ1ꢁ9TKVG  
ꢆꢎ  
V
6$5  
PU  
+143ꢀ4KUGꢀVQꢀ%JKRꢀ5GNGEVUꢀ%JCPIG  
V
94ꢀ9KFVJꢀ.QY  
ꢎV  
ꢎV  
PU  
V
ꢌꢂꢆ  
V
ꢌꢂꢃ  
$WUꢁ'ZEJCPIGꢁ6KOKPI  
ꢆꢊ  
ꢆꢉ  
ꢆꢆ  
V
V
V
ꢂꢃ  
ꢂꢃ  
ꢂꢃ  
ꢂꢃ  
PU  
PU  
PU  
$754'3ꢀ5GVWRꢀVQꢀ2*+ꢀ(CNN  
$754'3ꢀ*QNFꢀ#HVGTꢀ2*+ꢀ(CNN  
$754'3ꢀ.QYꢀVQꢀ$75#%-ꢀ.QY  
V
V
ꢔV  
ꢔV  
ꢆꢏ  
ꢆꢍ  
ꢆꢇ  
ꢆꢁ  
ꢏꢃ  
V
V
V
V
V
2*+ꢀ4KUGꢀVQꢀ$75#%-ꢀ(CNN  
2*+ꢀ4KUGꢀVQꢀ$WUꢀ(NQCV  
ꢂꢆ  
ꢂꢃ  
ꢂꢆ  
ꢂꢃ  
PU  
PU  
PU  
PU  
PU  
$754'3ꢀ*KIJꢀVQꢀ$75#%-ꢀ*KIJ  
2*+ꢀ(CNNꢀVQꢀ$75#%-ꢀ4KUG  
2*+ꢀ4KUGꢀVQꢀ$WUꢀ8CNKF  
V
ꢎV  
V
ꢎV  
ꢂꢆ  
ꢊꢃ  
ꢂꢆ  
ꢎꢃ  
+PVGTTWRVꢁ6KOKPI  
ꢏꢂ  
ꢏꢎ  
ꢏꢊ  
ꢏꢉ  
ꢏꢆ  
ꢏꢏ  
ꢏꢍ  
ꢏꢇ  
V
V
V
V
V
V
V
V
ꢂꢆ  
ꢂꢆ  
PU  
PU  
PU  
PU  
PU  
PU  
PU  
PU  
+06ꢃꢀ5GVWRꢀVQꢀ2*+ꢀ(CNN  
+06ꢃꢀ*QNFꢀCHVGTꢀ2*+ꢀ(CNN  
+'+ꢀ.QYꢀVQꢀ+'1ꢀ.QY  
ꢂꢃ  
6$5  
6$5  
ꢂꢆ  
ꢂꢃ  
6$5  
6$5  
ꢂꢆ  
+'+ꢀ*KIJꢀVQꢀ+'1ꢀ*KIJ  
/ꢂꢀ.QYꢀVQꢀ+'1ꢀ.QY  
2*+ꢀ.QYꢀVQꢀ+143ꢀ.QYꢀꢐ+PVꢀ#EMꢀ%[ENGꢑ  
6$5  
6$5  
+'+ꢀUGVWRꢀVQꢀ+143ꢀ.QYꢀꢐ+PVꢀ#EMꢀ%[ENGꢑ  
&ꢍꢌꢃꢀ*QNFꢀHTQOꢀ/ꢂꢀ*KIJꢀꢐ+PVꢀ#EMꢀ  
%[ENGꢑ  
ꢏꢁ  
ꢍꢃ  
V
V
+06ꢂꢌꢎꢀ5GVWRꢀVQꢀ2*+ꢀ(CNNꢀꢐ.GXGNꢀ  
5GPUGꢑ  
ꢂꢆ  
ꢂꢆ  
PU  
PU  
+06ꢂꢌꢎꢀ*QNFꢀCHVGTꢀ2*+ꢀ(CNNꢀꢐ.GXGNꢀ  
5GPUGꢑ  
ꢍꢂ  
ꢍꢎ  
V
V
ꢂꢆ  
ꢊꢆ  
ꢂꢆ  
ꢎꢆ  
PU  
PU  
+06ꢂꢌꢎꢀ2WNUGꢀ9KFVJꢀꢐ'FIGꢀ5GPUGꢑ  
0/+ꢀ9KFVJꢀ.QY  
4GHTGUJꢁ6KOKPI  
ꢍꢊ  
V
2*+ꢀTKUGꢀVQꢀ4(5*ꢀ.QY  
6$5  
6$5  
PU  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢎꢃꢆ  
'
%
#%ꢀ%  
6
ꢁꢄꢎꢓꢅ #%ꢁ%  
ꢍꢁ6 ꢁꢒꢁꢃu%ꢁ ꢁꢕꢑꢃu%ꢍꢁ% ꢁꢒꢁꢄꢃꢃꢁ (ꢁꢈ%  
ꢁꢆꢃꢁ/*\  
ꢌꢌꢁ/*\  
/KP /CZ  
6$5  
0Qꢁ 5[ODQNꢁ 2CTCOGVGT  
/KP  
/CZ  
7PKVU  
PU  
ꢍꢉ  
ꢍꢆ  
ꢍꢏ  
V
V
V
2*+ꢀTKUGꢀVQꢀ4(5*ꢀ*KIJ  
6$5  
/4'3ꢀYKFVJꢀ.QYꢀKPꢀꢎꢌENQEMꢀTGHTGUJ  
/4'3ꢀYKFVJꢀ.QYꢀKPꢀCP[ꢀQVJGTꢀE[ENG  
V
ꢌꢂꢆ  
ꢌꢂꢆ  
V
ꢌꢂꢃ  
ꢌꢂꢃ  
PU  
ꢎV  
ꢎV  
PU  
&/#ꢁ6KOKPI  
ꢍꢍ  
V
&4'3ꢃꢌꢂꢀ5GVWRꢀVQꢀ2*+ꢀ4KUGꢀꢐ.GXGNꢀ  
5GPUGꢑ  
ꢂꢆ  
ꢂꢆ  
PU  
PU  
ꢍꢇ  
V
&4'3ꢃꢌꢂꢀ*QNFꢀHTQOꢀ2*+ꢀ4KUGꢀꢐ.GXGNꢀ  
5GPUGꢑ  
ꢍꢁ  
ꢇꢃ  
ꢇꢂ  
ꢇꢎ  
V
V
V
V
V
V
V
V
PU  
PU  
PU  
PU  
&4'3ꢃꢌꢂꢀ.QYꢀ9KFVJꢀꢐ'FIGꢀ5GPUGꢑ  
&4'3ꢃꢌꢂꢀ*KIJꢀ9KFVJꢀꢐ'FIGꢀ5GPUGꢑ  
2*+ꢀ(CNNꢀVQꢀ6'0&ꢃꢌꢂꢀ8CNKF  
6$5  
6$5  
6'0&ꢃꢌꢂꢀ2WNUGꢀ9KFVJꢀ.QY  
ꢎV  
ꢌꢂꢆ  
ꢎV  
ꢌꢂꢃ  
*CNVꢍꢁ5NGGRꢁ6KOKPI  
ꢇꢊ  
ꢇꢉ  
V
V
2*+ꢀ4KUGꢀVQꢀ*#.6ꢀ.QY  
2*+ꢀ4KUGꢀVQꢀ*#.6ꢀ*KIJ  
6$5  
6$5  
6$5  
6$5  
PU  
PU  
246ꢁ6KOKPI  
ꢇꢆ  
#5%+ꢁ6KOKPI  
V
2*+ꢀ(CNNꢀVQꢀ6176ꢀ8CNKF  
6$5  
6$5  
6$5  
6$5  
PU  
ꢇꢏ  
ꢇꢍ  
ꢇꢇ  
ꢇꢁ  
V
V
V
H
%-#PꢀHCNNꢀVQꢀ6:#ꢀ8CNKF  
PU  
PU  
PU  
4:#Pꢀ5GVWRꢀVQꢀ%-#Pꢀ4KUGꢀꢐꢂ:ꢀ/QFGꢑ  
4:#Pꢀ*QNFꢀ(TQOꢀ%-#PꢀTKUGꢀꢐꢂ:ꢀ/QFGꢑ  
/CZꢀ&CVCꢀ4CVGꢀꢐꢋꢂꢏꢀ%NQEMꢅꢀ1NFꢀ$4)ꢑ  
6$5  
6$5  
6$5  
6$5  
H
H
ꢋꢂꢏꢃ DKVUꢋU  
ꢂꢏꢃ  
ꢁꢃ  
H
/CZꢀ&CVCꢀ4CVGꢀꢐꢋꢂꢏꢀ%NQEMꢅꢀ0GYꢀ$4)ꢑ  
H
ꢋꢏꢉ  
H ꢋꢏꢉ DKVUꢋU  
%5+ꢋ1ꢁ6KOKPI  
ꢁꢂ  
ꢁꢎ  
ꢁꢊ  
V
V
V
%-5ꢀ.QYꢀVQꢀ6:5ꢀ8CNKF  
ꢂꢃ  
ꢂꢃ  
PU  
PU  
PU  
ꢂꢆ  
ꢂꢆ  
4:5ꢀ8CNKFꢀVQꢀ%-5ꢀ*KIJ  
%-5ꢀ*KIJꢀVQꢀ4:5ꢀ+PXCNKF  
9&6ꢁ6KOKPI  
ꢁꢉ  
ꢁꢆ  
V
V
2*+ꢀTKUGꢀVQꢀ9&6176ꢀ.QY  
2*+ꢀTKUGꢀVQꢀ9&6176ꢀ*KIJ  
6$5  
6$5  
6$5  
6$5  
PU  
PU  
ꢎꢃꢏ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
#%ꢀ%  
'
%
6
ꢁꢄꢎꢓꢅ #%ꢁ%  
ꢍꢁ6 ꢁꢒꢁꢃu%ꢁ ꢁꢕꢑꢃu%ꢍꢁ% ꢁꢒꢁꢄꢃꢃꢁ (ꢁꢈ%  
ꢁꢆꢃꢁ/*\  
ꢌꢌꢁ/*\  
0Qꢁ 5[ODQNꢁ 2CTCOGVGT  
2+1ꢁ6KOKPI  
/KP  
/CZ  
/KP  
/CZ  
7PKVU  
ꢁꢏ  
V
+143ꢀ*KIJꢀꢐOQFGꢀꢃꢀRQTVꢀYTKVGꢑꢀVQꢀ2Zꢍꢌ  
ꢃꢀ8CNKF  
6$5  
6$5  
6$5  
6$5  
PU  
ꢁꢍ  
V
V
V
V
V
V
V
2*+ꢀ(CNNꢀVQꢀZ4&;ꢀ*KIJ  
PU  
PU  
PU  
PU  
PU  
PU  
PU  
ꢁꢇ  
6$5  
6$5  
6$5  
6$5  
Z56$ꢀ2WNUGꢀ9KFVJꢀ.QY  
ꢁꢁ  
Z56$ꢀ4KUGꢀVQꢀ2*+ꢀ(CNN  
2*+ꢀ(CNNꢀVQꢀZ4&;ꢀ.QY  
ꢂꢃꢃ  
ꢂꢃꢂ  
ꢂꢃꢎ  
ꢂꢃꢊ  
6$5  
6$5  
6$5  
6$5  
6$5  
6$5  
6$5  
6$5  
Z56$ꢀ*QNFꢀCHVGTꢀ2*+ꢀ(CNN  
2Zꢍꢌꢃꢀ5GVWRꢀVQꢀZ56$ꢀ*KIJꢀꢐ/QFGꢀꢂꢅꢀꢎꢑ  
2Zꢍꢌꢃꢀ*QNFꢀ#HVGTꢀZ56$ꢀ*KIJꢀꢐ/QFGꢀꢂꢅꢀ  
ꢎꢑ  
ꢂꢃꢉ  
ꢂꢃꢆ  
ꢂꢃꢏ  
V
V
V
Z4&;ꢀHCNNꢀVQꢀZ56$ꢀ(CNNꢀꢐ/QFGꢀꢂꢅꢀꢎꢑ  
PU  
PU  
PU  
Z56$ꢀ.QYꢀVQꢀ2Zꢍꢌꢃꢀ8CNKFꢀꢐ/QFGꢀꢎꢀ+Pꢑ  
6$5  
6$5  
6$5  
6$5  
Z56$ꢀ*KIJꢀVQꢀ2ZꢍꢌꢃꢀTGNGCUGFꢀꢐOQFGꢀꢎꢀ  
+Pꢑ  
ꢂꢃꢍ  
V
Z56$ꢀ*KIJꢀVQꢀ2Zꢍꢌꢃꢀ'ZVꢀ&TKXGPꢀꢐ/QFGꢀ  
ꢎꢑ  
V
V
PU  
ꢂꢃꢇ  
ꢂꢃꢁ  
V
V
2Zꢍꢌꢃꢀ5GVWRꢀVQꢀ4&ꢀ.QYꢀꢐ/QFGꢀꢊꢑ  
2Zꢍꢌꢃꢀ*QNFꢀ#HVGTꢀ4&ꢀ.QYꢀꢐ/QFGꢀꢊꢑ  
6$5  
6$5  
6$5  
6$5  
PU  
PU  
%6%ꢁ6KOKPI  
ꢂꢂꢃ  
ꢂꢂꢂ  
ꢂꢂꢎ  
V
V
V
%.-ꢋ64)Pꢀ%[ENGꢀ6KOG  
ꢎꢀV  
ꢎꢀV  
PU  
PU  
PU  
%.-ꢋ64)Pꢀ*KIJꢀQTꢀ.QYꢀ2WNUGꢀ9KFVJ  
V
V
%.-ꢋ64)Pꢀ#EVKXGꢀ'FIGꢀ5GVWRꢀVQꢀ2*+ꢀ  
6$5  
6$5  
4KUG  
ꢂꢂꢊ  
V
%.-ꢋ64)Pꢀ#EVKXGꢀ'FIGꢀ*QNFꢀ#HVGTꢀ2*+ꢀ  
4KUG  
6$5  
6$5  
PU  
ꢂꢂꢉ  
ꢂꢂꢆ  
V
V
2*+ꢀTKUGꢀVQꢀ<%ꢋ61PꢀTKUG  
6$5  
6$5  
6$5  
6$5  
PU  
PU  
2*+ꢀ(CNNꢀVQꢀ<%ꢋ61Pꢀ(CNN  
5+1ꢁ6KOKPI  
ꢂꢂꢏ  
ꢂꢂꢍ  
ꢂꢂꢇ  
ꢂꢂꢁ  
V
V
V
V
%65ꢅꢀ&%&ꢅꢀ5;0%ꢀ2WNUGꢀ9KFVJꢀ*KIJ  
%65ꢅꢀ&%&ꢅꢀ5;0%ꢀ2WNUGꢀ9KFVJꢀ.QY  
6$5  
6$5  
6$5  
6$5  
6$5  
6$5  
6$5  
6$5  
PU  
PU  
PU  
PU  
6Z%ꢀ%[ENGꢀ6KOG  
6Z%ꢀ9KFVJꢀ.QY  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢎꢃꢍ  
'
%
#%ꢀ%  
6
ꢁꢄꢎꢓꢅ #%ꢁ%  
ꢍꢁ6 ꢁꢒꢁꢃu%ꢁ ꢁꢕꢑꢃu%ꢍꢁ% ꢁꢒꢁꢄꢃꢃꢁ (ꢁꢈ%  
ꢁꢆꢃꢁ/*\  
ꢌꢌꢁ/*\  
0Qꢁ 5[ODQNꢁ 2CTCOGVGT  
/KP  
/CZ  
/KP  
/CZ  
7PKVU  
PU  
ꢂꢎꢃ  
ꢂꢎꢂ  
ꢂꢎꢎ  
ꢂꢎꢊ  
ꢂꢎꢉ  
ꢂꢎꢆ  
ꢂꢎꢏ  
V
V
V
V
V
V
V
6$5  
6$5  
6Z%ꢀ9KFVJꢀ*KIJ  
6Z%ꢀ(CNNꢀVQꢀ6Z&ꢀ8CNKF  
6$5  
6$5  
6$5  
6$5  
PU  
6Z%ꢀ(CNNꢀVQꢀ9ꢋ4&;ꢀꢐ4GCF[ꢑꢀ.QY  
PU  
6$5  
6$5  
6$5  
6$5  
6$5  
6$5  
6$5  
6$5  
PU  
4Z%ꢀ%[ENGꢀ6KOG  
4Z%ꢀ9KFVJꢀ.QY  
4Z%ꢀ9KFVJꢀ*KIJ  
PU  
PU  
4Z&ꢀ8CNKFꢀ5GVWRꢀVQꢀ4Z%ꢀ4KUGꢀꢐ:ꢂꢀ  
/QFGꢑ  
PU  
ꢂꢎꢍ  
V
4Z&ꢀ8CNKFꢀ*QNFꢀ(TQOꢀ4Z%ꢀ4KUGꢀꢐ:ꢂꢀ  
/QFGꢑ  
6$5  
6$5  
PU  
ꢂꢎꢇ  
ꢂꢎꢁ  
ꢂꢊꢃ  
V
V
V
4Z%ꢀ4KUGꢀVQꢀ9ꢋ4&;ꢀꢐ4GCF[ꢑꢀ.QY  
4Z%ꢀ4KUGꢀVQꢀ5;0%ꢀꢐ1WVRWVꢑꢀ.QY  
6$5  
6$5  
6$5  
6$5  
PU  
PU  
PU  
5;0%ꢀꢐ'ZVꢀ5[PEꢑꢀ.QYꢀ5GVWRꢀVQꢀ4Z%ꢀ  
4KUG  
ꢌꢊꢃ  
ꢌꢊꢃ  
0QVGUꢊ  
ꢂꢄ 6JGUGꢀVKOKPIꢀTGSWKTGOGPVUꢀOWUVꢀDGꢀOGVꢀVQꢀCUUWTGꢀEQTTGEVꢀFGXKEGꢀQRGTCVKQPꢄ  
ꢎꢄ 6JGUGꢀ5GVWRꢀCPFꢀ*QNFꢀVKOGUꢀOWUVꢀDGꢀOGVꢀVQꢀIWCTCPVGGꢀTGEQIPKVKQPꢀCVꢀVJGꢀENQEMꢀGFIGꢀKPꢀSWGUVKQPꢄꢀ+HꢀVJG[  
CTGꢀPQVꢀOGVꢀDGVYGGPꢀCꢀUKIPCNꢀVTCPUKVKQPꢀCPFꢀCꢀENQEMꢀGFIGꢅꢀVJGꢀ<ꢇꢃ5ꢂꢇꢇꢀOC[ꢀQTꢀOC[ꢀPQVꢀTGEQIPK\GꢀVJGꢀPGY  
UVCVGꢀQHꢀVJGꢀUKIPCNꢀCVꢀVJCVꢀGFIGꢄꢀ+HꢀKVꢀFQGUP VꢅꢀCPFꢀVJGꢀUKIPCNꢀTGOCKPUꢀKPꢀVJGꢀUCOGꢀUVCVGꢅꢀVJGꢀ<ꢇꢃ5ꢂꢇꢇꢀTGEQIꢌ  
PK\GUꢀVJGꢀPGYꢀUVCVGꢀQPGꢀENQEMꢀRGTKQFꢀNCVGTꢄ  
ꢊꢄ %JKRꢀ5GNGEVU ꢀTGHGTUꢀVQꢀ/'/%5ꢃꢅꢀ/'/%5ꢂꢅꢀ+1%5ꢅꢀCPFꢀ'8ꢋ41/%5ꢀQPꢀCꢀ41/NGUUꢀRCTVꢄ  
ꢉꢄ 2*+ꢀ(CNNꢀVQꢀ56ꢀ8CNKFꢀCRRNKGUꢀDGVYGGPꢀ&/#ꢀCPFꢀ%27ꢀDWUꢀE[ENGUꢄ  
ꢆꢄ /ꢂꢀ.QYꢀVQꢀ+'1ꢀ.QYꢀOCZꢀCRRNKGUꢀYJGPꢀCPꢀQPꢌEJKRꢀFGXKEGꢀUVCTVGFꢀTGSWGUVKPIꢀCPꢀKPVGTTWRVꢀLWUVꢀDGHQTGꢀ/ꢂ  
YGPVꢀ.QYꢄ  
6
ꢁꢄꢏꢃꢅ #%ꢁ%  
ꢍꢁ6 ꢁꢒꢁꢀꢎꢃu%ꢁ ꢁꢕꢂꢏu%ꢍꢁ% ꢁꢒꢁꢄꢃꢃꢁ (ꢁ  
ꢁꢆꢃꢁ/*\  
ꢌꢌꢁ/*\  
0Qꢁ 5[ODQNꢁ 2CTCOGVGT  
/KP  
/CZ  
ꢎꢃ  
/KP  
/CZ  
7PKVU  
/*\  
PU  
H
V
V
V
V
V
V
%T[UVCNꢀ(TGSWGPE[  
ꢊꢊꢄꢊꢊ  
&%  
ꢂꢃ  
ꢂꢃ  
'ZVGTPCNꢀ%NQEMꢀ%[ENGꢀ6KOGꢀꢐ':6#.ꢑ  
'ZVGTPCNꢀ%NQEMꢀ*KIJꢀ6KOGꢀꢐ':6#.ꢑ  
'ZVGTPCNꢀ%NQEMꢀ.QYꢀ6KOGꢀꢐ':6#.ꢑ  
'ZVGTPCNꢀ%NQEMꢀ4KUGꢀ6KOGꢀꢐ':6#.ꢑ  
'ZVGTPCNꢀ%NQEMꢀ(CNNꢀ6KOGꢀꢐ':6#.ꢑ  
2*+ꢀ*KIJꢀ6KOG  
ꢆꢃ  
&%  
ꢂꢆ  
ꢊꢃ  
PU  
ꢂꢆ  
PU  
ꢂꢃ  
PU  
ꢂꢃ  
PU  
ꢎꢃ  
ꢂꢎ  
PU  
ꢎꢃꢇ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
#%ꢀ%  
'
%
6
ꢁꢄꢏꢃꢅ #%ꢁ%  
ꢍꢁ6 ꢁꢒꢁꢀꢎꢃu%ꢁ ꢁꢕꢂꢏu%ꢍꢁ% ꢁꢒꢁꢄꢃꢃꢁ (ꢁꢁꢈ%  
ꢁꢆꢃꢁ/*\  
ꢌꢌꢁ/*\  
0Qꢁ 5[ODQNꢁ 2CTCOGVGT  
/KP  
ꢎꢃ  
ꢆꢃ  
ꢂꢃ  
/CZ  
/KP  
/CZ  
7PKVU  
PU  
V
V
V
V
V
V
V
V
2*+ꢀ.QYꢀ6KOG  
2*+ꢀ%[ENGꢀ6KOG  
ꢂꢎ  
ꢊꢃ  
&%  
&%  
PU  
ꢂꢃ  
ꢂꢂ  
ꢂꢎ  
ꢂꢊ  
ꢂꢉ  
ꢂꢆ  
PU  
4'5'6ꢀ5GVWRꢀVQꢀ2*+ꢀ(CNN  
4'5'6ꢀ*QNFꢀHTQOꢀ2*+ꢀ(CNN  
PU  
ꢆꢃ  
ꢆꢃ  
OU  
V
4'5'6ꢀ(CNNꢀ6KOG  
4'5'6ꢀ.QYꢀ6KOG  
ꢆꢃ  
ꢆꢃ  
ꢆꢃ  
ꢆꢃ  
OU  
PU  
4'5'6ꢀ4KUGꢀ6KOG  
+PRWVꢀ(CNNꢀ6KOGꢀꢐGZEGRVꢀ':6#.ꢅꢀ  
4'5'6ꢑ  
ꢂꢏ  
V
+PRWVꢀ4KUGꢀ6KOGꢀꢐGZEGRVꢀ':6#.ꢅꢀ  
4'5'6ꢑ  
ꢆꢃ  
ꢂꢆ  
ꢆꢃ  
PU  
PU  
ꢂꢍ  
V
2*+ꢀ4KUGꢀVQꢀ#FFTGUUꢀ8CNKF  
/GOQT[ꢁ4GCF  
ꢂꢇ  
ꢂꢁ  
ꢎꢃ  
ꢎꢂ  
ꢎꢎ  
ꢎꢊ  
ꢎꢉ  
ꢎꢆ  
ꢎꢏ  
ꢎꢍ  
ꢎꢇ  
ꢎꢁ  
ꢊꢃ  
ꢊꢂ  
ꢊꢎ  
ꢊꢊ  
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
6$5  
ꢂꢆ  
6$5  
ꢂꢆ  
PU  
PU  
PU  
PU  
PU  
PU  
PU  
PU  
PU  
PU  
PU  
PU  
PU  
PU  
PU  
PU  
2*+ꢀ4KUGꢀVQꢀ%JKRꢀ5GNGEVUꢀ8CNKF  
2*+ꢀ4KUGꢀVQꢀ/ꢂꢀ(CNN  
ꢂꢆ  
ꢂꢆ  
2*+ꢀ(CNNꢀVQꢀ56ꢀ8CNKF  
#FFTGUUꢀ8CNKFꢀVQꢀ/4'3ꢀ(CNN  
V
ꢌꢆ  
V
ꢌꢂꢃ  
6$5  
6$5  
%JKRꢀ5GNGEVUꢀ8CNKFꢀVQꢀ/4'3ꢀ(CNN  
2*+ꢀ(CNNꢀVQꢀ/4'3ꢅꢀ56ꢀꢐꢂUVꢀQRꢑꢅꢀ4&ꢀ(CNN  
ꢂꢆ  
ꢂꢆ  
ꢂꢆ  
ꢂꢆ  
9#+6ꢀ5GVWRꢀVQꢀ2*+ꢀ(CNN  
9#+6ꢀ*QNFꢀHTQOꢀ2*+ꢀ(CNN  
/4'3ꢅꢀ56ꢀꢐꢂUVꢀQRꢑꢅꢀ4&ꢀ9KFVJꢀ.QY  
ꢎV  
ꢌꢂꢆ  
ꢎV  
ꢌꢂꢃ  
ꢂꢆ  
ꢂꢆ  
4GCFꢀ&CVCꢀ5GVWRꢀVQꢀ2*+ꢀ4KUG  
2*+ꢀ4KUGꢀVQꢀ/ꢂꢀ4KUG  
ꢂꢆ  
ꢂꢆ  
ꢂꢆ  
ꢂꢆ  
2*+ꢀ(CNNꢀVQꢀ/4'3ꢅꢀ56ꢀꢐꢂUVꢀQRꢑꢅꢀ4&ꢀ4KUG  
4GCFꢀ&CVCꢀ*QNFꢀHTQOꢀ4&ꢀ4KUG  
/4'3ꢀ4KUGꢀVQꢀ#FFTGUUꢀ%JCPIG  
V
V
ꢌꢂꢃ  
6$5  
ꢌꢂꢆ  
V
V
ꢌꢂꢃ  
6$5  
ꢌꢂꢃ  
/4'3ꢀ4KUGꢀVQꢀ%JKRꢀ5GNGEVUꢀ%JCPIG  
/4'3ꢀ9KFVJꢀ*KIJꢀ$GVYGGPꢀ#P[ꢀꢎꢀ  
%[ENGU  
/GOQT[ꢁ9TKVG  
ꢊꢉ  
V
2*+ꢀ(CNNꢀVQꢀ9TKVGꢀ&CVCꢀ8CNKF  
ꢎꢃ  
ꢎꢃ  
PU  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢎꢃꢁ  
'
%
#%ꢀ%  
6
ꢁꢄꢏꢃꢅ #%ꢁ%  
ꢍꢁ6 ꢁꢒꢁꢀꢎꢃu%ꢁ ꢁꢕꢂꢏu%ꢍꢁ% ꢁꢒꢁꢄꢃꢃꢁ (ꢁꢁꢈ%  
ꢁꢆꢃꢁ/*\  
ꢌꢌꢁ/*\  
0Qꢁ 5[ODQNꢁ 2CTCOGVGT  
/KP  
ꢌꢂꢆ  
/CZ  
/KP  
ꢌꢂꢆ  
/CZ  
7PKVU  
PU  
ꢊꢆ  
ꢊꢏ  
ꢊꢍ  
V
V
V
9TKVGꢀ&CVCꢀ8CNKFꢀVQꢀ94ꢀ(CNN  
2*+ꢀ4KUGꢀVQꢀ94ꢀ(CNN  
94ꢀ9KFVJꢀ.QY  
V
V
ꢂꢆ  
ꢂꢆ  
PU  
V
V
PU  
V
V
ꢌꢂꢃ  
ꢌꢎꢃ  
V
V
ꢌꢂꢃ  
ꢌꢂꢎ  
ꢊꢇ  
ꢊꢁ  
ꢉꢃ  
V
V
V
2*+ꢀ(CNNꢀVQꢀ94ꢀ4KUG  
ꢂꢆ  
ꢂꢃ  
ꢂꢆ  
ꢂꢃ  
PU  
PU  
PU  
94ꢀ4KUGꢀVQꢀ9TKVGꢀ&CVCꢀ%JCPIG  
2*+ꢀ4KUGꢀVQꢀ9TKVGꢀ&CVCꢀ(NQCV  
+ꢋ1ꢁ4GCF  
ꢉꢂ  
V
#FFTGUUꢀ8CNKFꢀVQꢀ+143ꢀ(CNNꢀꢐꢋ+1%ꢒꢂꢑ  
#FFTGUUꢀ8CNKFꢀVQꢀ+143ꢀ(CNNꢀꢐꢋ+1%ꢒꢃꢑ  
V
V
V
ꢌꢂꢃ  
ꢌꢂꢃ  
ꢌꢂꢃ  
V
V
V
ꢌꢂꢃ  
ꢌꢂꢃ  
ꢌꢂꢃ  
PU  
PU  
PU  
ꢉꢎ  
ꢉꢊ  
%JKRꢀ5GNGEVUꢀ8CNKFꢀVQꢀ+143ꢀ(CNNꢀꢐꢋ  
+1%ꢒꢂꢑ  
V
ꢉꢉ  
%JKRꢀ5GNGEVUꢀ8CNKFꢀVQꢀ+143ꢀ(CNNꢀꢐꢋ  
+1%ꢒꢃꢑ  
V
ꢌꢂꢃ  
V
ꢌꢂꢃ  
PU  
ꢉꢆ  
V
2*+ꢀ(CNNꢀVQꢀ+143ꢅꢀ4&ꢀ(CNNꢀꢐꢋ+1%ꢒꢂꢑ  
2*+ꢀ4KUGꢀVQꢀ+143ꢅꢀ4&ꢀ(CNNꢀꢐꢋ+1%ꢒꢃꢑ  
+143ꢅꢀ4&ꢀ9KFVJꢀ.QYꢀꢐꢋ+1%ꢒꢂꢑ  
ꢂꢆ  
ꢂꢆ  
ꢂꢆ  
ꢂꢆ  
PU  
PU  
PU  
ꢉꢏ  
ꢉꢍ  
V
ꢊV  
ꢎV  
V
ꢌꢂꢆ  
ꢌꢂꢆ  
ꢊV  
ꢎV  
V
ꢌꢂꢃ  
ꢌꢂꢃ  
ꢉꢇ  
+143ꢅꢀ4&ꢀ9KFVJꢀ.QYꢀꢐꢋ+1%ꢒꢃꢑ  
PU  
ꢉꢁ  
ꢆꢃ  
ꢆꢂ  
V
V
V
2*+ꢀ(CNNꢀVQꢀ+143ꢅꢀ4&ꢀ4KUG  
ꢂꢆ  
ꢂꢆ  
PU  
PU  
PU  
+143ꢀ4KUGꢀVQꢀ#FFTGUUꢀ%JCPIG  
V
ꢌꢎꢃ  
V
ꢌꢂꢎ  
6$5  
6$5  
+143ꢀ4KUGꢀVQꢀ%JKRꢀ5GNGEVUꢀ%JCPIG  
+ꢋ1ꢁ9TKVG  
ꢆꢎ  
V
94ꢀ9KFVJꢀ.QY  
ꢎV  
ꢎV  
PU  
V
ꢌꢂꢆ  
V
ꢌꢂꢃ  
$WUꢁ'ZEJCPIGꢁ6KOKPI  
ꢆꢊ  
ꢆꢉ  
ꢆꢆ  
V
V
V
ꢂꢃ  
ꢂꢃ  
ꢔV  
ꢂꢃ  
ꢂꢃ  
PU  
PU  
PU  
$754'3ꢀ5GVWRꢀVQꢀ2*+ꢀ(CNN  
$754'3ꢀ*QNFꢀ#HVGTꢀ2*+ꢀ(CNN  
$754'3ꢀ.QYꢀVQꢀ$75#%-ꢀ.QY  
V
V
ꢔV  
ꢆꢏ  
ꢆꢍ  
ꢆꢇ  
V
V
V
2*+ꢀ4KUGꢀVQꢀ$75#%-ꢀ(CNN  
2*+ꢀ4KUGꢀVQꢀ$WUꢀ(NQCV  
ꢂꢆ  
ꢂꢃ  
ꢂꢆ  
ꢂꢃ  
PU  
PU  
PU  
$754'3ꢀ*KIJꢀVQꢀ$75#%-ꢀ*KIJ  
V
ꢎV  
V
ꢎV  
ꢎꢂꢃ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
#%ꢀ%  
'
%
6
ꢁꢄꢏꢃꢅ #%ꢁ%  
ꢍꢁ6 ꢁꢒꢁꢀꢎꢃu%ꢁ ꢁꢕꢂꢏu%ꢍꢁ% ꢁꢒꢁꢄꢃꢃꢁ (ꢁꢁꢈ%  
ꢁꢆꢃꢁ/*\  
ꢌꢌꢁ/*\  
0Qꢁ 5[ODQNꢁ 2CTCOGVGT  
/KP  
/CZ  
ꢂꢆ  
/KP  
/CZ  
7PKVU  
PU  
ꢆꢁ  
ꢏꢃ  
V
V
2*+ꢀ(CNNꢀVQꢀ$75#%-ꢀ4KUG  
2*+ꢀ4KUGꢀVQꢀ$WUꢀ8CNKF  
ꢂꢆ  
ꢎꢃ  
ꢊꢃ  
PU  
+PVGTTWRVꢁ6KOKPI  
ꢏꢂ  
ꢏꢎ  
ꢏꢊ  
ꢏꢉ  
ꢏꢆ  
ꢏꢏ  
ꢏꢍ  
ꢏꢇ  
V
V
V
V
V
V
V
V
ꢂꢆ  
ꢂꢆ  
PU  
PU  
PU  
PU  
PU  
PU  
PU  
PU  
+06ꢃꢀ5GVWRꢀVQꢀ2*+ꢀ(CNN  
+06ꢃꢀ*QNFꢀCHVGTꢀ2*+ꢀ(CNN  
+'+ꢀ.QYꢀVQꢀ+'1ꢀ.QY  
ꢂꢃ  
6$5  
6$5  
ꢂꢆ  
ꢂꢃ  
6$5  
6$5  
ꢂꢆ  
+'+ꢀ*KIJꢀVQꢀ+'1ꢀ*KIJ  
/ꢂꢀ.QYꢀVQꢀ+'1ꢀ.QY  
2*+ꢀ.QYꢀVQꢀ+143ꢀ.QYꢀꢐ+PVꢀ#EMꢀ%[ENGꢑ  
6$5  
6$5  
+'+ꢀUGVWRꢀVQꢀ+143ꢀ.QYꢀꢐ+PVꢀ#EMꢀ%[ENGꢑ  
&ꢍꢌꢃꢀ*QNFꢀHTQOꢀ/ꢂꢀ*KIJꢀꢐ+PVꢀ#EMꢀ  
%[ENGꢑ  
ꢏꢁ  
ꢍꢃ  
V
V
+06ꢂꢌꢎꢀ5GVWRꢀVQꢀ2*+ꢀ(CNNꢀꢐ.GXGNꢀ  
5GPUGꢑ  
ꢂꢆ  
ꢂꢆ  
PU  
PU  
+06ꢂꢌꢎꢀ*QNFꢀCHVGTꢀ2*+ꢀ(CNNꢀꢐ.GXGNꢀ  
5GPUGꢑ  
ꢍꢂ  
ꢍꢎ  
V
V
ꢂꢆ  
ꢊꢆ  
ꢂꢆ  
ꢎꢆ  
PU  
PU  
+06ꢂꢌꢎꢀ2WNUGꢀ9KFVJꢀꢐ'FIGꢀ5GPUGꢑ  
0/+ꢀ9KFVJꢀ.QY  
4GHTGUJꢁ6KOKPI  
ꢍꢊ  
ꢍꢉ  
ꢍꢆ  
ꢍꢏ  
V
V
V
V
2*+ꢀTKUGꢀVQꢀ4(5*ꢀ.QY  
6$5  
6$5  
6$5  
6$5  
PU  
PU  
PU  
PU  
2*+ꢀTKUGꢀVQꢀ4(5*ꢀ*KIJ  
/4'3ꢀYKFVJꢀ.QYꢀKPꢀꢎꢌENQEMꢀTGHTGUJ  
/4'3ꢀYKFVJꢀ.QYꢀKPꢀCP[ꢀQVJGTꢀE[ENG  
V
ꢌꢂꢆ  
ꢌꢂꢆ  
V
ꢌꢂꢃ  
ꢌꢂꢃ  
ꢎV  
ꢎV  
&/#ꢁ6KOKPI  
ꢍꢍ  
V
&4'3ꢃꢌꢂꢀ5GVWRꢀVQꢀ2*+ꢀ4KUGꢀꢐ.GXGNꢀ  
5GPUGꢑ  
ꢂꢆ  
ꢂꢆ  
PU  
PU  
ꢍꢇ  
V
&4'3ꢃꢌꢂꢀ*QNFꢀHTQOꢀ2*+ꢀ4KUGꢀꢐ.GXGNꢀ  
5GPUGꢑ  
ꢍꢁ  
ꢇꢃ  
ꢇꢂ  
ꢇꢎ  
V
V
V
V
V
V
V
V
PU  
PU  
PU  
PU  
&4'3ꢃꢌꢂꢀ.QYꢀ9KFVJꢀꢐ'FIGꢀ5GPUGꢑ  
&4'3ꢃꢌꢂꢀ*KIJꢀ9KFVJꢀꢐ'FIGꢀ5GPUGꢑ  
2*+ꢀ(CNNꢀVQꢀ6'0&ꢃꢌꢂꢀ8CNKF  
6$5  
6$5  
6'0&ꢃꢌꢂꢀ2WNUGꢀ9KFVJꢀ.QY  
ꢎV  
ꢌꢂꢆ  
ꢎV  
ꢌꢂꢃ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢎꢂꢂ  
'
%
#%ꢀ%  
6
ꢁꢄꢏꢃꢅ #%ꢁ%  
ꢍꢁ6 ꢁꢒꢁꢀꢎꢃu%ꢁ ꢁꢕꢂꢏu%ꢍꢁ% ꢁꢒꢁꢄꢃꢃꢁ (ꢁꢁꢈ%  
ꢁꢆꢃꢁ/*\  
ꢌꢌꢁ/*\  
0Qꢁ 5[ODQNꢁ 2CTCOGVGT  
*CNVꢍꢁ5NGGRꢁ6KOKPI  
/KP  
/CZ  
/KP  
/CZ  
7PKVU  
ꢇꢊ  
ꢇꢉ  
V
V
2*+ꢀ4KUGꢀVQꢀ*#.6ꢀ.QY  
2*+ꢀ4KUGꢀVQꢀ*#.6ꢀ*KIJ  
6$5  
6$5  
6$5  
6$5  
PU  
PU  
246ꢁ6KOKPI  
ꢇꢆ  
#5%+ꢁ6KOKPI  
V
2*+ꢀ(CNNꢀVQꢀ6176ꢀ8CNKF  
6$5  
6$5  
6$5  
6$5  
PU  
ꢇꢏ  
ꢇꢍ  
ꢇꢇ  
ꢇꢁ  
V
V
V
H
%-#PꢀHCNNꢀVQꢀ6:#ꢀ8CNKF  
PU  
PU  
PU  
4:#Pꢀ5GVWRꢀVQꢀ%-#Pꢀ4KUGꢀꢐꢂ:ꢀ/QFGꢑ  
4:#Pꢀ*QNFꢀ(TQOꢀ%-#PꢀTKUGꢀꢐꢂ:ꢀ/QFGꢑ  
/CZꢀ&CVCꢀ4CVGꢀꢐꢋꢂꢏꢀ%NQEMꢅꢀ1NFꢀ$4)ꢑ  
6$5  
6$5  
6$5  
6$5  
H
H
ꢋꢂꢏꢃ DKVUꢋU  
ꢂꢏꢃ  
ꢁꢃ  
H
/CZꢀ&CVCꢀ4CVGꢀꢐꢋꢂꢏꢀ%NQEMꢅꢀ0GYꢀ$4)ꢑ  
H
ꢋꢏꢉ  
H ꢋꢏꢉ DKVUꢋU  
%5+ꢋ1ꢁ6KOKPI  
ꢁꢂ  
ꢁꢎ  
ꢁꢊ  
V
V
V
%-5ꢀ.QYꢀVQꢀ6:5ꢀ8CNKF  
ꢂꢃ  
ꢂꢃ  
PU  
PU  
PU  
ꢂꢆ  
ꢂꢆ  
4:5ꢀ8CNKFꢀVQꢀ%-5ꢀ*KIJ  
%-5ꢀ*KIJꢀVQꢀ4:5ꢀ+PXCNKF  
9&6ꢁ6KOKPI  
ꢁꢉ  
ꢁꢆ  
V
V
2*+ꢀTKUGꢀVQꢀ9&6176ꢀ.QY  
2*+ꢀTKUGꢀVQꢀ9&6176ꢀ*KIJ  
6$5  
6$5  
6$5  
6$5  
PU  
PU  
2+1ꢁ6KOKPI  
ꢁꢏ  
V
+143ꢀ*KIJꢀꢐOQFGꢀꢃꢀRQTVꢀYTKVGꢑꢀVQꢀ2Zꢍꢌ  
ꢃꢀ8CNKF  
6$5  
6$5  
6$5  
6$5  
PU  
ꢁꢍ  
V
V
V
V
V
V
V
2*+ꢀ(CNNꢀVQꢀZ4&;ꢀ*KIJ  
PU  
PU  
PU  
PU  
PU  
PU  
PU  
ꢁꢇ  
6$5  
6$5  
6$5  
6$5  
Z56$ꢀ2WNUGꢀ9KFVJꢀ.QY  
ꢁꢁ  
Z56$ꢀ4KUGꢀVQꢀ2*+ꢀ(CNN  
2*+ꢀ(CNNꢀVQꢀZ4&;ꢀ.QY  
ꢂꢃꢃ  
ꢂꢃꢂ  
ꢂꢃꢎ  
ꢂꢃꢊ  
6$5  
6$5  
6$5  
6$5  
6$5  
6$5  
6$5  
6$5  
Z56$ꢀ*QNFꢀCHVGTꢀ2*+ꢀ(CNN  
2Zꢍꢌꢃꢀ5GVWRꢀVQꢀZ56$ꢀ*KIJꢀꢐ/QFGꢀꢂꢅꢀꢎꢑ  
2Zꢍꢌꢃꢀ*QNFꢀ#HVGTꢀZ56$ꢀ*KIJꢀꢐ/QFGꢀꢂꢅꢀ  
ꢎꢑ  
ꢂꢃꢉ  
V
Z4&;ꢀHCNNꢀVQꢀZ56$ꢀ(CNNꢀꢐ/QFGꢀꢂꢅꢀꢎꢑ  
PU  
ꢎꢂꢎ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
#%ꢀ%  
'
%
6
ꢁꢄꢏꢃꢅ #%ꢁ%  
ꢍꢁ6 ꢁꢒꢁꢀꢎꢃu%ꢁ ꢁꢕꢂꢏu%ꢍꢁ% ꢁꢒꢁꢄꢃꢃꢁ (ꢁꢁꢈ%  
ꢁꢆꢃꢁ/*\  
ꢌꢌꢁ/*\  
0Qꢁ 5[ODQNꢁ 2CTCOGVGT  
/KP  
/CZ  
6$5  
6$5  
/KP  
/CZ  
7PKVU  
PU  
ꢂꢃꢆ  
ꢂꢃꢏ  
V
V
Z56$ꢀ.QYꢀVQꢀ2Zꢍꢌꢃꢀ8CNKFꢀꢐ/QFGꢀꢎꢀ+Pꢑ  
6$5  
6$5  
Z56$ꢀ*KIJꢀVQꢀ2ZꢍꢌꢃꢀTGNGCUGFꢀꢐOQFGꢀꢎꢀ  
+Pꢑ  
PU  
ꢂꢃꢍ  
V
Z56$ꢀ*KIJꢀVQꢀ2Zꢍꢌꢃꢀ'ZVꢀ&TKXGPꢀꢐ/QFGꢀ  
ꢎꢑ  
V
V
PU  
ꢂꢃꢇ  
ꢂꢃꢁ  
V
V
2Zꢍꢌꢃꢀ5GVWRꢀVQꢀ4&ꢀ.QYꢀꢐ/QFGꢀꢊꢑ  
2Zꢍꢌꢃꢀ*QNFꢀ#HVGTꢀ4&ꢀ.QYꢀꢐ/QFGꢀꢊꢑ  
6$5  
6$5  
6$5  
6$5  
PU  
PU  
%6%ꢁ6KOKPI  
ꢂꢂꢃ  
ꢂꢂꢂ  
ꢂꢂꢎ  
V
V
V
%.-ꢋ64)Pꢀ%[ENGꢀ6KOG  
ꢎꢀV  
ꢎꢀV  
PU  
PU  
PU  
%.-ꢋ64)Pꢀ*KIJꢀQTꢀ.QYꢀ2WNUGꢀ9KFVJ  
V
V
%.-ꢋ64)Pꢀ#EVKXGꢀ'FIGꢀ5GVWRꢀVQꢀ2*+ꢀ  
6$5  
6$5  
4KUG  
ꢂꢂꢊ  
V
%.-ꢋ64)Pꢀ#EVKXGꢀ'FIGꢀ*QNFꢀ#HVGTꢀ2*+ꢀ  
4KUG  
6$5  
6$5  
PU  
ꢂꢂꢉ  
ꢂꢂꢆ  
V
V
2*+ꢀTKUGꢀVQꢀ<%ꢋ61PꢀTKUG  
6$5  
6$5  
6$5  
6$5  
PU  
PU  
2*+ꢀ(CNNꢀVQꢀ<%ꢋ61Pꢀ(CNN  
5+1ꢁ6KOKPI  
ꢂꢂꢏ  
ꢂꢂꢍ  
ꢂꢂꢇ  
ꢂꢂꢁ  
ꢂꢎꢃ  
ꢂꢎꢂ  
ꢂꢎꢎ  
ꢂꢎꢊ  
ꢂꢎꢉ  
ꢂꢎꢆ  
ꢂꢎꢏ  
V
V
V
V
V
V
V
V
V
V
V
%65ꢅꢀ&%&ꢅꢀ5;0%ꢀ2WNUGꢀ9KFVJꢀ*KIJ  
%65ꢅꢀ&%&ꢅꢀ5;0%ꢀ2WNUGꢀ9KFVJꢀ.QY  
6$5  
6$5  
6$5  
6$5  
6$5  
6$5  
6$5  
6$5  
6$5  
6$5  
PU  
PU  
PU  
PU  
PU  
PU  
PU  
PU  
PU  
PU  
PU  
6Z%ꢀ%[ENGꢀ6KOG  
6Z%ꢀ9KFVJꢀ.QY  
6Z%ꢀ9KFVJꢀ*KIJ  
6Z%ꢀ(CNNꢀVQꢀ6Z&ꢀ8CNKF  
6$5  
6$5  
6$5  
6$5  
6Z%ꢀ(CNNꢀVQꢀ9ꢋ4&;ꢀꢐ4GCF[ꢑꢀ.QY  
6$5  
6$5  
6$5  
6$5  
6$5  
6$5  
6$5  
6$5  
4Z%ꢀ%[ENGꢀ6KOG  
4Z%ꢀ9KFVJꢀ.QY  
4Z%ꢀ9KFVJꢀ*KIJ  
4Z&ꢀ8CNKFꢀ5GVWRꢀVQꢀ4Z%ꢀ4KUGꢀꢐ:ꢂꢀ  
/QFGꢑ  
ꢂꢎꢍ  
V
4Z&ꢀ8CNKFꢀ*QNFꢀ(TQOꢀ4Z%ꢀ4KUGꢀꢐ:ꢂꢀ  
/QFGꢑ  
6$5  
6$5  
PU  
ꢂꢎꢇ  
ꢂꢎꢁ  
V
V
4Z%ꢀ4KUGꢀVQꢀ9ꢋ4&;ꢀꢐ4GCF[ꢑꢀ.QY  
4Z%ꢀ4KUGꢀVQꢀ5;0%ꢀꢐ1WVRWVꢑꢀ.QY  
6$5  
6$5  
6$5  
6$5  
PU  
PU  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢎꢂꢊ  
'
%
%
%#2#%+6#0%'  
The capacitance of each pin on the Z80S188 depends on whether the pin is an  
input, output, or both. The total capacitance associated with outputs affects their  
AC characteristics (switching time) as described in “Characteristic Curves”, on  
page 226.  
+PRWV  
1WVRWV  
+ꢋ1  
ꢆꢀR(  
ꢂꢃꢀR(  
ꢂꢎꢀR(  
6+/+0)ꢁ&+#)4#/5  
':6#.  
2*+  
ꢂꢂ  
ꢂꢃ  
ꢂꢎ  
ꢂꢉ  
ꢂꢊ  
4'5'6  
ꢂꢆ  
ꢂꢏ  
#P[  
1VJGT  
+PRWV  
(
ꢆꢏꢅ $  
ꢁ6  
ꢎꢂꢉ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
6
ꢀ&  
'
%
6ꢂ  
6ꢎ  
6Y  
6ꢊ  
2*+  
ꢂꢍ  
#ꢆꢆꢀꢃ  
ꢎꢂ  
ꢎꢎ  
ꢊꢂ  
ꢊꢎ  
ꢂꢇ  
/'/%5ꢄꢀꢃꢍ  
'8ꢋ41/%5  
ꢎꢇ  
ꢂꢁ  
*KIJꢀKPꢀ1VJGTꢀ/GOQT[ꢀ4GCFU  
.QYꢀKPꢀ1Rꢀ%QFGꢀ(GVEJGU  
/ꢄ  
ꢎꢊ  
ꢎꢁ  
ꢎꢁ  
ꢎꢏ  
ꢊꢊ  
/4'3  
56  
ꢎꢃ  
ꢎꢊ  
%27 %27  
%27  
ꢎꢏ  
NQYꢀKPꢀꢂUVꢀ1Rꢀ%QFGꢀHGVEJꢀCPFꢀ&/#ꢀE[ENGU  
ꢎꢏ  
&/# &/#  
&/#  
ꢎꢁ  
ꢎꢊ  
4&  
ꢎꢆ  
ꢎꢉ  
ꢎꢆ  
ꢎꢉ  
9#+6  
&ꢑꢀꢃ  
ꢊꢃ  
ꢎꢍ  
(
ꢆꢐꢅ /  
ꢁ4  
ꢁ6  
ꢁꢈ1 ꢁ9 ꢁ5  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢎꢂꢆ  
'
%
6
ꢀ&  
6ꢂ  
6ꢎ  
6ꢊ  
2*+  
ꢂꢍ  
#ꢆꢆꢀꢃ  
ꢊꢂ  
ꢊꢎ  
ꢎꢂ  
ꢂꢇ  
/'/%5ꢄꢀꢃ  
'8ꢋ41/%5  
ꢎꢎ  
ꢎꢊ  
ꢎꢁ  
ꢎꢏ  
/4'3  
ꢎꢃ  
%27  
%27  
&/#  
56  
&ꢑꢀꢃ  
94  
&/#  
ꢊꢉ  
ꢉꢃ  
ꢊꢆ  
ꢊꢏ  
ꢊꢁ  
ꢊꢇ  
ꢊꢍ  
ꢎꢉ  
9#+6  
ꢎꢆ  
(
ꢆꢑꢅ /  
ꢁ9  
ꢁ6  
ꢁꢈ0 ꢁ9 ꢁ5  
ꢎꢂꢏ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
6
ꢀ&  
'
%
6ꢂ  
6ꢎ  
6Y  
6ꢊ  
2*+  
ꢂꢍ  
ꢂꢇ  
ꢉꢎ  
ꢉꢉ  
ꢆꢃ  
ꢆꢂ  
ꢉꢂ  
ꢉꢊ  
#ꢄꢏꢀꢃ  
+1%5  
+143  
ꢉꢆ  
ꢉꢏ  
ꢉꢁ  
ꢉꢍ  
ꢉꢇ  
ꢎꢃ  
%27  
%27  
56  
4&  
&/#  
&/#  
ꢉꢆ  
ꢉꢁ  
ꢉꢏ  
ꢉꢍ  
ꢉꢇ  
ꢎꢉ  
ꢎꢆ  
ꢎꢍ  
9#+6  
&ꢑꢀꢃ  
ꢊꢃ  
(
ꢆꢂꢅ +ꢋ1ꢁ4  
ꢁ6  
ꢁꢈ#  
ꢁ9 ꢁ5  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢎꢂꢍ  
'
%
6
ꢀ&  
6ꢂ  
6ꢎ  
6Y  
6Y  
6ꢊ  
2*+  
ꢂꢍ  
#ꢄꢏꢀꢃ  
ꢂꢇ  
ꢉꢂ  
ꢆꢃ  
ꢉꢎ  
ꢉꢉ  
ꢉꢊ  
ꢆꢂ  
+1%5  
ꢉꢆ  
ꢉꢏ  
ꢉꢁ  
ꢉꢍ  
ꢉꢇ  
+143  
ꢎꢃ  
%27  
%27  
56  
&/#  
&/#  
ꢉꢃ  
ꢊꢁ  
ꢊꢉ  
ꢊꢆ  
&ꢑꢀꢃ  
ꢊꢇ  
ꢊꢏ  
ꢆꢎ  
94  
ꢎꢆ  
ꢎꢉ  
ꢎꢆ  
ꢎꢉ  
9#+6  
(
ꢆꢓꢅ +ꢋ1ꢁ9  
ꢁ6  
ꢁꢈ#  
ꢁ1 ꢁ9 ꢁ5  
2*+  
ꢆꢊ  
ꢆꢉ  
ꢆꢊ  
$754'3  
$75#%-  
ꢆꢆ  
ꢆꢇ  
ꢆꢁ  
ꢆꢏ  
ꢆꢍ  
ꢏꢃ  
#ꢆꢆꢀꢃꢍꢁ/4'3ꢍ  
+143ꢍꢁ4&ꢍꢁ94ꢍ  
&ꢑꢀꢃ  
(
ꢌꢃꢅ $ ꢁ'  
ꢁ6  
ꢎꢂꢇ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
6
ꢀ&  
'
%
2*+  
ꢏꢂ  
ꢏꢁ  
ꢏꢎ  
ꢍꢃ  
ꢏꢂ  
ꢏꢁ  
+06ꢃ  
ꢍꢂ  
ꢍꢂ  
+06ꢄꢀꢆ  
0/+  
ꢍꢎ  
+'+  
ꢏꢊ  
ꢏꢉ  
+'1  
(
ꢌꢄꢅ +  
ꢁ6  
6ꢂ  
6ꢎ  
6Y  
6Y  
6ꢊ  
2*+  
ꢎꢇ  
ꢂꢁ  
/ꢄ  
ꢏꢏ  
ꢉꢁ  
+143  
ꢏꢍ  
/4'3  
4&ꢅꢀ94  
ꢏꢆ  
+'1  
+'+  
ꢎꢍ  
ꢏꢇ  
&ꢑꢀꢃ  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢎꢂꢁ  
'
%
6
ꢀ&  
(
ꢌꢆꢅ +  
ꢁ#  
ꢁ6  
64ꢂ  
64ꢎ  
2*+  
ꢍꢊ  
ꢂꢍ  
ꢍꢉ  
4(5*  
#ꢑꢀꢃ  
ꢂꢍ  
ꢎꢂ  
ꢎꢊ  
4GHTGUJꢀ#FFTGUU  
ꢊꢂ  
ꢎꢁ  
ꢍꢆ  
ꢍꢏ  
ꢊꢊ  
/4'3  
ꢊꢊ  
(
ꢌꢌꢅ 4  
ꢁ6  
ꢁꢈꢆꢀ%  
ꢁ%  
2*+  
ꢍꢍ  
ꢍꢇ  
ꢍꢍ  
&4'3ꢄꢀꢃ  
ꢐ.GXGNꢑ  
ꢍꢁ  
ꢇꢃ  
&4'3ꢄꢀꢃ  
ꢐ'FIGꢑ  
(
ꢌꢎꢅ &/#ꢁ4  
ꢁ6  
6ꢂ  
6ꢎ  
6ꢊ  
2*+  
ꢇꢂ  
ꢇꢂ  
ꢇꢎ  
6'0&ꢄꢀꢃ  
(
ꢌꢏꢅ &/#ꢁ6  
ꢁ6  
ꢎꢎꢃ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
6
ꢀ&  
'
%
6ꢎ  
6ꢊ  
6ꢂ  
6ꢎ  
6ꢊ  
6ꢂ  
6ꢎ  
6ꢊ  
6ꢂ  
6ꢎ  
2*+  
#FFTGUUꢀQHꢀ*#.6  
1Rꢀ%QFG  
#ꢆꢆꢀꢃ  
#FFTGUUꢀQHꢀ0GZVꢀ+PUVTWEVKQP  
ꢇꢊ  
ꢇꢉ  
4'5'6ꢀQTꢀ+06  
+PVGTTWRVꢀ#%-  
*#.6  
/ꢄ  
/4'3  
4&  
%CPꢀKPENWFGꢀ&/#ꢀE[ENGUꢅꢀ$75#%-  
0QVGꢊꢀ#NNꢀQVJGTꢀVKOKPIꢀTGNCVKQPUJKRUꢀCTGꢀCUꢀFGUETKDGFꢀKPꢀVJGꢀ/GOQT[ꢀ4GCFꢀHKIWTGꢄ  
ꢌꢐꢅ * ꢁ6  
6ꢂ 6ꢎ  
(
6ꢎ  
6ꢊ  
6U  
6U  
6U  
6U  
6ꢂ  
6ꢎ  
2*+  
#FFTGUUꢀQHꢀꢎPFꢀ$[VG  
QHꢀ5.2  
#ꢆꢆꢀꢃ  
#NNꢀ*KIJ  
ꢇꢊ  
ꢇꢉ  
*#.6  
/ꢄ  
4'5'6  
1RꢀHGVEJꢀQTꢀ+06ꢀ#%-  
ECPꢀKPENWFGꢀ$75#%-  
0QVGꢊꢀ1VJGTꢀVKOKPIꢀTGNCVKQPUJKRUꢀCTGꢀCUꢀFGUETKDGFꢀKPꢀVJGꢀ/GOQT[ꢀ4GCFꢀHKIWTGꢄ  
(
ꢌꢑꢅ 5  
ꢁ6  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢎꢎꢂ  
'
%
6
ꢀ&  
2*+  
ꢇꢆ  
6176  
(
ꢌꢂꢅ 246ꢁ6  
%-#P  
6:#P  
ꢇꢏ  
ꢇꢇ  
ꢇꢍ  
4:#Pꢁꢈꢄ:ꢁOQFGꢉ  
ꢌꢓꢅ #5%+ꢁ6  
(
%-5  
6:5  
ꢁꢂ  
ꢁꢊ  
ꢁꢎ  
4:5  
(
ꢎꢃꢅ %5+ꢋ1ꢁ6  
2*+  
ꢁꢉ  
ꢁꢆ  
ꢂꢉꢀ%NQEMUꢀKHꢀ9&6176ꢀEQPPGEVGFꢀVQꢀ4'5'6ꢅꢀGNUGꢀWPVKNꢀUQHVYCTGꢀENGCTUꢀ9&6  
9&6176  
(
ꢎꢄꢅ 9  
ꢀ& ꢁ6  
ꢁ6  
ꢎꢎꢎ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
6
ꢀ&  
'
%
2*+  
ꢁꢁ  
#ꢄꢏꢀꢃ  
2QTVꢀ&CVCꢀ#FFTGUU  
+143ꢍ  
94  
ꢁꢏ  
2Zꢑꢀꢃ  
ꢂꢃꢃ  
ꢁꢍ  
Z4&;  
Z56$  
ꢁꢇ  
ꢂꢃꢂ  
(
ꢎꢆꢅ 2+1ꢁ/  
ꢁꢃꢁꢈ1  
ꢉꢁ6  
2*+  
ꢁꢁ ꢂꢃꢃ  
ꢂꢃꢊ  
ꢁꢇ  
Z56$  
ꢂꢃꢉ  
ꢂꢃꢎ  
2Zꢑꢀꢃ  
Z4&;  
ꢁꢍ  
#ꢄꢏꢀꢃ  
2QTVꢀ&CVCꢀ#FFTGUU  
+143ꢍ  
4&  
(
ꢎꢌꢅ 2+1ꢁ/  
ꢁꢄꢁꢈ+  
ꢉꢁ6  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢎꢎꢊ  
'
%
6
ꢀ&  
2*+  
#ꢄꢏꢀꢃ  
+143  
ꢁꢁ  
ꢁꢁ  
2QTVꢀ&CVCꢀ#FFTGUU  
ꢐCPFꢀ4&ꢑ  
ꢐCPFꢀ94ꢑ  
ꢂꢃꢃ  
ꢁꢍ  
Z4&;  
ꢁꢇ  
Z56$  
ꢂꢃꢍ  
ꢂꢃꢏ  
ꢁꢍ  
+PRWVꢀ&CVC  
ꢂꢃꢆ  
2Zꢑꢀꢃ  
1WVRWV  
ꢂꢃꢊ  
ꢂꢃꢎ  
ꢁꢇ  
[56$  
[4&;  
ꢂꢃꢃ  
0QVGꢊ Z ꢀUVCPFUꢀHQTꢀRQTVꢀ#ꢀQTꢀ%ꢅꢀ [ ꢀHQTꢀRQTVꢀ$ꢀQTꢀ&ꢀEQTTGURQPFKPIN[ꢄ  
(
ꢎꢎꢅ 2+1ꢁ/  
ꢁꢆꢁꢈ$  
ꢉꢁ6  
2Zꢑꢀꢃ  
ꢂꢃꢇ  
ꢂꢃꢁ  
4&  
(
ꢎꢏꢅ 2+1ꢁ/  
ꢁꢌꢁꢈ$ ꢁ%  
ꢉꢁ6  
ꢎꢎꢉ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
6
ꢀ&  
'
%
2*+  
ꢂꢂꢎ  
ꢂꢂꢎ  
ꢂꢂꢊ  
ꢂꢂꢊ  
ꢂꢂꢂ  
%.-ꢋ64)P  
ꢂꢂꢂ  
ꢂꢂꢃ  
ꢂꢂꢃ  
ꢂꢂꢉ  
ꢂꢂꢆ  
<%ꢋ61P  
6JGUGꢀRCTCOGVGTUꢀCRRN[ꢀKHꢀDKVꢀꢉꢀQHꢀVJGꢀ%%9ꢀKUꢀꢃꢄ  
6JGUGꢀRCTCOGVGTUꢀCRRN[ꢀKHꢀDKVꢀꢉꢀQHꢀVJGꢀ%%9ꢀKUꢀꢂꢄ  
(
ꢎꢐꢅ %6%ꢁ6  
ꢂꢂꢏ  
ꢂꢂꢍ  
%65Zꢍꢁ&%&Zꢍ  
5;0%Z  
ꢂꢂꢇ  
ꢂꢂꢁ  
6Z%Z  
6Z&Z  
ꢂꢎꢃ  
ꢂꢂꢇ  
ꢂꢎꢂ  
ꢂꢎꢎ  
9ꢋ4&;Z  
4Z%Z  
ꢂꢎꢊ  
ꢂꢎꢇ  
ꢂꢎꢉ  
ꢂꢎꢆ  
ꢂꢎꢍ  
ꢂꢎꢊ  
ꢂꢎꢏ  
4Z&Z  
ꢂꢎꢁ  
5;0%ZꢁꢈQWVꢉ  
5;0%ZꢁꢈKPꢉ  
ꢂꢊꢃ  
(
ꢎꢑꢅ 5+1ꢁ6  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢎꢎꢆ  
5
ꢁ&  
ꢁ%  
%
ꢀ%  
%*#4#%6'4+56+%ꢁ%748'5  
20  
16  
12  
8
G
I
F
G
I
P
K
N
N
C
(
G
I
F
G
I
P
K
U
K
4
4
0
-4  
-8  
25  
50  
75  
100  
ꢎꢂꢅ %  
125  
ꢁ.  
150  
175  
200  
225  
250  
275 pF  
(
ꢁ%  ꢅꢁ5  
ꢁ6  
5;56'/ꢁ&'5+)0ꢁ%105+&'4#6+105  
'44#6#  
The following errata apply to revision AB of the Z80S188, which is identified by a  
0in the Device Revision register, I/O address 003DH.  
5EJOKVVꢁ6TKIIGTU  
The RESET, NMI, ZCL and ZDA pins are specified to include Schmitt triggers,  
but these were not included on Rev AB. The 50 mS max rise and fall time speci-  
fied for RESET thus becomes much shorter, 50 nS or less. Since RESET is an  
open-drain output, perhaps the best work around is to simply connect a pullup  
resistor, and not drive RESET externally.  
0Qꢁ46%ꢁ#NCTO  
The Alarm function of the Real Time Clock is not operative.  
294596%*ꢁ0GICVKXGꢁ.QIKE  
The PWRSWTCH pin is specified as positive logic, but in Rev AB is implemented  
as negative logic (1 is Low, 0 is High).  
1WVRWVꢁ%QPVTQNꢁ4GIKUVGTꢁ4GUGV  
The OCR is specified to reset to 0xx0 0000, but instead resets to 0xx1 1000.  
0Qꢁ4GUGVꢁ(TQOꢁ12/1&ꢄ  
A rising edge on OPMOD1 does not trigger a Power On Reset sequence.  
ꢎꢎꢏ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
< .1)ꢀ&  
ꢀ+  
#
ꢁ0  
ꢋ&  
ꢁ6  
2+15ꢁ2QTVꢁ+PKVKCNK\CVKQP  
246ꢁ4CEGꢁ%QPFKVKQP  
The Programmable I/O Sequencer enables Port C outputs when it is enabled. Soft-  
ware needs to define the state of Port C outputs before enabling the PIOS, by writ-  
ing to the Port C Data Register.  
If software writes to the PRT Reload registers while the PRT is operating, and a  
write coincides with a window near the end of the PRT’s countdown cycle, the  
down counter may end up reloaded with the wrong value.  
ꢏꢃꢋꢐꢃꢁ*\ꢁ46%ꢁ%NQEMꢁ6CMGPꢁ(TQOꢁ9TQPIꢁ2KP  
The RTC specs read that if bit 4 of the RTC Control/Status Register is 1, the RTC  
takes a 50- or 60-Hz clock from the PC0 pin. Rev AB makes the frequency adjust-  
ment when this bit is 1, but takes the clock from LFEXTAL, as when the bit is 0.  
4GIKUVGTꢁ9TKVGꢁ'PCDNGꢁ5VCVGꢁ+PFGVGTOKPCVGꢁ#HVGTꢁ4GUGV  
The Register Write Enable state that is readable as bit 0 of the Watch-Dog Timer  
Master register is specified to reset to 1. However, its value is indeterminate after  
power up and unchanged by other Resets. Reset-initialization software writes a  
0BH to the Watch-Dog Timer Command Register to set this bit, before writing  
any of the System Configuration, Power Control, Port Data Direction, or Real  
Time Clock registers.  
%5+ꢋ1ꢁ%NQEMꢁ2KPꢁ&KTGEVKQPꢁ4GXGTUGF  
The tri-state control signal for the CKS pin is inverted. Thus when  
the CSI/O module thinks the pin should be an input, the pad is driving  
out, and vice-versa. This renders the CSI/O unusable in any mode.  
#22.+%#6+10ꢁ016'5ꢋ&'8'.12/'06ꢁ611.5  
<+.1)ꢁ&'$7)ꢁ+06'4(#%'  
The Z80S188 includes this serial interface to allow ZiLOG and third-party devel-  
opment systems and emulators to control and monitor the processor and other on-  
chip resources, during application development and debugging. This two-wire  
interface is intended to be a standard feature of ZiLOG processors developed in  
the future, eliminating the need for expensive and cumbersome pods and clip-on  
emulation equipment.  
In order to use the ZiLOG Developer Studio (ZDS) or equivalent equipment with  
an application or target board, include a standard right angle, 0.1 in spaced, 0.025  
in square post, 6-pin header on the board (Berg P/N 75867-131 or equivalent).  
Connect the ZCL and ZDA pins of the Z80S188 to pins 4 and 6 of this header as  
illustrated in Figure 49, which is a top view of the board.  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢎꢎꢍ  
1
+
< .1)ꢀ&  
ꢀ+  
VDD  
Z80S188  
1
3
5
4
6
ZCL  
ZDA  
10K  
GND  
90  
91  
ZDA  
ZCL  
(
ꢎꢓꢅ <&+ꢁ%  
ꢁ6  
ꢁ$  
14&'4+0) +0(14/#6+10  
<ꢂꢃ5ꢄꢂꢂꢁꢈꢌꢌꢁ/*\ꢉ  
5VCPFCTFꢁ6GORGTCVWTG  
ꢂꢏꢃꢀ2KPꢀ3(2  
<ꢇꢃ5ꢂꢇꢇꢊꢊ#5%4ZZZZ  
'ZVGPFGFꢁ6GORGTCVWTG  
ꢂꢏꢃꢀ2KPꢀ3(2  
<ꢇꢃ5ꢂꢇꢇꢊꢊ#'%4ZZZZ  
<ꢂꢃ.ꢄꢂꢂꢁꢈꢆꢃꢁ/*\ꢉ  
5VCPFCTFꢁ6GORGTCVWTG  
ꢂꢏꢃꢀ2KPꢀ3(2  
<ꢇꢃ.ꢂꢇꢇꢎꢃ#5%4ZZZZ  
'ZVGPFGFꢁ6GORGTCVWTG  
ꢂꢏꢃꢀ2KPꢀ3(2  
<ꢇꢃ.ꢂꢇꢇꢎꢃ#'%4ZZZZ  
For fast results, contact your local ZiLOG sale offices for assistance in ordering  
the part(s) desired.  
ꢎꢎꢇ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
2
ꢀ0  
ꢀ&  
1
+
2#46ꢁ07/$'4ꢁ&'5%4+26+10  
ZiLOG part numbers consist of a number of components.  
ꢊꢁ  
'
Part number Z80S188 33 A S C, a Z80S188, 33 MHz, Quad Flat Pack, 0° to 70°  
C, Plastic Standard Flow, is made up of the codes described in the following table.  
<
<K.1)ꢀ2TGHKZ  
2TQFWEVꢀ0WODGT  
5RGGF  
<ꢇꢃ5ꢂꢇꢇ  
ꢊꢊ  
#
2CEMCIG  
5
6GORGTCVWTG  
'PXKTQPOGPVCNꢀ(NQY  
%
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢎꢎꢁ  
1
+
2
ꢀ0  
ꢀ&  
<+.1)ꢁ<ꢂꢃ5ꢄꢂꢂꢁ%1&'ꢁ57$/+55+10ꢁ(14/  
To submit a ROM Code:  
1. Complete ROM code submission form.  
2. E-mail this form and the hex file (in Intel Hex format) as separate attachments  
to: codes@ZiLOG.com  
%QORCP[ꢀ0COGꢈ  
&KUV[ꢋ5WDEQPꢈ  
&CVGꢈꢀAAAAAAAA  
<K.1)ꢀ2ꢋ0ꢈꢀAAAAAAAAAAAAAAAAAAAAAAAA  
%JGEMUWOꢈꢀAAAAAAAAAAAAAAAAAAAAAAAAAA ꢀꢃꢃ  
2CEMCIGꢀ%QFGꢀ.GIGPFꢈꢀ  
AAAAAAAAAAAA  
4'8ꢈꢀꢐ+PRWVꢀD[ꢀ  
<K.1)  
ꢐ+PRWVꢀD[ꢀ<K.1)  
%QORCP[ꢀ2ꢋ0ꢈꢀAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAꢀ(KNGꢀ2ꢀ+PRWVꢈꢀAAAAAAAAAAAAAAA  
'ZRGEVGFꢀ#PPWCNꢀ8QNWOGꢀKPꢀ7PKVUꢈꢀAAAAAA  
#RRNKECVKQPꢈꢀAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA  
5RGEKCNꢀ+PUVTWEVKQPUꢈꢀꢐ1RVKQPCNꢑAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA  
<K.1)ꢀ5CNGUꢀ1HHKEGꢀꢐQTꢀ[QWTꢀEKV[ꢀCPFꢀEQWPVT[ꢑꢈꢀAAAAAAAAAAAAAAAAAAAAAꢀAAAAAAAAAAA  
5GPFꢀ41/ꢀXGTKHKECVKQPꢀVQꢈꢀAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA  
2JQPGꢈꢀAAAAAAAAAAAAAAAAAAAAAAAAAAAAA  
'ꢌOCKNꢀCFFTGUUꢈꢀAAAAAAAAAAAAAAA (CZꢈꢀAAAAAAAAAAA  
6QꢀUWDOKVꢀCꢀVQROCTMꢈ  
ꢂꢄ %JGEMꢀDQZꢀHQTꢀFGHCWNVꢀQTꢀEWUVQOꢀHQTꢀVJGꢀRTGHGTTGFꢀRCEMCIGꢄ  
ꢎꢄ 1PꢀFGHCWNVꢅꢀꢁꢁꢁꢁꢀKPFKECVGUꢀ41/ꢀPWODGTꢀCUUKIPGFꢀVQꢀRCTVꢀD[ꢀ<K.1)ꢄ  
ꢊꢄ +HEWUVQOVQROCTMKUUGNGEVGFꢅGPVGTEJCTCEVGTUKPVJGURCEGRTQXKFGFꢄ  
<K.1)ꢀCFFUꢀVJGꢀFCVGꢀEQFGꢀꢐFGUETKDGFꢀDGNQYꢀCUꢀ::;;ꢀ$$ꢑꢀCUꢀDQVVQOꢀNKPG  
CPFꢀCNKIPꢀCUꢀFGUETKDGFꢀQPꢀFGHCWNVꢀVQROCTMꢄ  
ꢉꢄ +HꢀCNNꢀVJGꢀNKPGUꢀQPꢀCꢀEWUVQOꢀVQROCTMꢀCTGꢀPQVꢀWUGFꢅꢀNGCXGꢀVJGꢀVQRꢀNKPGꢀDNCPMꢄ  
ꢆꢄ (QTꢀ ꢀꢐ6TCFGOCTMꢑꢀU[ODQNꢅꢀRNCEGꢀNQYGTECUGꢀtm  
ꢏꢄ (QTꢀlꢀꢐ%QR[TKIJVꢑꢀU[ODQNꢅꢀRNCEGꢀNQYGTECUGꢀcꢀHQNNQYGFꢀD[ꢀCꢀURCEGꢄ  
ꢍꢄ (QTꢀEWUVQOꢀNQIQꢅꢀCVVCEJꢀCꢀ$/2ꢅꢀ,2')ꢀQTꢀ)+(ꢀHKNGꢀVQꢀVJKUꢀHQTOꢄ  
ꢇꢄ 6QꢀWUGꢀ<K.1)ꢀKPꢀCꢀEWUVQOꢀVQROCTMꢅꢀV[RGꢀpZiLOGꢄꢀ6JGꢀpꢀKUꢀCꢀRNCEGOCTM  
HQTꢀVJGꢀ<K.1)ꢀPCOGꢄ  
6JGꢁ<ꢁNQIQꢁKUꢁWUGFꢁYJGPꢁCRRNKECDNG  
3(2ꢀꢂꢏꢃꢀ2KP  
&GHCWNV  
%WUVQO  
ꢂꢂꢀEJCTꢀOCZ  
ꢎꢊꢃ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
2
ꢀ2  
&
&+5%.#+/'4  
©1999 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 ACCU-  
RACY 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 TECH-  
NOLOGY 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.  
24'%*#4#%6'4+<#6+10ꢁ241&7%6  
The product represented by this document is newly introduced and ZiLOG has not  
completed the full characterization of the product. The document states what  
ZiLOG knows about this product at this time, but additional features or non-  
conformance with some aspects of the document may be found, either by ZiLOG  
or its customers in the course of further application and characterization work. In  
addition, ZiLOG cautions that delivery may be uncertain at times, due to start-up  
yield issues.  
ZiLOG, Inc.  
910 East Hamilton Avenue, Suite 110  
Campbell, CA 95008  
Telephone (408) 558-8500  
FAX 408 558-8300  
Internet: HTTP://WWW.ZILOG.COM  
&1%7/'06ꢁ+0(14/#6+10  
%*#0)'ꢁ.1)  
4GX  
&CVG  
2WTRQUG  
$[  
ꢃꢃ  
ꢃꢁꢁꢁ  
1TKIKPCNꢀKUUWG  
IICODNG  
25ꢃꢃꢂꢆꢃꢃꢌ</2ꢃꢁꢁꢁ  
<ꢇꢃ5ꢂꢇꢇꢀꢌꢀ24'.+/+0#4;  
ꢎꢊꢂ  
24'.+/+0#4;  
+
Capacitance . . . . . . . . . . . . . . . . . . . . . . 214  
CCF instruction . . . . . . . . . . . . . . . . . . . 185  
Channels  
Counter/Timer (CTC). . . . . . . . . . . . . 63  
DMA. . . . . . . . . . . . . . . . . . . . . . . . . 57  
Characteristics  
Curves. . . . . . . . . . . . . . . . . . . . . . . 227  
Electrical . . . . . . . . . . . . . . . . . . . . . 200  
Chip Select Decoding for IOCS pin . . . . . . 39  
Circuits  
Fundamental mode crystal . . . . . . . . . 42  
Third-overtone crystal . . . . . . . . . . . . 42  
Clock, CSI/O selection . . . . . . . . . . . . . . 106  
Clocking  
#
AC characteristics  
Extended temperature range . . . . . . 209  
Normal temperature range . . . . . . . . 203  
ADC instruction . . . . . . . . . . . . . . . . . . 184  
ADD instruction . . . . . . . . . . . . . . . . . . 184  
Addressing modes . . . . . . . . . . . . . . . . . 30  
alarm, RTC . . . . . . . . . . . . . . . . . . . . . 227  
AND instruction . . . . . . . . . . . . . . . . . . 185  
application notes/development tools . . . . 228  
Arithmetic instructions. . . . . . . . . . . . . . 178  
ASCI  
ASCI interrupts . . . . . . . . . . . . . . . . 103  
Basic clocking. . . . . . . . . . . . . . . . . . 95  
Baud rate generator (BRG). . . . . . . . . 95  
Clock mode. . . . . . . . . . . . . . . . . . . . 96  
Clocking summary. . . . . . . . . . . . . . . 98  
DMA operation . . . . . . . . . . . . . . . . 101  
Multiprocessor mode . . . . . . . . . . . . 104  
Operation . . . . . . . . . . . . . . . . . . . . . 86  
Options. . . . . . . . . . . . . . . . . . . . . . . 99  
Polled reception. . . . . . . . . . . . . . . . 103  
Polled transmission . . . . . . . . . . . . . 103  
Programming techniques . . . . . . . . . 102  
Reception . . . . . . . . . . . . . . . . . . . . . 97  
Status . . . . . . . . . . . . . . . . . . . . . . . 100  
Timing diagram. . . . . . . . . . . . . . . . 223  
Transmission. . . . . . . . . . . . . . . . . . . 97  
Circuits . . . . . . . . . . . . . . . . . . . . . . . 41  
Crystal specifications . . . . . . . . . . . . . 42  
Divide by 2 option 41  
Multiply by 2 option. . . . . . . . . . . . . . 41  
Reduced oscillator drive option . . . . . . 42  
Reset conditions. . . . . . . . . . . . . . . . . 43  
Sample rate . . . . . . . . . . . . . . . . . . . . 98  
Summary . . . . . . . . . . . . . . . . . . . . . . 98  
Condition codes . . . . . . . . . . . . . . . . . . . 181  
Configuration, MMU . . . . . . . . . . . . . . . . 32  
Control timing diagram. . . . . . . . . . . . . . . 37  
Counter/Timer Channel  
Addresses and registers. . . . . . . . . . . . 64  
Channel Control register . . . . . . . . . . . 64  
Down Counter . . . . . . . . . . . . . . . . . . 65  
Interrupt priority daisy chaining . . . . . 66  
Interrupt Vector register . . . . . . . . . . . 65  
Interrupts . . . . . . . . . . . . . . . . . . . . . . 65  
Software sequences . . . . . . . . . . . . . . 66  
Time Constant register . . . . . . . . . . . . 65  
CP instruction . . . . . . . . . . . . . . . . . . . . 185  
CPD instruction . . . . . . . . . . . . . . . . . . . 185  
CPDR instruction . . . . . . . . . . . . . . . . . . 185  
CPI instruction . . . . . . . . . . . . . . . . . . . . 185  
CPIR instruction. . . . . . . . . . . . . . . . . . . 185  
CPL instruction . . . . . . . . . . . . . . . . . . . 186  
Crystal  
$
Basic  
Device registers. . . . . . . . . . . . . . . . 111  
Timing diagram. . . . . . . . . . . . . . . . 215  
Baud rate generator (BRG). . . . . . . . . . . . 95  
BIT  
Instruction. . . . . . . . . . . . . . . . . . . . 185  
Manipulation instructions. . . . . . . . . 179  
Block transfer instructions . . . . . . . . . . . 179  
Bus exchange timing diagram. . . . . . . . . 219  
Byte  
Reception . . . . . . . . . . . . . . . . . . . . 108  
Transmission. . . . . . . . . . . . . . . . . . 107  
Circuits . . . . . . . . . . . . . . . . . . . . . . . 41  
Specifications. . . . . . . . . . . . . . . . . . . 42  
CSI/O  
%
Byte reception . . . . . . . . . . . . . . . . . 108  
Byte transmission. . . . . . . . . . . . . . . 107  
Cancelling transmission or reception 108  
CALL instruction . . . . . . . . . . . . . . . . . 185  
Cancel CSI/O transmission or reception . 108  
PS001500-ZMP0999  
Z80S188  
233  
+
24'.+/+0#4;  
%ꢁꢈ%  
'
CSI/O (Continued)  
EI instruction . . . . . . . . . . . . . . . . . . . . . 186  
Electrical characteristics  
Clock selection . . . . . . . . . . . . . . . . 106  
Interrupts . . . . . . . . . . . . . . . . . . . . 108  
Operation . . . . . . . . . . . . . . . . . . . . 106  
Timing diagram. . . . . . . . . . . . . . . . 223  
CTC, Timing diagram . . . . . . . . . . . . . . 226  
Absolute maximum ratings . . . . . . . . 200  
AC characteristics . . . . . . . . . . . . . . 203  
Capacitance . . . . . . . . . . . . . . . . . . . 214  
Characteristic curves. . . . . . . . . . . . . 227  
DC characteristics . . . . . . . . . . . . . . 201  
Standard test conditions . . . . . . . . . . 200  
Test load circuit . . . . . . . . . . . . . . . . 201  
Errata . . . . . . . . . . . . . . . . . . . . . . . . . . 227  
Exchange instructions. . . . . . . . . . . . . . . 178  
External status interrupts. . . . . . . . . . . . . . 94  
EXX instruction . . . . . . . . . . . . . . . . . . . 186  
&
DAA instruction . . . . . . . . . . . . . . . . . . 186  
Daisy chain signalling . . . . . . . . . . . . . . . 19  
DAR0 registers . . . . . . . . . . . . . . . . . . . . 60  
DC characteristics  
Extended temperature range . . . . . . . 202  
Normal temperature range . . . . . . . . 201  
DEC instruction. . . . . . . . . . . . . . . . . . . 186  
Description  
General. . . . . . . . . . . . . . . . . . . . . . . . 1  
Part number . . . . . . . . . . . . . . . . . . 230  
Pin . . . . . . . . . . . . . . . . . . . . . . . . . . 4  
Destination  
And source registers (DAR, SAR) . . . 57  
Mode DMA0. . . . . . . . . . . . . . . . . . . 61  
DI instruction . . . . . . . . . . . . . . . . . . . . 186  
Diagram, pin . . . . . . . . . . . . . . . . . . . . . . . 4  
Disclaimer . . . . . . . . . . . . . . . . . . . . . . 232  
DJNZ instruction. . . . . . . . . . . . . . . . . . 186  
DMA  
Async operation . . . . . . . . . . . . . . . .101  
Basics. . . . . . . . . . . . . . . . . . . . . . . . 57  
Channel completion. . . . . . . . . . . . . . 62  
Channels. . . . . . . . . . . . . . . . . . . . . . 57  
Edge- vs. level-senstive requests. . . . . 58  
Edge-sense request timing . . . . . . . . . 59  
Edge-sensitive request . . . . . . . . . . . 101  
Handling interrupts . . . . . . . . . . . . . . 63  
Interrupts . . . . . . . . . . . . . . . . . . . . . 59  
Level-sense request timing. . . . . . . . . 58  
Memory-to-memory modes . . . . . . . . 59  
Reception . . . . . . . . . . . . . . . . . . . . . .93  
Request timing diagram . . . . . . . . . . .221  
Requests . . . . . . . . . . . . . . . . . . . . . . 58  
Setting up a transfer. . . . . . . . . . . . . . 60  
Termination timing diagram. . . . . . . 221  
Transmission. . . . . . . . . . . . . . . . . . . 93  
DSTAT register. . . . . . . . . . . . . . . . . . . . 57  
(
Features of the Z80S188 . . . . . . . . . . . . . . . 1  
Flag settings definitions . . . . . . . . . . . . . 181  
Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . 180  
)
*
General description. . . . . . . . . . . . . . . . . . . 1  
Halt 180  
And I/O Stop mode. . . . . . . . . . . . . . . 44  
Instruction . . . . . . . . . . . . . . . . . . . . 186  
Mode. . . . . . . . . . . . . . . . . . . . . . . . . 44  
Timing diagram . . . . . . . . . . . . . . . . 222  
+
I register . . . . . . . . . . . . . . . . . . . . . . . . . 16  
I/O  
Memory address registers (IAR, MAR) 57  
Chip select high 127  
Read timing diagram 218  
Stop mode 44  
Idle mode. . . . . . . . . . . . . . . . . . . . . . . . . 45  
IL register . . . . . . . . . . . . . . . . . . . . . . . . . s 16  
Illegal instruction traps . . . . . . . . . . . . . . . 13  
IM instruction . . . . . . . . . . . . . . . . . . . . 186  
IN A instruction . . . . . . . . . . . . . . . . . . . 186  
IN instruction. . . . . . . . . . . . . . . . . . . . . 186  
IN0 instruction . . . . . . . . . . . . . . . . . . . . 186  
INC instruction. . . . . . . . . . . . . . . . . . . . 186  
IND instruction . . . . . . . . . . . . . . . . . . . 187  
234  
Z80S188  
PS001500-ZMP0999  
24'.+/+0#4;  
+
Interrupt (Continued)  
+ꢁꢈ%  
Timing diagram . . . . . . . . . . . . . . . . 220  
Trap control register 17  
Interrupt-driven  
Reception . . . . . . . . . . . . . . . . . . . . . 92  
Transmission . . . . . . . . . . . . . . . . . . . 91  
IORQ and RD . . . . . . . . . . . . . . . . . . . . . 40  
ITC register . . . . . . . . . . . . . . . . . . . . . . . 17  
INDR instruction . . . . . . . . . . . . . . . . . . 187  
INI instruction. . . . . . . . . . . . . . . . . . . . 187  
INIR instruction . . . . . . . . . . . . . . . . . . 187  
Input/Output  
Central I/O waits . . . . . . . . . . . . . . . . 40  
Chip select . . . . . . . . . . . . . . . . . . . . 39  
I/O cycle timing diagram . . . . . . . . . . 41  
I/O instructions . . . . . . . . . . . . . . . . . 38  
IORQ and RD timing. . . . . . . . . . . . . 40  
Relocating the 80180 registers . . . . . . 38  
Space . . . . . . . . . . . . . . . . . . . . . . . . 37  
Input/output  
,
.
JP instruction . . . . . . . . . . . . . . . . . . . . . 187  
JR instruction. . . . . . . . . . . . . . . . . . . . . 187  
Instructions . . . . . . . . . . . . . . . . . . . 180  
Instruction  
LD instruction . . . . . . . . . . . . . . . . . . . . 187  
LDD instruction . . . . . . . . . . . . . . . . . . . 188  
LDI instruction. . . . . . . . . . . . . . . . . . . . 188  
LDIR instruction . . . . . . . . . . . . . . . . . . 189  
Load instructions . . . . . . . . . . . . . . . . . . 178  
Logic, negative. . . . . . . . . . . . . . . . . . . . 227  
Logical instructions . . . . . . . . . . . . . . . . 178  
Low power modes . . . . . . . . . . . . . . . . . . 43  
Classes . . . . . . . . . . . . . . . . . . . . . . 178  
Input/Output . . . . . . . . . . . . . . . . . . . 38  
Notation . . . . . . . . . . . . . . . . . . . . . 183  
RET . . . . . . . . . . . . . . . . . . . . . . . . . 26  
RET . . . . . . . . . . . . . . . . . . . . . . . . . . .I 26  
RETI Bit 6 (M1TE) . . . . . . . . . . . . . . 27  
RETI Bit 7 (M1E) . . . . . . . . . . . . . . . 26  
Set . . . . . . . . . . . . . . . . . . . . . . . . . 177  
Summary . . . . . . . . . . . . . . . . . . . . 184  
INT0. . . . . . . . . . . . . . . . . . . . . . . . . . . . 18  
Mode 0 timing diagram . . . . . . . . . . . 22  
Mode 1 timing diagram . . . . . . . . . . . 23  
Mode 2 timing diagram . . . . . . . . . . . 26  
modes. . . . . . . . . . . . . . . . . . . . . . . . 18  
Interrupt  
/
Mark state . . . . . . . . . . . . . . . . . . . . . . . . 97  
Maskable interrupt requests. . . . . . . . . . . . 16  
Maximum ratings . . . . . . . . . . . . . . . . . . 200  
Memcs0-1, size/enable values . . . . . . . . . . 35  
Memory (ROM and RAM)  
Addressing modes . . . . . . . . . . . . . . . 30  
Clocking . . . . . . . . . . . . . . . . . . . . . . 41  
DRAM refresh . . . . . . . . . . . . . . . . . . 36  
Acknowledge timing diagram. . . . . . 221  
ASCI . . . . . . . . . . . . . . . . . . . . . . . 103  
ASCI, PRT, DMA,CSI/O, and ZDI. . . 28  
CSI/O . . . . . . . . . . . . . . . . . . . . . . . 108  
CTC . . . . . . . . . . . . . . . . . . . . . . . . . 65  
DMA . . . . . . . . . . . . . . . . . . . . . . . . 59  
External/Status . . . . . . . . . . . . . . . . . 94  
Maskable requests . . . . . . . . . . . . . . . 16  
Non-maskable . . . . . . . . . . . . . . . 17, 62  
Offsets and priorities . . . . . . . . . . . . . 29  
PIO. . . . . . . . . . . . . . . . . . . . . . . . . . 49  
Priority . . . . . . . . . . . . . . . . . . . . . . 118  
PRT . . . . . . . . . . . . . . . . . . . . . . . . . 71  
External memory  
with exernal decoding. . . . . . . . . . 35  
External, using MEMSC0-1 . . . . . . . . 34  
Input/output space . . . . . . . . . . . . . . . 37  
Memory Management Unit (MMU). . . 31  
On-chip RAM . . . . . . . . . . . . . . . . . . 34  
On-chip ROM . . . . . . . . . . . . . . . . . . 34  
Structure . . . . . . . . . . . . . . . . . . . . . . 29  
Wait state generator . . . . . . . . . . . . . . 36  
Memory and I/O address registers  
(MAR, IAR . . . . . . . . . . . . . . . . . . . . . ) 57  
Relative priority of PIOs, SIO,  
Memory Management Unit (MMU). . . . . . 31  
Memory read timing diagram . . . . . . . . . 216  
Memory write timing diagram. . . . . . . . . 217  
Memory-to-memory modes. . . . . . . . . . . . 59  
and CTC . . . . . . . . . . . . . . . . . . . 20  
Resources in the Z80S188 . . . . . . . . . 16  
SIO. . . . . . . . . . . . . . . . . . . . . . . . . . 85  
PS001500-ZMP0999  
Z80S188  
235  
+
24'.+/+0#4;  
OTDR instruction. . . . . . . . . . . . . . . . . . 189  
OTIM instruction . . . . . . . . . . . . . . . . . . 189  
OTIMR instruction. . . . . . . . . . . . . . . . . 189  
OTIR instruction . . . . . . . . . . . . . . . . . . 190  
OUT instruction . . . . . . . . . . . . . . . . . . . 190  
OUT0 instruction . . . . . . . . . . . . . . . . . . 190  
OUTD instruction. . . . . . . . . . . . . . . . . . 190  
OUTI instruction . . . . . . . . . . . . . . . . . . 190  
Overview. . . . . . . . . . . . . . . . . . . . . . . . . . 1  
/ꢁꢈ%  
MLT instruction . . . . . . . . . . . . . . . . . . 189  
Mode  
0 output timing diagram. . . . . . . . . . . 47  
1 input timing diagram. . . . . . . . . . . . 48  
2 bidirectional timing diagram . . . . . . 48  
3 bit control timing . . . . . . . . . . . . . . 49  
Async clock . . . . . . . . . . . . . . . . . . . 96  
Async multiprocessor . . . . . . . . . . . 104  
Destination DMA0 . . . . . . . . . . . . . . 61  
Halt . . . . . . . . . . . . . . . . . . . . . . . . . 44  
Halt and I/O . . . . . . . . . . . . . . . . . . . 44  
I/O Stop . . . . . . . . . . . . . . . . . . . . . . 44  
Idle . . . . . . . . . . . . . . . . . . . . . . . . . 45  
Low power . . . . . . . . . . . . . . . . . . . . 43  
Memory-to-memory . . . . . . . . . . . . . 59  
Nine-bit . . . . . . . . . . . . . . . . . . . . . 104  
Normal . . . . . . . . . . . . . . . . . . . . . . . 44  
Operating DMA1. . . . . . . . . . . . . . . . 62  
Sleep . . . . . . . . . . . . . . . . . . . . . . . . 44  
Source, DMA0 . . . . . . . . . . . . . . . . . 61  
Standby . . . . . . . . . . . . . . . . . . . . . . 45  
Standby with quick recovery . . . . . . . 45  
System Stop . . . . . . . . . . . . . . . . . . . 44  
2
Part number description . . . . . . . . . . . . . 230  
Pin description . . . . . . . . . . . . . . . . . . . . . . 4  
PIO  
Addresses . . . . . . . . . . . . . . . . . . . . . 46  
DMA channels . . . . . . . . . . . . . . . . . . 57  
Interrupt control word. . . . . . . . . . . . . 46  
Interrupts . . . . . . . . . . . . . . . . . . . . . . 49  
Mode 0 (output) timing diagram . . . . 224  
Mode 1 (input) timing diagram . . . . . 224  
Mode 2 (bidirectional) timing diagram 225  
Mode 3 (bit control) timing diagram 225  
Mode control word . . . . . . . . . . . . . . . 46  
Operation modes . . . . . . . . . . . . . . . . 46  
Output control words . . . . . . . . . . . . . 46  
Registers . . . . . . . . . . . . . . . . . . . . . . 45  
Reset . . . . . . . . . . . . . . . . . . . . . . . . . 56  
Software sequences . . . . . . . . . . . . . . 50  
PIOS port 1 initialization . . . . . . . . . . . . 228  
Polled reception . . . . . . . . . . . . . . . . . . . . 90  
POP instruction . . . . . . . . . . . . . . . . . . . 190  
Power management . . . . . . . . . . . . . . . . . 43  
Precharacterization . . . . . . . . . . . . . . . . . 232  
Processor control instructions . . . . . . . . . 180  
Processor description  
0
1
NEG instruction . . . . . . . . . . . . . . . . . . 189  
Nine-bit mode . . . . . . . . . . . . . . . . . . . . 104  
Non-maskable interrupt . . . . . . . . . . . . . . 62  
Non-maskable interrupt (NMI) . . . . . . . . . 17  
NOP instruction. . . . . . . . . . . . . . . . . . . 189  
Normal low power mode . . . . . . . . . . . . . 44  
Op code map  
Control registers. . . . . . . . . . . . . . . . . 12  
Flags . . . . . . . . . . . . . . . . . . . . . . . . . 13  
I/O space . . . . . . . . . . . . . . . . . . . . . . 12  
Interrupt high address register (I). . . . . 13  
Memory Management Unit (MMU). . . 12  
Program Counter (PC) . . . . . . . . . . . . 13  
Program registers . . . . . . . . . . . . . . . . 12  
Rcounter register (R) . . . . . . . . . . . . . 13  
Stack Pointer (SP) . . . . . . . . . . . . . . . 13  
Processor flags . . . . . . . . . . . . . . . . . . . . 180  
Program control instuctions. . . . . . . . . . . 179  
Programming techniques. . . . . . . . . . . . . 102  
1st op code . . . . . . . . . . . . . . . . . . . 193  
2nd op code after OCBH . . . . . . . . . .194  
2nd op code after ODDH . . . . . . . . . .195  
2nd op code after OEDH . . . . . . . . . .196  
2nd op code after OFDH . . . . . . . . . .197  
4th byte after ODDH, OCBH, and D. .198  
4th byte after OFDH, OCBH, and D . .199  
OR instruction. . . . . . . . . . . . . . . . . . . . 189  
Ordering information. . . . . . . . . . . . . . . 229  
Oscillator drive . . . . . . . . . . . . . . . . . . . . 42  
OTDM instruction . . . . . . . . . . . . . . . . .189  
OTDMR instruction. . . . . . . . . . . . . . . . 189  
236  
Z80S188  
PS001500-ZMP0999  
24'.+/+0#4;  
+
Register (Continued)  
2ꢁꢈ%106+07'&  
PRT  
Processor control . . . . . . . . . . . . . . . . 12  
R counter (R) . . . . . . . . . . . . . . . . . . . 13  
Refresh control. . . . . . . . . . . . . . . . . . 36  
Relocating the 80180 . . . . . . . . . . . . . 38  
SAR0, DAR0. . . . . . . . . . . . . . . . . . . 60  
SIO Read. . . . . . . . . . . . . . . . . . . . . . 81  
SIO Write . . . . . . . . . . . . . . . . . . . . . 73  
Source and destination (SAR, DAR) . . 57  
Summary . . . . . . . . . . . . . . . . . . . . . 109  
Time Constant . . . . . . . . . . . . . . . . . . 65  
Handling interrupts . . . . . . . . . . . . . . 71  
Operation . . . . . . . . . . . . . . . . . . . . . 71  
Reset . . . . . . . . . . . . . . . . . . . . . . . . 72  
Starting. . . . . . . . . . . . . . . . . . . . . . . 70  
Stopping . . . . . . . . . . . . . . . . . . . . . . 70  
Timing diagram. . . . . . . . . . . . . . . . 223  
PRT race condition. . . . . . . . . . . . . . . . . . . 228  
PUSH instruction. . . . . . . . . . . . . . . . . . 190  
3
4
Register, ASCI  
ASCI 0 Rx data . . . . . . . . . . . . . . . . 172  
ASCI0 control . . . . . . . . . . . . . . . . . 167  
ASCI0 control B. . . . . . . . . . . . . . . . 168  
ASCI0 extension control. . . . . . . . . . 173  
ASCI0 status . . . . . . . . . . . . . . . . . . 170  
ASCI0 time constant high . . . . . . . . . 175  
ASCI0 time constant low . . . . . . . . . 174  
ASCI0 time constatn high . . . . . . . . . 175  
ASCI0 Tx data . . . . . . . . . . . . . . . . . 171  
ASCI1 control A . . . . . . . . . . . . . . . 168  
ASCI1 control B. . . . . . . . . . . . . . . . 169  
ASCI1 extension control. . . . . . . . . . 174  
ASCI1 Rx data. . . . . . . . . . . . . . . . . 172  
ASCI1 status . . . . . . . . . . . . . . . . . . 171  
ASCI1 time constant low . . . . . . . . . 175  
ASCI1 Tx data . . . . . . . . . . . . . . . . . 172  
Register, basic device  
Clock multiplier . . . . . . . . . . . . . . . . 112  
CPU control. . . . . . . . . . . . . . . . . . . 113  
Free-running counte . . . . . . . . . . . . . 111  
I/O control . . . . . . . . . . . . . . . . . . . . 115  
On-chip memory control. . . . . . . . . . 115  
Operating mode control . . . . . . . . . . 114  
Refresh control . . . . . . . . . . . . . . . . 114  
Register, chip select and wait  
Quick recovery (standby) mode . . . . . . . . 45  
RAM Protect option. . . . . . . . . . . . . . . . . 15  
Receiver, Async 102  
Reception  
Async . . . . . . . . . . . . . . . . . . . . . . . . 97  
DMA . . . . . . . . . . . . . . . . . . . . . . . . 93  
Interrupt-driven . . . . . . . . . . . . . . . . . 92  
Refresh . . . . . . . . . . . . . . . . . . . . . . . . . . 37  
Control register . . . . . . . . . . . . . . . . . 36  
DRAM . . . . . . . . . . . . . . . . . . . . . . . 36  
Timing diagram (2-clock cycle . . . . . 221  
Register . . . . . . . . . . . . . . . . . . . . . . . . 111  
Addresses . . . . . . . . . . . . . . . . . . . . 110  
Bank Area (BAR) . . . . . . . . . . . . . . . 32  
Bank Base (BBR) . . . . . . . . . . . . . . . 32  
Bank Base High and Low . . . . . . . . . 32  
Channel Control . . . . . . . . . . . . . . . . 64  
Clock Multiplier (CMR). . . . . . . . . . . 41  
Common Area (CAR. . . . . . . . . . . . . .) 32  
Common Base (CBR) . . . . . . . . . . . . 32  
Common base area (CBAR) . . . . . . . . 32  
Common Base High and Low . . . . . . 32  
DSTAT. . . . . . . . . . . . . . . . . . . . . . . 57  
Chip select and wait . . . . . . . . . . . . . 127  
I/O chip select low . . . . . . . . . . . . . . 127  
Memory chip select 0 high . . . . . . . . 125  
Memory chip select 0 low . . . . . . . . . 123  
Memory chip select 1 high . . . . . . . . 126  
Memory chip select 1 low . . . . . . . . . 125  
Register, CSI/O  
I
. . . . . . . . . . . . . . . . . . . . . . . . . . 16  
IL . . . . . . . . . . . . . . . . . . . . . . . . . . 16  
Input/Output Chip Select High  
and Low. . . . . . . . . . . . . . . . . . . . . 39  
Interrupt High address (I . . . . . . . . . . .) 13  
Interrupt Vector. . . . . . . . . . . . . . . . . 65  
Interrupt/trap control . . . . . . . . . . . . . 17  
ITC. . . . . . . . . . . . . . . . . . . . . . . . . . 17  
Memory and I/O address (MAR, IAR) 57  
On-chip memory control . . . . . . . . . . 34  
PIO. . . . . . . . . . . . . . . . . . . . . . . . . . 45  
CSI/O control. . . . . . . . . . . . . . . . . . 176  
CSI/O data. . . . . . . . . . . . . . . . . . . . 177  
PS001500-ZMP0999  
Z80S188  
237  
+
24'.+/+0#4;  
Register, PRT  
R (Continued)  
Register, CTC  
PRT0 reload high . . . . . . . . . . . . . . . 148  
PRT0 reload low . . . . . . . . . . . . . . . 147  
PRT0 timer data low. . . . . . . . . . . . . 147  
PRT1 reload high . . . . . . . . . . . . . . . 151  
PRT1 reload low . . . . . . . . . . . . . . . 151  
PRT1 timer data high . . . . . . . . . . . . 150  
PTRT0 timer data high . . . . . . . . . . . 147  
Timer control . . . . . . . . . . . . . . . . . . 148  
Timer prescale . . . . . . . . . . . . . . . . . 150  
CTC0 . . . . . . . . . . . . . . . . . . . . . . . 144  
CTC2 . . . . . . . . . . . . . . . . . . . . . . . 146  
CTC3 . . . . . . . . . . . . . . . . . . . . . . . 146  
Register, DMA  
DMA mode. . . . . . . . . . . . . . . . . . . 141  
DMA status. . . . . . . . . . . . . . . . . . . 140  
DMA/wait control . . . . . . . . . . . . . . 142  
DMA0 byte count high . . . . . . . . . . 135  
DMA0 byte count low . . . . . . . . . . . 135  
DMA0 destination address B . . . . . . 134  
DMA0 destination address high . . . . 134  
DMA0 destination address low. . . . . 133  
DMA0 source address B . . . . . . . . . 133  
DMA0 source address high . . . . . . . 132  
DMA0 source address low . . . . . . . . 132  
DMA1 byte count high . . . . . . . . . . 139  
DMA1 byte count low . . . . . . . . . . . 139  
DMA1 I/O address B . . . . . . . . . . . . 137  
DMA1 I/O address high. . . . . . . . . . 137  
DMA1 I/O address low . . . . . . . . . . 136  
DMA1 memoory address B . . . . . . . 136  
DMA1 memory address high . . . . . . 136  
DMA1 memory address low. . . . . . . 135  
Register, interrupt . . . . . . . . . . . . . . . . . 118  
Interrupt vector low . . . . . . . . . . . . . 116  
Trap control . . . . . . . . . . . . . . . . . . 117  
Register, MMU  
Register, SIO  
RR0. . . . . . . . . . . . . . . . . . . . . . . . . 160  
RR1. . . . . . . . . . . . . . . . . . . . . . . . . 163  
SIO A control. . . . . . . . . . . . . . . . . . 152  
SIO A data. . . . . . . . . . . . . . . . . . . . 152  
SIO B control. . . . . . . . . . . . . . . . . . 165  
SIO B data . . . . . . . . . . . . . . . . . . . . 165  
SIO B rr2. . . . . . . . . . . . . . . . . . . . . 166  
SIO B wr2 . . . . . . . . . . . . . . . . . . . . 165  
WR0 . . . . . . . . . . . . . . . . . . . . . . . . 154  
WR1 . . . . . . . . . . . . . . . . . . . . . . . . 155  
WR3 . . . . . . . . . . . . . . . . . . . . . . . . 156  
WR4 . . . . . . . . . . . . . . . . . . . . . . . . 157  
WR5 . . . . . . . . . . . . . . . . . . . . . . . . 158  
WR6 . . . . . . . . . . . . . . . . . . . . . . . . 159  
WR7 . . . . . . . . . . . . . . . . . . . . . . . . 160  
Register, WDT  
Master . . . . . . . . . . . . . . . . . . . . . . . 143  
Watch-Dog Timer command . . . . . . . 143  
Requests  
Bank area . . . . . . . . . . . . . . . . . . . . 121  
Bank base . . . . . . . . . . . . . . . . . . . . 119  
Bank base high, extended mode . . . . 123  
Bank base low, extended mode. . . . . 122  
Common area, extended mode . . . . . 122  
Common base . . . . . . . . . . . . . . . . . 118  
Common base high . . . . . . . . . . . . . 121  
Common base low . . . . . . . . . . . . . .120  
Common/bank area . . . . . . . . . . . . . 120  
Register, PIO  
DMA. . . . . . . . . . . . . . . . . . . . . . . . . 58  
Edge vs. level sensitive . . . . . . . . . . . . 58  
RES instruction . . . . . . . . . . . . . . . . . . . 190  
Reset  
Conditions . . . . . . . . . . . . . . . . . . . . . 43  
Watch-Dog timer . . . . . . . . . . . . . . . . 43  
None from OPMOD1 . . . . . . . . . . . . 227  
Output control register . . . . . . . . . . . 227  
RET instruction  
INT0 mode 2 timing . . . . . . . . . . . . . . 26  
Instruction summary. . . . . . . . . . . . . 190  
RETI instruction  
Bit 6 (M1TE) . . . . . . . . . . . . . . . . . . . 27  
Bit 7 (M1E) . . . . . . . . . . . . . . . . . . . . 26  
Timing with M1E=0 . . . . . . . . . . . . . . 27  
RETN instruction . . . . . . . . . . . . . . . . . . 190  
RL instruction . . . . . . . . . . . . . . . . . . . . 191  
Port A control . . . . . . . . . . . . . . . . . 128  
Port A data . . . . . . . . . . . . . . . . . . . 128  
Port B control . . . . . . . . . . . . . . . . . 130  
Port B data . . . . . . . . . . . . . . . . . . . 129  
Port C control . . . . . . . . . . . . . . . . . 131  
Port C data . . . . . . . . . . . . . . . . . . . 131  
Port D control . . . . . . . . . . . . . . . . . 131  
Port D data . . . . . . . . . . . . . . . . . . . 131  
238  
Z80S188  
PS001500-ZMP0999  
24'.+/+0#4;  
+
R (Continued)  
6
RLA instruction. . . . . . . . . . . . . . . . . . . 191  
RLC instruction. . . . . . . . . . . . . . . . . . . 191  
RLCA instruction . . . . . . . . . . . . . . . . . 191  
RLD instruction. . . . . . . . . . . . . . . . . . . 191  
ROM Protect option. . . . . . . . . . . . . . . . . 15  
ROMCS device . . . . . . . . . . . . . . . . . . . . 34  
ROMless option . . . . . . . . . . . . . . . . . . . 15  
Rotate and shift instructions . . . . . . . . . . 179  
RR instruction . . . . . . . . . . . . . . . . . . . . 191  
RRA instruction . . . . . . . . . . . . . . . . . . 191  
RRC instruction. . . . . . . . . . . . . . . . . . . 191  
RRCA instruction . . . . . . . . . . . . . . . . . 191  
RRD instruction . . . . . . . . . . . . . . . . . . 191  
RST instruction . . . . . . . . . . . . . . . . . . . 191  
Test load circuit . . . . . . . . . . . . . . . . . . . 201  
Timing diagrams  
ASCI. . . . . . . . . . . . . . . . . . . . . . . . 223  
Basic . . . . . . . . . . . . . . . . . . . . . . . 215  
Bus exchange. . . . . . . . . . . . . . . . . . 219  
Control timing diagram. . . . . . . . . . . . 37  
CSI/O . . . . . . . . . . . . . . . . . . . . . . . 223  
CTC . . . . . . . . . . . . . . . . . . . . . . . . 226  
DMA request . . . . . . . . . . . . . . . . . . 221  
CSI/O . . . . . . . . . . . . . . . . . . . . . . . 223  
CTC . . . . . . . . . . . . . . . . . . . . . . . . 226  
DMA Request . . . . . . . . . . . . . . . . . 221  
DMA termination. . . . . . . . . . . . . . . 221  
DMA Transmission . . . . . . . . . . . . . . 93  
Edge-sense request . . . . . . . . . . . . . . . 59  
Halt . . . . . . . . . . . . . . . . . . . . . . . . . 222  
I/O cycle . . . . . . . . . . . . . . . . . . . . . . 41  
I/O read timing. . . . . . . . . . . . . . . . . 218  
I/O write timing. . . . . . . . . . . . . . . . . . 219  
INT0 mode 0 . . . . . . . . . . . . . . . . . . . 22  
INT0 mode 1 . . . . . . . . . . . . . . . . . . . 23  
INT0 mode 2 . . . . . . . . . . . . . . . . . . . 26  
Interrupt. . . . . . . . . . . . . . . . . . . . . . 220  
Interrupt acknowledge timing . . . . . . 221  
Level-sense request . . . . . . . . . . . . . . 58  
Memory read timing . . . . . . . . . . . . . 216  
Memory write timing . . . . . . . . . . . . 217  
Mode 0 outpu . . . . . . . . . . . . . . . . . . . t 47  
Mode 1 input . . . . . . . . . . . . . . . . . . . 48  
Mode 2 bidirectional. . . . . . . . . . . . . . 48  
Mode 3 bit contol . . . . . . . . . . . . . . . . 49  
PIO mode 0 (output). . . . . . . . . . . . . 224  
PIO mode 1 (input). . . . . . . . . . . . . . 224  
PIO mode 2 (bidirectional) . . . . . . . . 225  
PIO mode 3 (bit control) . . . . . . . . . . 225  
PRT. . . . . . . . . . . . . . . . . . . . . . . . . 223  
Refresh cycle . . . . . . . . . . . . . . . . . . . 37  
Refresh timing (2-clock cycle) . . . . . 221  
RETI instruction with M1E=0. . . . . . . 27  
SIO . . . . . . . . . . . . . . . . . . . . . . . . . 226  
Sleep . . . . . . . . . . . . . . . . . . . . . . . . 222  
Watch-Dog timer . . . . . . . . . . . . . . . 223  
Transmission  
5
SAR0 registers . . . . . . . . . . . . . . . . . . . . 60  
SBC instruction. . . . . . . . . . . . . . . . . . . 192  
SCF instruction . . . . . . . . . . . . . . . . . . . 192  
Security features . . . . . . . . . . . . . . . . . . . 15  
SET instruction . . . . . . . . . . . . . . . . . . . 192  
Setting up a DMA transfer . . . . . . . . . . . . 60  
Signalling, Daisy chain . . . . . . . . . . . . . . 19  
SIO  
Addresses . . . . . . . . . . . . . . . . . . . . . 72  
Interrupts . . . . . . . . . . . . . . . . . . . . . 85  
Read registers . . . . . . . . . . . . . . . . . . 81  
Registers per channel. . . . . . . . . . . . . 73  
Timing diagram. . . . . . . . . . . . . . . . 226  
Write registers. . . . . . . . . . . . . . . . . . 73  
SLA instruction . . . . . . . . . . . . . . . . . . . 192  
Sleep  
Mode . . . . . . . . . . . . . . . . . . . . . . . . 44  
Timing diagram. . . . . . . . . . . . . . . . 222  
Source  
And destination registers (SAR, DAR) 57  
Mode, DMA0 . . . . . . . . . . . . . . . . . . 61  
SRA instruction. . . . . . . . . . . . . . . . . . . 192  
SRL instruction . . . . . . . . . . . . . . . . . . . 192  
Stack pointer (SP) . . . . . . . . . . . . . . . . . . 13  
Standard test conditions . . . . . . . . . . . . . 200  
Standby mode . . . . . . . . . . . . . . . . . . . . . 45  
Status, Async . . . . . . . . . . . . . . . . . . . . 100  
Stopping a PRT . . . . . . . . . . . . . . . . . . . . 70  
SUB instruction. . . . . . . . . . . . . . . . . . . 192  
Sync operation . . . . . . . . . . . . . . . . . . . . 87  
System Stop mode . . . . . . . . . . . . . . . . . 44  
Async . . . . . . . . . . . . . . . . . . . . . . . . 97  
DMA. . . . . . . . . . . . . . . . . . . . . . . . . 93  
Interrupt-driven . . . . . . . . . . . . . . . . . 91  
PS001500-ZMP0999  
Z80S188  
239  
+
24'.+/+0#4;  
6ꢁꢈ%  
Transmitter, Async . . . . . . . . . . . . . . . . 102  
Traps, illegal instruction. . . . . . . . . . . . . . 13  
Triggers, Schmitt. . . . . . . . . . . . . . . . . . 227  
TST instruction . . . . . . . . . . . . . . . . . . . 192  
TSTIO instruction . . . . . . . . . . . . . . . . . 192  
9
Wait state generator. . . . . . . . . . . . . . . . . 36  
Waits, Central I/O . . . . . . . . . . . . . . . . . . 40  
Watch-Dog  
Time. . . . . . . . . . . . . . . . . . . . . . . . . 63  
Timing diagram. . . . . . . . . . . . . . . . 223  
:
<
XOR instruction . . . . . . . . . . . . . . . . . . 192  
ZDI  
Connector on target board . . . . . . . . 229  
Enable . . . . . . . . . . . . . . . . . . . . . . . 16  
ZiLOG  
Debug Interface (ZDI) . . . . . . . . . . . 228  
Developer Studio (ZDS) . . . . . . . . . 228  
240  
Z80S188  
PS001500-ZMP0999  

相关型号:

Z8152ACS

Non-VGA Video Controller
ETC

Z8153ACS

Non-VGA Video Controller
ETC

Z8300-1PS

8-Bit Microprocessor
ETC

Z8300-3PS

Microprocessor
ETC

Z8340-1PS

I/O Controller
ETC

Z8340-3PS

Telecommunication IC
ETC

Z8400

CENTRAL PROCESSING UNIT
ZILOG

Z8400

Z80 CPU Central Process Unit
STMICROELECTR

Z8400-CM

8-Bit Microprocessor
ETC

Z8400-LM

8-Bit Microprocessor
ETC

Z840004

NMOS/CMOS Z80 CPU CENTRAL PROCESSING UNIT
ZILOG

Z840006

NMOS/CMOS Z80 CPU CENTRAL PROCESSING UNIT
ZILOG