123! 45 !#76 8 :9 ;=a@cbedgfihkj >l

28

Upload: others

Post on 19-May-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 123! 45 !#76 8 :9 ;=A@CBEDGFIHKJ >L

����� ����� ��� ������������������� ����� ����� ��!#"$ !#"%��&'� �(�)���*�,+-�/.0���� 12"3!�45������!#"76��8� ���:9

;=<?>A@CBEDGFIHKJ�>L<NMO J:PKQ�DSRLT�UVRXW#P-YKQZJ:[\FI]�^_J�@-]:J

`baXcedefhg�ijdk-l:monepjq3r:stmvu:wyx_z{p}|:q3p�~�m�����r���p�neme����p����A��m�����wy��me�,x�l��}x�x�l�m�w��L~:m��Zmes�pjr:q3me��xA��mor��}����s�s�mes�m�~���z�x�l:m�~:me�Zm�stp�r�q3me��x

p}|�����w�q���st�hx�p���x�p��j�:w�~�mb~:me��w��j�E~�menew���w�pj�:�e��������~�~�w�x�w�p��*x�p�| ��n�wts�wyx��}x�w��:�5x�l:mS~:me�Zm�stp�r�q3me��x(p}|¡x�l�mSr:��p�nem�����p���¢�£��w�q��:s��hx�p��3ne��� ��s���p\|¤��new�s�wyx��}x�m�x�l�mV~:me�jmes�pjr�q3m���x�p�|{nepjq3r:w�stmv��x�men�l���wt����m���x�p5m�u�r�s�pjwyx�x�l:mVw���n���me����m�~E��r�mem�~�}��~V|¥����nvx�wtp����}stwyx_z�p�|ox�l�m(�:m�¦§r���p�neme����p}����¨Xw����}stsyz�¢���w��:nem����:neneme���?|¥��s©r���p�neme����p������}��m�����nenem�m�~:m�~���zª��m�¦Km����}��~��mvx�x�m��Gr:��p�nem�����p����e¢,�}�Vme�?x��}��s�w���l�m�~V��w�q���st�}x�p}��ne������m�w�������s����}��s�m�w�����wt~�wt�:��x�l�m�~�me�Zmes�p�r�q3me��x¡p}|Xx�l�m����:neneme����p}�r���p�neme����p}���{«�ph¦Kme�Zm���¢�x�l�m��j~��j�}��x��}�jme��x�l��hx��3��w�q��:s��hx�p���r:��ph��wt~:me��x�pS�b~�me�Zmes�p�r�w����b�}��n�l�wyx�menvx��:��m���m�����wy��m(x�l��}xx�l:m���w�q��:s��hx�p�����m�m��}�?zªx�p�m�u�x�me��~ª����~bq3p�~:wy|¥z���_�0x�l:w��3r���r�mv��¢-¦-m�mvu:r:s�pjwyxSpj��¬?menvxbx�m�nvl:��pjs�p���z0x�p=r:��m���me��x3x�l�m�~�me��w��j�/�}��~Ew�q3r�s�meq3me��x��}x�w�p�� p}|�­�®h¯�°Z±Z²:¢

�}�*m�u�mene��x�w�pj�:³_~���wt�jme�=��w�q��:st�}x�p��(|¥p���x�l�mS´jµhu:´j¶�r:��p�n�me����p���| ��q3w�syz��S·*m3��me��w�����z\~�me��n���w���w�����x�l:m3~:m���wt����p�|��~�pjqS�}wt��q3p�~:mes�|¥p���r:��p�nem�����p��-��w�q���st�}x�p}���e�X·*m¡~�meq3pj�:�?x����}x�mKx�l:m¡m�u�x�me����w��:wts�wyx�z�p}|,pj�:��~�me��w��j�3��z(m�u�x�me��~:w�����w�xox�pw��:nes���~:m�¸����?x¡x�l�m{����x�mes,´jµ�´j´�r���p�neme����p��{����~bx�l:me�bx�l:m�´jµ�´j¶�r���p�neme����p�����·*m�|¤�:��x�l:m���~:m�q3pj���?x����hx�m�m�u�x�me�:��wt�:w�stwyx_z��z{wt�:nep���r�p}���}x�w�����~:m��������jw����¡|¤��new�s�wyx�wtm���w���x�pGpj���X��w�q��:s��hx�p��Lq3p�~:mes �©kAp�m��j�}st���}x�mox�l�m�r�m���|¤p}��qS���:nemIp}|�p��:�©­�®h¯�°�±j²��w�q���st�}x�p}��¢�¦-m(nep�q3r��h��m�mvu:m�ne�:x�w�pj�ªx�wtq3m��G¦Gwyx�l£�}��m�u�wt�?x�w��:�3��wtq���st�}x�p}��¢�x�l�m�¹�w�q3r�s�mh¹�ne��st�}��º�»¤¼�½ ¾e¿�º�ÀA��wtq���st�}x�p}���Á ����m�u�r�m���w�q3me��x���w���~:w�n��}x�m¡x�l��}x-­�®h¯�°�±j²�w��In�pjq3r�m�x�wyx�w��Zm¡¦Gwyx�l�x�l�mG��w�q�³N|¤���?xI��w�q���st�hx�p����©�_�3q3pj�?x�n�����m��e¢�x�l:m¡��w�q�³|¤���?xo��w�q��:st�}x�p��L¦¡���o�}��pj��xXx�l:��memox�w�q3me�L|¤���?x�m��©x�l�����­�®h¯�°�±j²:�©«{p�¦Kme�Zm���¢}x�l�m�m�����mKp�|�q3p�~�wy¸�n��hx�wtp��A¢�m�u�x�me����w�p����}��~qS�}w���x�m������:nem�r���p}��wt~:me~ª��zbpj�:��~�me��w��j��p}Â,��m�x��¡x�l�m�r�m���|¥p���qS���:nem��Z�}w�����r:��ph��w�~�m�~ª��zSx�l�m�x����j~:wyx�w�pj����sL��r�r���pZ�}nvlx�p���w�q���st�hx�p���nepj�:�?x�����n�x�w�p��A�

Ã�Ä�Å�Æ�Ç�f�ÈLcjÉ�ʧÄ�d�ËAÇAÈAÇ�Ì¥Ç�Í�Å�ÎoÇ�aAÏeÄ�ijdvÐ�Ç�f}Ñ¥Ä�Ò�d�Ä:È�ÎIÄ�Ó�Ä�iZÔLd�Ñ¥Ç�ÒAÐ�ÈLf}Ñ¥Õ�Ä�ÒÖc�Ñ ×£ÔXÌ¥g:d�Ñ¥Ç�Ò�ÎKØvÒ�d�Ä:Ì-Ù�Ú�ÓLÙ�Û

Ü�Ý�Þ�ß à�á â�ã�àvÞ�ߥä�å�æ{â�çeèZé�ã�à�Þ�ߤä�å�æGã©ê_ë�çeì_í¡ì�í�î�ïyð_ñ_í�ì�í�é�ñ_ì?çeéZí�ò(çeì_ó�ðoôeõ�ñ_öZíG÷ è}ñ_í�ø,ùXô�ì�ú�ô�ì?ç�ñ_ïyô�è�û

ü

Page 2: 123! 45 !#76 8 :9 ;=A@CBEDGFIHKJ >L

ý þoÿ������������� ��ªÿ

�������������������! �"$#��&%'���)()�+*-,.��*-�)���+/0/1��*0/�*0�+243� 5*0�+/6"-��7&"8"0���� 5*�(���9:�+����������,4"�;<�=��7&*>7&�5�5���5�+(?;!#�"-����()�+9:���5�:�����+,4"��:%'7

/- ��@3��57&"-��*A"-�@B:3� C()��()�+/- 5B:,�()�D�� C/1 5�:,�/+EGFH,I7:(�() J"0 ���,�"0�K%L7:�� ��5 �"07M"0 �,�BK"-���=()�+9:�+����������,4"8�:%N"-���=��*0�!���+/0/1��*+O�7P/- ��@3��57&"-��*

��7:,Q7:�5/-�?%L7:�� ��5 �"07M"0�P"0���?()��9����5�:�����+,�"=�&%8���:���� 5���+*R"0�+�>��,� 5243��D/R"0�I���!������ J"="-���� 5,���*0�+7�/1�D(/1�S���D(T7:,�(U%V3�,<�W"- 5�:,<7&�5 J"$#

�&%X"-���Y,��+Z[��*0�)���+/0/-�:*DE]\^ 5,�7:���5#:O�/1 5,�����/-3������+/0/$%V3�����*0�)���D/-/-�:*>/P7:*-��/13<�����+�+()�D(];!#_,��+Z8�+*�7:,�(];S��"-"-�+*?��*-�)���+/0/1��*0/+O

7&,T�+/1"07&;��� C/1���+(/- ��@3��C7M"-��*X�+7&,;S�@ 5,!9M7&�53�7&;��5�P 5,T7: 5() 5,�BI"-����()��9����5�:�����+,�"=�&%�"0����/-3��+���+/0/-�:*`��*0�)���D/-/-�:*DERa`�MZ���9���*DO

"-���K7:()9M7&,4">7&B:�D/�"-��7&"R7?/1 5�P3��57&"-�:*b��*-�M9! C()�+/8"-��7?(���9:�+������ 5,�B?7&*>�>�� J"0�+��"-3�*0��*-�D2�3� �*0�="-��7&"b"-���P/- 5�P3��C7M"0�:*b;S�c�+7:/-#?"0�

���!"0��,�(�7&,<(I���)() �%V#:E

�������?7Md$��*���;�/1"07:�����= 5,Y3</1 5,�B�/1 5�P3��C7M"0 ���,I"0��%L7:�� 5�5 J">7M"-�K(���9:�+����������,4"��&%^,���Ze7&*>�>�� J"0�+��"-3�*0�+/8 5/�"0��7M"b"0*07�() �"- 5�:,�7:�

/- ��@3��57&"- 5�:,_7&����*-�47:�>���D/c7&*0�?,��&"Pf����) 5;����I��,���3�B:�g"0�U�<�+*-�� �"@�+7�/1#Q���!"-�+,�/- ���,h��*P���)() �i<��7&"- 5�:,g�&%�"-���I3�,�(���*0��#! 5,�B

/- ��@3��57&"- 5�:,j���)()�+�kEml`��"-���:3�B��j����/1"?/1 5�P3��C7M"0�:*>/�7&*0�I��7:*07:����"-�+*- 5n��D(_"-�h��*0�M9! 5()�.f����! 5;� 5�� �"$#No p�Obq+r)O6s�sDtuO���7:*07:����v

"-�+*- 5n+7&"- 5�:,g7&�5�:,��� C/�,��&"P7�()�+243�7&"-�@"-���<�+*-�� �"c"-���?���)() �i<��7&"- 5�:,g7&,�(Q���!"0��,�/- ���,Q*0�+243� 5*0�+(U%V��*c*-�+3�/- �,�B�7&,h���) C/$"0 �,�B

/- ��@3��57&"-��*G"-�c%L7��� 5�� �"07&"-�b"0���R()�+9:���5�:�����+,4"A�&%N7�,���Zw7&*>�>�� �"-�D�W"-3�*-��E^���!3�/+O�*0�+/-�+7:*0�>���+*0/^ 5,�"0��*0�+/1"-�D(� �,?()�+9:���5�:�� �,�Bc,���Z

7&*>�>�� �"-�D�W"-3�*-�D/8�@3�/1"`;<�+B: 5,YZb �"-�Y"0���K(�7&3�,�"0 �,�B@">7:/-x��&%G����,�/$"0*-3<�W"- 5,�B?7�,���Ze/- ��@3��57&"-��*+E

FH,j"-�� C/?��7:�<�+*+O�Z8�����!������ J"?�:;�d$�+�W"?"0�+�>��,��:�5�:B:#g"0�g��*-�D/1�+,4"�"0���()�D/1 5B:,m7&,�(y 5�������+����,4"07&"- 5�:,y�&%Kz�{}|!~��!��OA7:,

���)�D��3)"0 ���,)v�(�*- 59:�+,/1 5�P3��C7M"0�:*X%V�:*X"-����r:�&��r:�?��*0�)���D/-/-�:*b%L7:�� ��5#:EP�X;)d$�D�W"="-�+�>��,��:�5�:B�#.�+,�7&;��5�+/=/1"-*>7& 5B:�4"1%V��*-Z�7&*>(����:,�v

/1"-*03��W"0 ���,h�:%�7U/- 5�P3��C7M"0�:*�%V�:*K7���*-�)���D/-/-�:*�;!#T�S��*0�� J"-"- 5,�B�D7:�>�g���:���S�:,��+,4"K�&%�"-������*-�)���D/-/-�:*="0�U;<�?*0����*0�+/-��,4"0�+(

() 5*-�D�W"0��#U 5,T"0���?/1 5�P3��57&"-�:*�;!#7&,Q�:;)d$�D�W"DE@������*0���C7M"- 5�:,</1�� 5��/X;<��"$Z8�+��,Q"-���D/1���:;�d$�+�W">/� �,T"-���?/-�&%�"$Z�7&*0�P*0��f��D�W"�"-���

�5�:B: C��7:��*0���C7M"- 5�:,</1�� 5��/R;<��"$Z8�+��,U��*0�)���+/0/-�:*R���:���<��,���,4">/�E`�h�P;S��B� �,U;!#U()�D/-��*- 5;� 5,�B?"-���@()�D/1 5B:,U�:%�7.()�:�?7: �,U���)()���

%V�:*���*0�)���D/-/-�:*>/R7:,�(U"0���?���:,</$"0*-3���"- 5�:,�:%8/- ��@3��57&"-��*0/R%V�:*���*0�)���+/0/-�:*>/�E��h�@"0����,g()�+����,�/1"-*>7M"-�P"-�������4"0��,�/- 5;� ��5 �"$#U�&%

"-�� 5/=���)()���^"-��*0�:3�B:�T7./1�+*- 5�+/R�&%6���4"0��,�/- 5�:,�/+ER�h�Pi<*0/1"X���4"0��,�("-����()����7: �,T���)()�+�'"0�I 5,����53�()��7I/- 5�P3��C7M"0�:*R�:%A"-���

FH,4"-�+�<r:��r:r���*0�)���D/-/-�:*DE��h�`"-����,����4"0��,�(�"0���X(��+/- �B�,�%V3�*1"0����*6"-�K 5,�����3�(��`"-���Rr:��r:����*0�)���+/0/-�:*DE�FH,?"-���bi�,�7:�<���4"0��,�/- 5�:,

"-��"0���K()�D/1 5B:,YZ8�c 5,����:*0�<��*07&"-��()��;�3�B:B: 5,�B�%L7:�� ��5 �"- 5�+/� 5,�"0�?�:3�*`/- 5�P3��C7M"0�:*b���)()���uEA�����c���+�>��7:,� C/1�?/�"-�<7M"`Z��c3�/1�="0�

��*0�M9! 5()�=���!"0��,�/- �;� ��5 J"$#Y7&*0�� �,�����*0 J">7&,�����7:,�(.B:��,���*0 5�� J"$#T�V"-�+�����57&"-�+/` �,�����A��E� 5,����P�:;)d$�D�W"`"0�+�>��,�������B:#I�+7&,U;S�K 5,������� 5��,4"�()3��c"0�I()#!,�7&�� C�c;� 5,�() 5,�B�O<Z8�P���)���5�: �"R�:;)d$�D�W"`"0�+�>��,��:�5�:B:#�%V3�*1"0����*

"-��7M"-"07& 5,�%L7:/1"-�+*6���!�D��3)"0 ���,� 5,��:3�*������g 5�������+���+,4"07M"0 ���,�E��'*>7:(� J"0 ���,�7&��7:����*0��7��>���+/G"0�K 5,���*0�+7�/1 5,�BK���!�D��3)"0 ���,�/1�S���D(

��7}9��b%V�)��3�/-�+(I�:,T�1qD�6��*-��v�(��+���)() 5,�BK 5,�/1"-*03��W"0 ���,�/6"-�@7:,� 5,�"0��*0���+() C7M"0�R*0����*0�+/-��,4"07&"- 5�:,o ��OSqDs!O�s&p�O�s��+t�O)7&,�(�us:�8��*0��/0/

s

Page 3: 123! 45 !#76 8 :9 ;=A@CBEDGFIHKJ >L

�����������C�M�0������� �������A�!�8�D )�G¡: )��¡��+¢�£T¤H�]��¥�¦��&����¦0�����>§��'¨D�:�>§]�5��©1�-¦0¥��W�0�����_���ª��¨+���:¦0«h�C©P¬�¨+���)¬)¨D¬_�:����«g�:�<��¨I�:��¬

¦0¨���¦0¨+©-¨��4�-¨D¬_­!«]�&�j�:­)®$¨D�W��¯b§���©-¨.©1�0�&�-¨�¬)��¦0¨+���-�5«_¦-¨�°�¨+���0©@�-§�¨.¨�±!¨D��¥)�0�����ª�:²R�-§<�M���:­)®$¨D�W�+£]³�§��5©���¦0�)��¨D©-©@�&²R��¦-¨�´

¬)¨D���)¬)�5��µ.�5��©1�-¦0¥��W�0������©=¦-¨D©1¥��J�>©X�5�T�5����¦-¨D�:©-¨+¬U�S¨�¦-²V�:¦0�?�&����¨:��©-������¨P�0§�¨�¬)¨+���!¬�¨�©1�-¨+�T��¨+¨+¬Q���&��­S¨�¦0¨��S¨+�&�-¨D¬T¬)¥�¦0�5��µ

¨�±)¨D��¥)�0������£

³^�_¨�¶M�&�5¥��M�0¨��-§�¨T�<¨+¦1²V��¦-�?�&�<��¨��&²c�:¥�¦I·�¸}¹!º�»!¼_©1�5�P¥��5�&�-�:¦D��¯8¨���:�����&¦0¨�¨�±)¨+��¥)�-�5�:�y�0����¨+©I¯b�J�0§��&�m¨�±)�C©$�0����µ

©-���@¥��5�&�-��¦+�^�-§�¨½<¾�¿RÀSÁ�Â�½ÄÃ>ÅMÁ5ÅMÆP©-���@¥��C�M�-��¦D� Ç}¢�£³�§�¨YÈ!�5�����5¨DÈ)�+�&�C�&¦P©-«)©$�0¨��É��������¥<¬)¨+©K²V�:¥�¦�©1�5�P¥��C�M�0�:¦>©c¦>�&��µ�����µY²V¦0�:�

�-§�¨U²L�:©1�-¨D©$�.�:��¬m�5¨+�:©1�I¬)¨��0�&�5�5¨+¬w©-���@¥��5�&�-��¦+�=ÊW¾�¿@ËÍÌ�ÅMÊWÎk���0�_�-§�¨T���4©$�Y���:�����5�C���M�0¨+¬w�:��¬m¬)¨��>�&�5��¨D¬w©1�5�P¥��C�M�0�:¦D�=Ê>¾�¿�Ë

ÏMÐ Î Ï Æ0Ñ:Â�ÆW£�ÒR����È!�5������¨}È)���:�5�:¦P©1�5�P¥��5�&�-�:¦>©K�:¦-¨����!¬�¨+¬g�5�jÓ=�J�}�D¢u£�Ô���¦P��¥�¦K¨�±)�S¨�¦0����¨+���>©���¯�¨��>§���©-¨��-§�¨�²L�:©1�-¨+©1�@�:��¬

�5¨+�:©1�c¬)¨��>�&�5��¨D¬hÈ!�5�����5¨DÈ)�+�&�C�&¦c©1�5�P¥��5�&�-�:¦DÕKÊW¾�¿�ËÍÌ�Å}ÊWÎu£.½S¾�¿@ËÍÌ�ÅMÊWÎ��5©=¯b¦0�J�-�-¨��g�5�Q�5¨+©0©X�-§��:�hÖ� : I���5��¨+©��:²����!¬�¨:�'¬)�!¨D©X���

�-�5��¨?�:�����:¥��4�0����µ<�N¨�±)¨+��¥)�-¨D©�¨+���>§T�5��©$�0¦-¥<�W�-�5�:�h©1¨+¦-�C�&�5�5«�&��¬h�:©0©1¥���¨D©=���Y�+�:�>§�¨4� Ç&¢u£�×Q¨?�>§��4©1¨.ÊW¾�¿@ËÍÌ�ÅMÊWÎ�­<¨D���&¥<©1¨����

¦0¨���¦0¨+©-¨��4�0©c�:�g¨�±���¨+�)�-�5�:���:���5«¨�Ø?����¨+�4�K­��:©-¨��5����¨�©1�5�P¥��C�M�0�:¦��0§��M�K�C©c�5��Ù�¨��5«�-�U��¦-�)¬)¥���¨?¨�±���¨+���5¨��4�K¨�±!¨D��¥)�0�����h�-�5��¨D©�£Ú ¥�¦�¨�±)�S¨�¦0����¨+���>©=����¬��5�+�M�-¨��0§��M�P·<¸}¹4º�»!¼I�5©c���:���<¨��-���-�5¶:¨�¯b���-§Q�-§�¨?©-����´u²L�:©1��©-���@¥��C�M�-��¦+£P¤H�Q����©1�K����©1¨D©��S�-§�¨�©-�5�@´

²L�:©1�X©-���@¥��C�M�-��¦`¯��:©`�:­<��¥)�`�-§�¦-¨+¨c�-�5��¨+©b²L��©$�0¨�¦b�0§��&�h·�¸}¹!º�»!¼�£8Û`�M¯�¨�¶:¨+¦+���-§�¨K¨D�:©-¨c�&²����)¬)�JÜS���M�0�������S¨�±!�-¨+��©1�5�:�U�:��¬

�?�&�5�4�-¨��<�&����¨K��¦0�M¶4�C¬)¨D¬�­4«���¥�¦X¬)¨D©1�5µ:�T�&ÝN©1¨��0©R�-§�¨@�<¨+¦1²V��¦-�?�&�<��¨Kµ4�&�5��©`��¦0�M¶!�5¬�¨+¬�­!«Y�-§�¨P�-¦>�:¬)���-�5�:���:�^�:����¦0���:�>§Y�0�

©-���@¥��5�&�-��¦����:��©1�-¦0¥����-�5�:��£

¤H�c�0§�¨6��¨�±!��©-¨+�W�0�������}¯8¨8��¦0�M¶4�C¬)¨A­<�:�>Ù!µ:¦0�:¥��<¬X�:­<��¥)�'�0§�¨�Þ� M±�Þ:�b�:¦0�>§��J�0¨+�W�0¥�¦0¨A�&��¬K�:­<��¥)��©-�5�P¥��C�M�0�������-¨+�>§����5ß4¥�¨D©�£

¤H�QÈ!¨D�W�0�����TÖ�¯�¨@¬)¨D©-��¦-�5­S¨P�:¥�¦R���)¬)¨��G�&��¬���gÈ!¨+���-�5�:�Ç�¯�¨@¬�¨+©0��¦0��­S¨P¨�±4�0¨���©-�5�:��©`�-���0§�¨����)¬)¨+�k£X¤H�hÈ!¨D�W�0�����Q��¯�¨

��¦0¨+©-¨��4�?�-§�¨¦-¨D©1¥��J�>©��&²��:¥�¦�¨�±)�S¨�¦0����¨��4�>©��b�5�àÈ!¨+���-�5�:�w�_¯�¨¬)¨+©0��¦0�5­<¨�:�-§�¨+¦�¦0¨��5¨�¶M�&�4�I©-���@¥��5�&�-��¦0©?�:��¬m¯8¨¬�¦0�}¯

���������5¥�©-������©����È!¨D�W�0������)£

á â[ãcäAå�æPç�è�éUê�ë

¤H�w�0§��5©Y©-¨+�W�0�������`¯�¨��¦0�M¶!�5¬)¨T­��:�>Ù!µ:¦0�:¥���¬j�:­<��¥)�YÞ� M±�Þ:�g��¦-�)��¨D©-©-�:¦>©?�&�<¬��&����¦-�4�:�>§�¨D©��-�ª©-�5�P¥��C�M�0����µj���:����¥��-¨�¦

�&¦>�>§����-¨D�W�-¥�¦-¨D©�£�×Q¨���¦0¨+©-¨��4���-§�¨?¤H���0¨��AÞ� M±�Þ:��²L�&�����5«T�:²8��¦0�)��¨D©-©-�:¦>©R¯b���-§_��©-§��:¦-��¬�¨+©0��¦0���)�0�����Q�:²8�0§�¨��5¦c¨�¶��:�5¥)�-�5�:�'�

§��5µ:§��5�5µ:§4�-�5��µ=�-§�¨��5�����M¶M�M�0������©�����¨D�:�>§P��¨�¯ª��¦-�)��¨D©-©-�:¦D£�×h¨��-§�¨+��¨�±��&���5��¨b©1�5�P¥��C�M�0�����K�0¨+�>§����Cß4¥�¨+©��0§��M�A§<�}¶:¨���¦-�M¶�¨��

©-¥�����¨+©0©$²V¥��IJV��¦`©1�5�P¥��5�&�-�5��µ���¦-�)��¨+©0©1��¦�¨�±)¨+��¥��-�5�:��£

Ö

Page 4: 123! 45 !#76 8 :9 ;=A@CBEDGFIHKJ >L

ì�í1î ïhð`ñóò�ôGõRòAöø÷Tù�ú�ûÄñ^ü4ü4úAùmýbþ�ÿ������

������ ������������������������ � !�"��#�$��%&�'�)(*�)+-,'�."/���*0���� "/��1�1��*����2*�3�/45���#��� ���32*"#"/!&,6!&�728���)�928�:":%&������";��!����)<9=>%&�'�*(*�)+?28�:":%&��@

����";��!&���A0�����B5�.� �#�C28�D2*1�1��*����,-�����E�8F>#+'G&���H���#I*�.1������:1�� ,J2*��KMLN�#���A1�0���"/�.28�O0&!���0P�)1��*��2*���Q��LN�#����K?G&���#���7�������7�/@R����� �72*�

0&%5K 1��."�2*�S2*�&� ���#1�1��#1N���J2*"#"/��1�1T,-��,-�*��K*<U����1�����!�"/���7�*��1T0&����B5�7� ���J��%&���#�V�*0P���:28���M��K50���1�W>XJY/XJZ�[;\��O[�Y^]*_.`;aRY�[;��2*���b_cX'd

XJY�e8_gf�a�Y/<h����1�����!�";���7�*��1h"/�)!&�.�3"/�),iG&�7�&�A��%&�#1��j�*0P���:28���C��K�0P�#1h���k28�5KM,J28���&��������4&"/�7!�� �7�&IJ��LT�J,'�#,-�*��KQ�)0��#��2*���&1#<

=>%&�j�)(*�*+628�:":%&�����#"/��!&���V����"/�7!�� �#�$2'LE�.� �j2*1�1��)����,-�����T�*Fl,-��,-�)��KM2)�&� ���#1�1��7�&I',-�5�&�#1�mn�o �O#�&��p8�rqR<

=>%&�6���)�����U28�:":%&�����#"/��!&���AGP�#"�2*,-�i�#1���2*G&�7�71�%&�#�3���D��%&�i0P���:1��*��2*�l"/�),-0&! ���#�92*���#��2J�7�#�)�*(&��LE%&���b��sTtu":%&�5�)1��j2

B*�#��1��7�*�i�*F���%&�H�*()�*+v2*1���%��T0���� "/��1�1��*��Fw�)�x�n�:1xyTz9{ 1�<U=>%&�E�*()�*+9!�1���1x2'#+vG&���|�/45���#����2*�5G&!�1U���V"��*�&���#";�U��%&�E0&���5"��#1�1��)�

���V,J28�7�-,-��,-�*��K*<�}H��LT��B*�#�#�����A~*���#0i��%&�E"/��1��x�8FSyTzT1��7��LA�8��s>t�":%��)1��N���V!�1��T��%&�H�*()�*�&��2vB*�#��1��7�*�i�*F���%&�E0&���5"��#1�1��)�

LE����%D28�$�-G&���HG&!�1Am�#orqR<

� !&G�1����)!������H0&���5"��#1�1��)��1T� �#B*���7�*0P�#�CG5KM���������O��4��������&�#�C��%��VFw!&��";�����)��28�7����KM�8F���%��i�*()�*���8�*+�<��h����1�!�"#"/�#1�1���B)�v0����*@

"/��1�1��*�:1NLN�#���9G�2*":~5L>28�:�J"/�*,-0�28���7G&�7�vLE����%C0&����B5�7�*!�1N0&���5"��#1�1��)��1����Q��%��hFg2*,'�7�7KP� %���LN�#B*�������#2*":%C1�!�"�"/��1�1��*�N0&���5"��#1�1��)�

!�1��#�C�&�#L�����":%&�&�)���)I*K-���J�7��"�����2*1��9���J"����#��"/KC28���Q0&��� "/�#1�1��*�>1�0P�����Q��B)���>0&����B5�7�*!�1>0&��� "/��1�1��*�:1�<

=>%&�-�*(�p8�*+-L>2*1h��%��-1�!�"#"/�#1�1��*�H���M��%&�-�*(*�)���8�*+&<v=>%&�',-28���*�V"/�)�)�����7G&! �����)�b�*F|��%&�-�*(�p8�)+JLT2)1H���Q�7��"�����2*1��j��%��

0&%5K 1��."�2*��2)�&� ���#1�1l1��7���N���Ap��hG��n�:1UG�Kj1���I),-�������7�&IH��%&�>,-��,-�*��K*<�=>%&�T�)(*o)�*+H2)�&� �#�i,-��,-�*��KV0�28I)���&I9LE%&�7���>�7��"/���#2)1��7�&I

2*��� ����1�1��#1N���-o�p6G&�n�:1�<x���D2)�&� �����7�*�O����2���2'����I)�71����#��1TLT�����9�7��"/���#2)1����?���Jo)p6G&����1#<

�H�?1�!&G�1���2*�����.28�l":%�28�&I)�#1T���M,'�#,-�*��KQ2*��� ����1�1��7�&I?28���$����I)�71����#��1>%�2rB*�AGP�����D,J2)� �j�7�D0&��� "��#1�1��)��1T��%�2��HFw�)���7��LT�#�

��%��ho*�)+&<U�H2���%&�����)1�!&G�1��#��!&�#�)���)(�4&�*+v0&��� "/��1�1��*�:1U%�2rB*�E"��*��"��������:2����#�'�*�-�����E��!&�����&Ij��%&�H,-�."/���8@�28�:":%&�����#"/��!&���>�8F���%��

0&��� "/�#1�1��*�T���?�7��"�����2*1��v0P����Fw�*��,J28��"��*<�=>%��i�*(*�)�*+6L>2*1>��%&�A���:1��H0���0P���7�����#�$0&��� "/�#1�1��*�>���$��%&�AFg2*,'�7�7K*<>=>%&�jyU�������7!&,

0&��� "/�#1�1��*�A1�!�G�1�����!&�������7Kb!&���7���7��������LN�3"��*��"�!&���������A�)�)+C0&��0P���7�7�&�#1j���32*":%����#B*�-��LT�8@RLT2rK31�!&0P���:1�"#28�.28�V0��#��Fw�)��,J2*��"/�)<

=>%&�vyU�������7!&,�y|�����*��%&�V1�!�"�"/��1�1��*�|���j��%&�VyU�������7!&,$�)��4 0&���)�n�:1�G���2*��":%J0&���#� �.";�����)�O����2���2j����L�28��2*��K 1��71#�528���?1�0P�#"/!��728@

���7B*�T�/4 ��"/! �����)�Q�g"��*�7����";����B)���7K9������,-�#�3���hK5��2*,-�7"T�x4 �#"�! ���7�*���HG5KA���������c�O���9Fw!&����%&���U�7��"/���#2)1��N�/4 �#"�! ���7�*�60��#��Fw�)��,J2*��"/�)<

=>%&�v�*! ��@^�*Fc@^�)���&������4 �#"/!&���7�*�M�*FO����1�����!�"/���7�*��1TG5K-��%��vyU�#�)����!�,�y|���j����1�!��n�:1N�7�?��%&�����/@RL>2rK'1�!&0P���:1�"#28�.28��0P����Fw�*��,J28��"��

m ��qR<

=>%&�J�#B*�*�7! �����)�k�*FN��%&�M�*(84&�*+Q0&��� "��#1�1��)�9Fg2*,-���7Kb�7���7!�1����:2����#1V��%&�-Fg2*"/�j��%�28�i1��7,i!��728���*�:1vFw�*�V��%&�#1��M2*��":%&������";��!&����1

,i!�1��VG��'����4 ��G&�7�'���&�)!&I*%D���Q0P����,-�n�A��2*1�KC��45������1��7�*��28���b,'� � ����"#2����7�*��<j�H���/45���#��1��7G&�7�'1��7,i!&�.2����*�V� �#1���I)�b28�7�7��LH1

Fw�*�H"�� � �V���#!�1��A2*���C,'�7�&�7,-���#�#1E���P�)���ELE%&�#�$�&��B*�#���)0&�7�&I'2-1���,6!&�.2����)�>Fw�*�>��%&�A�&�/45�H0&��� "/��1�1��*�T���C��%&�j1��#���7�#1#<

Page 5: 123! 45 !#76 8 :9 ;=A@CBEDGFIHKJ >L

�>��� �¡ h 9¢&£|¤x¥�¦h§�¨ª© £¬«b¢&£E¥�§�¨5¨�£|¢®­>¯�°²±h³�¤l©&¯�£�´

µl¶�·)¸ ¹nº�¹�»)¼�·8½S¾�»*¿-À&Á º�Â�¶E·8¶:¾:Ã&¹�º�Â#¾/º�Á&¶�ÂVÄ�¹7¿iÁ&½.·�º�¹�»)¼�ÄT¿J·*¸ ÂvÁ�Ä�Âv»*ÅNÆ^Ç�È*É:Ê�Ë�Ì�Ç;ÍcÎ�Ê/ÏJÄ�¹�¿6Á&½.·�º�¹7»*¼�ÐUµl¶:·*¾/Â�ÑR¸&¶�¹7Ò*Â#¼MÄ�¹7¿iÁ�½7·8º�¹7»*¼

Ã�·)ÄAÓ�Â#Â�¼ÔÁ�Ä�Â#¸ÔÂ�ÕPÂ�¾;º�¹7Ò*Â#½�Öbº�»DÂ#Òr·*½�Á�·�º�ÂJ¾#·*¾:Ã&ÂJÀPÂ�¶�Åw»*¶�¿J·8¼�¾�Â$× Ø8Ù�Ú^ÐCÛ�º�¶:·*¾�Â'»*ÅNº�Ã&Â?¹7¼�Ä�º�¶�Á�¾;º�¹�»)¼�ÄAÂ/Ü Â�¾/Á º�Â#¸�Ó5Ö3º�Ã�Â

À&¶�» ¾/Â#Ä�Ä�»*¶V¹7ÄV¶�Â#¾�»*¶:¸ Â#¸k¹7¼Ô·QÝ�½7Â?·8¼�¸bº�Ã&Â�¼Ô½.·�º�Â�¶A¹7¼)º�Â�¶�À&¶�Â/º�Â�¸bÓ5Öbº�Ã&Â?Ä�¹�¿6Á&½.·�º�»)¶#ÐMÞhÅcº�Â�¼�º�¶:·*¾�Â6Ý�½�Â�Äj·8¶�Â-½7·*¶�ß)Â'·*¼�¸

¸ ¹�à?¾/Á&½�ºEº�»J»)Ó º�·*¹�¼Ô× Ø�Ú^Ð

áxâ5Ê:É/ã Æ^Ígä�Ï�Ë�Ì�Ç;ÍcÎ�Ê/Ï3Ä�¹7¿iÁ&½.·�º�¹�»)¼kÀ&¶�»�Ò5¹7¸&Â#ÄV·8¼Ô·8½�º�Â#¶�¼�·8º�¹7Ò*Â'º�»Cº�¶�·)¾/Â/Ñ�¸ ¶�¹�Ò)Â�¼�Ä�¹7¿iÁ&½.·�º�¹�»)¼OÐJå�¼�Ä�º�Â�·*¸k»8Å>¹�¼�º�Â#¶�À�¶�Â�º�¹7¼&ß

º�Ã�ÂD¹�¼�Ä�º�¶�Á�¾/º�¹7»*¼�Ä-¹7¼�·bº�¶�·)¾/ÂCÝ�½7Â*æNº�Ã&Â3Ä�¹7¿iÁ&½.·�º�»*¶?·*¾/º�Á�·*½�½7Ö¹7¼�º�Â�¶�À&¶�Â/º:Ä-¹�¼�Ä�º�¶�Á�¾/º�¹7»*¼�Ä-¹7¼�·kÓ�¹�¼�·*¶�ÖçÂ/Ü Â#¾�Á º�·*Ó&½�ª×�è#é æ

Ø*ØrÚ^Ð?ê5¹7¼�¾/Â?¾�¶�»�Ä�Ä�Ñ�¾/»*¿-À&¹7½7Â�¶:Äh·8¶�Â'»8Åcº�Â#¼Ô¶�Â�·*¸ ¹7½�Ö3·rÒ�·*¹�½.·8Ó&½7Â*æ�Â/Ü Â#¾�Á º�·*Ó&½�Â�ÄV·8¶�Â6¿6Á�¾:ÃÔÂ#·*Ä�¹7Â�¶vº�»$»*Ó&º�·8¹7¼Ô·8¼�¸�Ä�º�»*¶�Â*Ð'å�¼

·*¸�¸ ¹nº�¹�»)¼OæHÂ�Ü5Â�¾/Á º�¹�»)¼ Ñ�¸ ¶�¹7Ò*Â#¼�Ä�¹7¿iÁ&½.·�º�»*¶:ÄM¾#·8¼�Â/Ü À&½7»*¹�ºMº�Ã&ÂkÄ�º�¶�Á�¾/º�Á&¶�Âb»*ÅAº�Ã&ÂkÀ&¶�»)ß*¶:·8¿ëÁ&¼�¸ Â#¶QÂ�Ü5Â�¾/Á º�¹�»)¼�Ó5ÖìÀ�¶�Â�Ñ

¸ Â�¾/» ¸ ¹7¼&ß-¹�¼�Ä�º�¶�Á�¾/º�¹7»*¼�Ä#ÐNÞ9À º�¹7¿-¹�í�·�º�¹�»)¼�Ä>Ó�·*Ä�Â#¸Q»*¼Qº�Ã�ÂAÀ&¶�Â�ÑR¸&Â#¾/» ¸ Â�¸M¹7¼�Ä�º�¶�Á�¾;º�¹�»)¼�ÄE¾�·*¼$À&¶�» ¸ Á�¾/ÂV½7·*¶�ß)Â9ÀPÂ�¶�Åw»*¶�¿J·8¼�¾�Â

ß)·*¹�¼�ÄTÅw»*¶EÀ&¶�»*ß)¶�·*¿-Ä�º�Ã�·�ºh¾/»)¼�º�·8¹7¼C½�»5»*À�Ä�Ð

î ïñðóòôò õ÷öHø�ù�ú6ðüû8ý6þ÷ÿQù���������Uýiþxø

Þ9Ó��Â�¾;º-º�Â�¾:Ã&¼&»*½7»*ß)ÖÀ&¶�»�Ò5¹7¸ Â�Ä-·�Ä�º�¶:·8¹7ß*Ã�º�Åw»*¶ �T·*¶�¸��>·rÖÔº�»ªÓ�Á&¹�½.¸¡·ÔÄ�¹7¿iÁ&½.·�º�»*¶'Åw»*¶Q·kÀ�¶�» ¾/Â�Ä�Ä�»*¶'Ó5Ö ·*½�½7»��E¹�¼�ßkÂ�·*¾:Ã

¾/»)¿-À�»)¼&Â�¼�ºJ»8Å9º�Ã&ÂDÀ&¶�» ¾/Â�Ä�Ä�»*¶'º�»ÔÓPÂD¶�Â#À&¶�Â#Ä�Â�¼�º�Â�¸ç¸ ¹7¶�Â�¾;º�½�Ö¹7¼ìº�Ã&ÂDÄ�¹�¿6Á&½.·�º�»)¶JÓ5Öç·8¼ì»*Ó��Â�¾;º�Сµ>Ã�ÂC¶�Â�½.·�º�¹�»)¼�Ä�Ã&¹�À�Ä

ÓPÂ/º��TÂ�Â�¼kº�Ã�Â#Ä�Â'»)Ó��Â#¾/º�Äv¹7¼bº�Ã&Â?Ä�»*Åcº��T·*¶�Â6¶�Â���Â#¾/º9º�Ã&ÂJ½7»*ß*¹.¾�·*½l¶�Â�½.·�º�¹�»)¼�Ä�Ã&¹�À�Ä9ÓPÂ/º��TÂ�Â#¼kÀ�¶�» ¾/Â�Ä�Ä�»*¶V¾/»)¿-À�»)¼&Â�¼�º�Ä#Ð-Þ9Á�¶

»*Ó��Â#¾;ºj¿-» ¸ Â#½|Åw»*¶jº�Ã&ÂM¸&Â#Ä�¹�ß)¼�»*ÅEÀ&¶�» ¾�Â#Ä�Ä�»)¶jÄ�¹7¿iÁ&½.·�º�»*¶:ÄV¹7ÄiÄ�Ã&»��E¼Ô¹7¼���¹�ß)Á&¶�ÂDè)ÐCµ>Ã�¹7ÄA¿-» ¸ Â#½�¹.Äj·3¸ »)¿-·*¹�¼Ô¿-» ¸ Â�½

º�Ã�·�ºv¾#·8¼DÓPÂiÂ�Ü�º�Â�¼�¸&Â#¸$º�»MÒ�·8¶�¹�»)Á�Ä>º:·8¶�ß*Â/ºv·8¶:¾:Ã&¹nº�Â#¾/º�Á&¶�Â#Ä#ÐEå�¼Dº�Ã�Âi»*Ó��Â#¾;º9¿'» ¸ Â#½�æPº�Ã&Â��N½.·*Ä�Ä���������� ��������!#"�$ % &('*)��+�

¶�Â�À&¶�Â#Ä�Â�¼�º�Ä9·?Ä�¹�¿6Á&½7·8º�»)¶h¹�º�Ä�Â�½�Å|º�Ã�·8ºv¾�»*¿-À&¶�¹7Ä�Â#Äh¹�¼�Ä�º�·*¼�¾/Â�Äh»*Åxº�Ã&Â6Ò�·8¶�¹�»)Á�Äh¾�»*¿-À�»)¼&Â�¼�º:Äh»*Å�·?À&¶�» ¾/Â#Ä�Ä�»*¶�ÐHµ>Ã�·�ºV¾/½.·*Ä�Ä

¹.Ä9¹7¼�Ä�º�·*¼)º�¹7·8º�Â�¸3·8¼�¸bÁ�Ä�Â#¸Dº�»M¶�Á&¼k·QÄ�¹7¿iÁ�½7·8º�¹7»*¼OÐAµ>Ã&Â-¾/»)¼�Ä�º�¶�Á�¾;º�»)¶HÅw»)¶hº�Ã&Â'¾�½7·)Ä�Äv·*¾#¾/Â#À º�Äv·MÀ�·8¶:·8¿-Â/º�Â�¶9Ä�ÀPÂ#¾/¹�ÅwÖ5¹�¼�ß

·'Ý�½7Â�¼�·*¿-ÂVÅw»*¶>º�Ã�ÂjÓ&¹7¼�·8¶�Ö?Â/Ü Â�¾/Á º:·8Ó&½7ÂVº�»JÓPÂjÄ�¹7¿iÁ�½7·8º�Â#¸OÐ-,DÂ/º�Ã&» ¸.�(%(/ !#"�$10�2V¹.ÄE¹7¼�Ò)»�3)Â#¸Jº�»JÀ�Â#¶�Åw»)¶�¿ ·JÄ�¹7¿iÁ�½7·8º�¹7»*¼

¶�Á&¼OÐ

µ>Ã&Â435¹�¼�¸�ÄU»8ÅP¾�»*¿-ÀP»*¼&Â#¼)º:Älº�Ã�·8º�¾/»*¿-À&¶�¹.Ä�ÂT·9À�¶�» ¾/Â�Ä�Ä�»*¶65¡º�Ã&ÂN¶�Â#ß*¹.Ä�º�Â�¶:Ä�ærÓ&Á�ÄU¹7¼�º�Â#¶�Åg·)¾/ÂTÁ&¼&¹�º#æ*Ó�Á�Ä�æ)·8¼�¸6¿-Â�¿-»*¶�Ö*5

·8¶�ÂA¶�Â�À&¶�Â#Ä�Â�¼�º�Â�¸CÓ�ÖMº�Ã&Â'¾/½.·*Ä�Ä�Â�Ä>¹�¼$º�Ã&Âi¿-» ¸ Â#½�ÐEµ>Ã&Âj¶�Â�½.·�º�¹�»)¼�Ä�Ã&¹�À�Ä>Ó�Â�º��NÂ#Â�¼$º�Ã�Â#Ä�Âi¾/»)¿'ÀP»*¼�Â�¼�º�Ä9·8¶�Âj·8½.Ä�»-¶�Â���Â�¾;º�Â�¸

Ó5ÖDº�Ã�Â'¿-» ¸ Â#½87lº�Ã&ÂJ·)Ä�Ä�» ¾/¹.·�º�¹7»*¼bÓ�Â�º��NÂ#Â�¼Ô·��49;:�·8¼�¸�·MÓ�Á�ÄV¹�¼�º�Â�¶�Åg·*¾/Â-Á&¼�¹nº=<8>Nå�:?9¹�½7½�Á�Ä�º�¶�·8º�Â'º�Ã&Â#¹�¶A¶�Â�½.·�º�¹�»)¼�Ä�Ã&¹�À�Ð

Û Ä�¹7¼&ß*½7Â@�49-:²¹7Äh¶�Â#À&¶�Â�Ä�Â#¼�º�Â#¸$¹7¼$º�Ã�Â6Ä�¹�¿6Á&½7·8º�»)¶h·*Ä9·8¼D¹7¼�Ä�º:·8¼�¾�Âi»*Å-�N½.·*Ä�ÄBA(�*COÐ�µ>Ã&Â'Ä�Ö Ä�º�Â�¿ Ó&Á�ÄB�E¹�½7½�Ó�Â6¿'» ¸ Â#½�Â�¸

·*Äv·8¼b¹�¼�Ä�º�·*¼�¾/Â6»8Å1�N½.·*Ä�Ä�D�%E� æP¾�»*¼&¼�Â#¾;º�Â#¸$º�»Mº�Ã&ÂF�N½7·)Ä�ÄGA*�*CD¹�¼�Ä�º:·8¼�¾�Â6Ó5ÖD·8¼3¹7¼�Ä�º�·*¼�¾/Â6»8Å1�N½.·*Ä�Ä�DIHJCOÐ�ÛH¼k¹�¼�Ä�º:·8¼�¾�Â

K

Page 6: 123! 45 !#76 8 :9 ;=A@CBEDGFIHKJ >L

Instruction* fetchInstruction(Address);

void storeInstruction(Address, Instruction*);

Byte fetchDataByte(Address);

void storeDataByte(Address, Byte);

Word fetchDataWord(Address);

void storeDataWord(Address, Word);

BIU

BIU(Bus*);

Register<Content>Content read();

void Write(Content);

Instruction* fetchInstruction(Address);

void storeInstruction(Address, Instruction*);

Byte fetchDataByte(Address);

void storeDataByte(Address, Byte);

Word fetchDataWord(Address);

void storeDataWord(Address, Word);

ProcessorSimulator(char*); // Load program from fileint runSim();

ProcessorSimulator

void writeInstruction(Address, Instruction*);Instruction* readInstruction(Address);

Byte readDataByte(Address);void writeDataByte(Address, Byte);

Instruction* decodeInstruction(Address);

ByteAddress Word

CPU

void writeReg(registerName, Content&);Content readReg(registerName);

void setFlags(Word);Word getFlags();

CPU(BIU*);

int go(); //Start fetch and execute cycle

Memory(char *);

MemoryBus

Bus(Memory*);

Instruction* fetchInstruction(Address);

void storeInstruction(Address, Instruction*);

Byte fetchDataByte(Address);

void storeDataByte(Address, Byte);

2

virtual void write(CPU&, Word) throw(ErrorMsg) = 0;virtual Word read(CPU&) = 0;

Operand

throw(ErrorMsg) = 0; Byte getSize();virtual Address getEffectiveAddress(CPU&);

Instruction();

virtual void execute(CPU&)

void setLength(Byte);

Instruction

throw(Halt, ErrorMsg) = 0; Byte getLength();

LNMPO�Q RTS�U�VXW1Y SZ*[�\�SJ]�^`_�Z�a�S�bEcdZ�R1^ Y�Sfe�R Z�]�SJg gTZ�R�g6MP_hQ bPi+^TZ�R�a�Z*_ji+MPkml

Z+c�n;bPi*gTgGo�p�qEr(s�t�p�u v*w�x�y�t�p�y�t�zhM{g|]�R SJi�^ SJa.cdZ*RGS}i�]~Y�R S�O*MPg6^TSJRGMPk�^ Y�S@e�RTZ�]�SJg g6Z*RJl|W1Y�S�i+k�O*b�S�[�R i*]~��S�^ gGM�k�^TY�M{g|]�b{i�g g

MPk a�M{]�i�^ S�^ Y i�^hn;bPi*gTgBo�p�qEr(s�t�p�u=MPgi��(���E�������}��Z*R������B���P�����J��]�bPi*gTgJ�#e#i+R~i+_�S�^ S�R M��JSJaI��M�k�^TY�M{g|]�i�gTS���[���^TY�S�^���e#S�Z+c

M�^ g@]�Z�k(^ S�k(^ gJl�L�Z*RhS���i�_@e b�S*�Ne i�R i�_�S�^TSJR gf^TZ�^ Y�S=������ �¡J¢J�(�F^ S�_�e�b{i�^TS�_�M�O*Y*^@[#S�n;bPi*gTgf£�x*u�¤��¥n;b{i�g gf¦�¤�¤(u�p s�s��§Z*R

n;b{i�g g|¨�©(t�p#l.ªBgTM�k�O�i�O�S�k S�R MP]�o�p*qEr*s�t�p*u�]�b{i�g gfbPSJi�a g|^TZ�S���^TS�k#g6MP[�MPb�M�^����¥gTM�k ]�SjRTSJO�M{g�^ S�R~gfZ+c`a�M�«ES�R S�k(^�gTM��JSJg�]Ji+k�[�S

MPk g�^~i+k(^TM{i�^ SJa�¬�M­^ Y�Z�Q�^�^TY�Sfk�SJSJa�cdZ�R`a�S�® k�MPk�Ojk�SJ¬¯]�bPi*gTgTSJgJl

n;b{i�g gh°�p²±Ex�u�©³RTSJe�RTS}g6SJk(^ g@i+k´i*gTgTZ�]�M{i�^TMPZ�k´[#S�^�¬;SJS�kµi*a�a�R SJg g6S}ghi�k a´g6^TZ*R i�O�SFbPZ�]�i�^ M�Z*k g�¶d[��(^TSJg@Z*R�¬4Z�R~a�g~·�l�¸�k

i�a a�M­^ M�Z*km�¹n;b{i�g g|°�p}±Ex*u�©.MPgfi�kºi�O�O�R S�O(i�^ M�Z*k�Z+c;[��(^TS}gfi+k a³MPk g�^ RTQ#]�^TMPZ�k#g��m¬�Y S�R S�i�k³MPk g6^TR Q ]�^ M�Z*kº]�Z�R RTS}g6e�Z�k#a�g`^ Z�i

_ji�]~Y�MPk�S|MPk g�^ RTQ#]�^TMPZ�k�g6^TZ*RTS}aFMPk�_�SJ_@Z*RT�*l-»GQ�R�_�Z+^TMP¼�i�^ M�Z*k�cdZ*R�¼�M�SJ¬�M�k�O�_�S�_�Z*RT�j^ Y�M{g�¬4i²�jM{g4^�¬4Z+½¾cdZ�b{aIV

¿ÁÀ ��Â~�����fÂ��Ã��Ä����+�8��Å+�´Å�Æ��TÇ��~��Ä��8�Ã���=�Ã� Â��8��Ä ���8��Å+��Â�ÈÉ4��R S�e RTS}g6SJk*^ M�k OjSJi�]~Y�MPk g6^TR Q ]�^ M�Z*k�MPk�^TY S�]�Z�a�S*�#¬4ShY#i²¼�S�MPkS�«ESJ]�^`e RTS�½Êa�S}]�Z�a�S}aFSJi*]~Y�MPk g6^TR Q ]�^ M�Z*km� g i²¼�M�k�O�^TY#i�^�^TMP_�SfM�k�^ Y�S�g6MP_hQ bPi+^TMPZ�kml

¿ÁË Ç*�Ê����Â���Ì��Ã�Í�Ã�8Î.Å�Æh�ÃÏ �@�Ã��Â��8��Ä ���¾��Å��³Â�����È`Ð�Z*RTS�MPk g6^TR Q ]�^ M�Z*k gB]Ji+k�[�S�i*a�a�SJa�^ Zj^TY S�gTM�_�Q�bPi+^TZ*RB[���]�RTS}i�^ M�k�Ojk S�¬g6Q�[E]�b{i�g gTSJg4Z+c-n;bPi*gTgÑ}yEs�t(u(ÒEÓ�tEr�x�yji+k a�MP_@e b�SJ_@SJk(^TMPk�OFi�g6MPk�O�bPS|_�S�^TY Z�am�#p*Ô�p Ó²Ò�t�p¹ÕJÖ�¶�gTS�Sh×�S}]�^ M�Z*k�Ø�·�l

Ù b�^TY Z�Q�O*Y�R S�e�R SJgTS�k(^ M�k�OSJi*]~YhMPk g6^TR Q ]�^ M�Z*k�MPk�_�SJ_@Z*RT��i�gÚi+k@Z�[�\�S}]�^¥R SJgTQ�b­^~g¹M�kji]�Z*g6^¥Z+c�_@Z*RTS4_�S�_�Z�R ���+^TY�S1[�S�k�S�®�^ g

Û

Page 7: 123! 45 !#76 8 :9 ;=A@CBEDGFIHKJ >L

Ü+ÝÚÞ�ß�à Þ�á âTã�ä ã�åPã­à�æ�ç+á è�é�Ü�Ü�è�ê#ÞJë6ÝdÜ*ëTìjç+á#í�Þ|Ü�î�à�ï4Þ�ãPé�ð=àTð�ã{â�ê�Þ�á ç�å­à�æ*ñ-ò1ð�Þfè�Þ}í�ã{â6ãPÜ�á.åPã�ì�ã�à â`âTã�ì�î�å{ç�àTãPÜ�á�àTÜjÞ�ß�ÞJí�î�àTãPÜ�á�Ü+Ý

ê�ë Ü�é*ë ç�ì�â§ÝdÜ�ëÚï�ð�ã{í~ð�àTð�Þ�ãPá â6àTë î í�à ã�Ü*á â¹ã�á@àTð Þ1í�Ü�è�Þ�â6ÞJé�ì�Þ�á(à âÚè�Ü|á�Ü�àXí~ð ç+á�é*Þ;Ü*á í�Þ;àTð Þ�æhç�ëTÞ1åPÜ*ç�è�ÞJèIñ¹ò1ð�ãPâÚì�Þ}ç+á â¹ï4Þ

í�ç�á�â6î�ê ê#Ü*ë6àBâTã�ì�î�å{ç�àTãPÜ�á�Ü+ÝXí�Ü�è�Þfê�ëTÜ�è�î#í�ÞJè�ä�æ=ì�Ü(â�àBí�Ü�ì�ê�ãPå�ÞJë â4ÝdÜ*ë`ð�ãPé�ð�óÊå�ÞJô�ÞJåIåPç�á�é�î ç�é�Þ}â�ñXõBÜ�ï;ÞJô�Þ�ë}ö�ã­àGê�ëTÞ}í�åPî è�Þ}â

âTÜ�ì�ÞBÜ*ê�àTãPì�ã�÷JÞJè=ç*âTâTÞ�ì�ä�åPæ@å{ç+á é�î ç�é�Þ`ê�ë Ü�é*ë ç�ìjâÚàTð ç+à4ë Þ�åPæ�Ü�á�â6ÞJå­ÝÃóÊì�Ü�è�ã­Ýdæ�ãPá�é�í�Ü�è�ÞBà ÜhãPá í�ë ÞJç*â6ÞGÞ�ß�ÞJí�î�àTãPÜ�á=âTê�Þ�ÞJèmñ;ø

ò1ð�Þ�ù}ú�û�ü�ý(þEÿ²ü�����ú�í�åPç*âTâGãPâfç�åPâTÜ�ç*âTâTÜ�í�ã{ç�à ÞJè�ï�ã�àTð��;å{ç�â â����*ý��+ú� �ñ��-ç*í~ð�ãPá â�à ëTî#í�àTãPÜ�áºí�ç�á�à~ç���Þ�÷�ÞJëTÜ�Ü�ë|ì�Ü�ë Þ

Ü�ê�Þ�ë~ç+á#è�â4ï�ð�ãPí~ð�ç+ë ÞGÞ}ç�í~ð�ëTÞJê�ëTÞ}â6ÞJá(àTÞJèFä(æ�ç+á=Ü*ä���ÞJí�àJñ��`é(ç+ãPámö�ï4ÞGð ç²ô*Þí~ð Ü*âTÞ�á=Þ�ß�àTÞ�á#â6ãPä�ãPå�ã�à�æFç�à`ç@í�Ü*â6à1Ü+ÝNì�ÞJì@Ü*ëTæ

ï�ã�àTðµàTð�Þ�����*ý���ú� ³í�åPç*âTâJñ��4æ�í�ë ÞJç�à ã�á é³âTî�ä�í�åPç*âTâTÞJâ�Ü+Ý����*ý���ú� �ï�ð�ã{í~ðÁè�Þ�� á�Þ�àTð�Þ.ý���� ����.ç+á è���ý �²ü�����!�;å{ç�â â

ì�Þ�à ð�Ü�è�â�ö ï;Þfí�ç�á�Þ}ç�âTã�åPæ=ç*è�è�á�Þ�ï¯Ü�ê�Þ�ë~ç+á è�ç�è�è�ëTÞ}âTâTã�á é�ì�Ü�è�ÞJâ4à Ü�àTð�ÞfãPá â6àTë î í�à ã�Ü*á�âTÞ�à}ñ

" Ü*ì@Þ@í�Ü*ì@ê�Ü�á Þ�á(à âGÜ+Ý-ì�Ü�è�ÞJëTá�ê ëTÜ�í�Þ}âTâTÜ�ë~âJö�âTî í~ð�ç*âGíJç�í~ð�Þ�ì@ÞJì�Ü�ë ã�Þ}âGç�á è�ãPá â�à ëTî#í�àTãPÜ�á³ê�ãPê#ÞJå�ãPá�ÞJâJömç+ë Þhì�ã{âTâTãPá�é

Ýdë Ü�ì àTð�ã{â@ì�Ü�è�Þ�å¾ñ#�4æ�ç�è�è�ã�á�éºí�å{ç�â â6Þ}âfÝdÜ*ëhà ð�ÞJâTÞ�í�Ü�ì�ê�Ü�á�ÞJá*à~â�à Ü%$¹ãPé�î�ë Þ'&*ö¥ï;Þ�í�ç+á�Ýdî�ë6à ð�Þ�ë@Þ�ß�à Þ�á è�àTð�Þ.è�ÞJâTãPé�á

ì�Ü�è�Þ�åIà Üjí�ë ÞJç�à ÞfçhÝdë~ç+ì�ÞJï;Ü*ë(��ÝdÜ*ë�ê�ëTÜ�í�ÞJâ â6Ü*ë â4ç+á è=àTð Þ�ãPëBâ6ãPìhî åPç+àTÜ�ë~âJñ

) *,+.-�/10!243�563�7�38-�9;:=<>-�?!/A@B/C2�3EDF0

G î�ë¥ï4Ü�ëH��ãPá@ê ëTÜ�í�Þ}âTâTÜ�ëÚâTã�ì�î�åPç+àTãPÜ�á�ï1ç�âÚÜ�ë ãPé�ãPá ç+åPå�æfì�Ü�àTãPô²ç+àTÞ}è�ä�æ�Ü*î�ë¥ãPá*à Þ�ë ÞJâ6àXã�á�ï�ð ç+àXï;Ü*î�å{è�í�Ü�ì�ê�ë ãPâTÞ�ç+á�Ü�ä���Þ}í�àTó

Ü�ë ãPÞ�á(àTÞ}èhè�Þ}â6ãPé�á�ÝdÜ�ëXç|âTã�ì�î�åPç+àTÜ*ëÚç�á è�ä(æ�ç+á@Ü�ä âTÞ�ë ô�Þ}èfá�Þ�Þ}è�ÝdÜ�ë¥ç+á@Þ�ß�àTÞJá âTã�ä�åPÞ�ö*ì�Ü�è�ãI�#ç�ä�åPÞ1âTãPìhî�å{ç�à Ü�ë¹ÝdÜ�ëXçKJÚÞ�á(àTãPî�ì

JXë Ü�ê�ë Ü�í�ÞJâ âTÜ�ë}ñ G î�ëL� ë~â6àNí~ð ç+åPåPÞ�á�é*Þ¥ï4ç*âIàTÜC� á è�ç`è�ÞJâTã�é*ámñNMºÞ;è�Þ}í�ã{è�ÞJèà Ü�ÝdÜ�í�î âNÜ�á�âTãPì@ê å�ÞJë§ê�ë Ü�í�ÞJâ âTÜ�ë§ç�ë í~ð�ã�àTÞ}í�à î�ëTÞ}â

ãPá.àTð�ÞPO�á(à Þ�åmÝ�ç�ì�ã�åPæ�ç�á è�ï;Ü*ë(�=Ü�î�ë`ï1ç²æRQTî�êS@à Ü�àTð�ÞTJÚÞJá(àTãPî�ìUJ-ëTÜ#ñ-ò1ð�Þ�é*Ü*ç�åIÝdÜ�ë`Ü*î�ëBâTÜ+ÝÃà�ï1ç+ë Þfç+ë~í~ð�ã­à ÞJí�àTî�ë Þ|ï4ç*â

Þ�ß�à Þ�á âTã�ä ã�åPã­à�æWV àTð ç+à�ãPâJö ç+á.ç+ë~í~ð�ã�àTÞ}í�àTî ëTÞGàTð ç+à�ï;Ü*î�åPè�ê�Þ�ë ì@ã�à`Ü�î ë1âTãPìhî�å{ç�à Ü�ë�í�Ü�è�ÞàTÜ�Þ}ç�âTã�åPæFç�è�ç�ê�à1àTÜ�á�ÞJï ÝdÞ}ç�àTî ëTÞ}â

Ü+Ý;ê�ëTÜ�í�ÞJâ â6Ü*ëGç+ë~í~ð�ã�àTÞ}í�àTî ëTÞ}âBÜ*ëGÞJô�Þ�á�ÝdÞJç+àTî�ë ÞJâÜ+Ý-àTð�ÞjâTã�ì�î�åPç+àTÜ*ëGã�à âTÞ�å�Ý�ñT�4ààTð�Þjâ ç+ì�Þhà ã�ì�Þ*öEàTð�ÞjâTã�ì�î�åPç+àTÜ*ëGá�ÞJÞJè�Þ}è

àTÜ.ä�Þ�ÞEXFí�ãPÞ�á(àJñF�-ç�ëTåPæ.Þ�ß�ê#ÞJëTãPì�Þ�á(à â|ï�ã�àTð�ç�ê�ëTÜ�àTÜ�à�æ(ê�Þ@Ü+Ý;Ü*î�ë|Ü�ä���Þ}í�àTó¾Ü*ëTãPÞ�á(àTÞ}è�è�Þ}â6ãPé�á³ã�á è�ãPíJç�àTÞ}è�à ð ç�àfÞ�ß�Þ}í�î�à ã�Ü*á

âTê#ÞJÞJè�â`íJç+á�ä#Þ|Ý�ç*â�à Þ�ë1à ð ç+á�ç�â6æ�â6àTÞJì ä�î�ãPå�à`ï�ã­à ð�çhà ë ç*è�ã�àTãPÜ�á ç�åmè�ÞJâTã�é*ámö�ä�î�àç�à`ç�í�Ü*â6à`Ü+ݹî âTã�á�éjì�Ü*ëTÞ|ì�Þ�ì�Ü�ë æZY [W\�]¾ñG Ý4í�Ü�î�ë~âTÞ�öIÞEXFí�ã�ÞJá í�æ�ç�á è³Þ�ß�àTÞJá â6ãPä�ãPå�ã�à�æ�ç�ëTÞ�à�ï;Ü.í�Ü*ì�ê#Þ�àTãPá�é.é�Ü*ç�åPâJñPM ð�ÞJá�í�Ü�ì�ê�ë Ü�ì�ã{â6Þ}âGç�ëTÞ@ë Þ�^(î�ãPëTÞ}èIömï4Þ�ð ç²ô*Þ

í�Ü*á âTãPâ6àTÞJá*à å�æ�í~ð�Ü(â6ÞJájÞ�ß�àTÞJá â6ãPä�ãPå�ã�à�æ�ç�âXÜ*î�ë-ê ëTãPìjç+ë æ�í�Ü*á âTãPè�ÞJë ç+àTãPÜ�ámñ_O�áFÜ�î ë;ç+ê ê�ëTÜ(ç�í~ðmö�Þ�ß�àTÞJá â6ãPä�ãPå�ã�à�æ�ãPâ-ä ç�âTÞJè�Ü*ájàTð Þ

ì�Ü�è�ãI��í�ç�à ã�Ü*áa`dë Þ�î âTÞcbEÜ�Ý�Þ�ß�ãPâ6àTãPá�é`í�Ü�è�Þ�ö}ê�ëTãPìjç+ë ã�åPæ`à ð�ë Ü�î�é*ðGà ð�ÞXì�ÞJí~ð#ç+á�ã{â6ìjâIÜ�Ý(ãPá�ð�ÞJëTã�à ç�á í�Þ;ç+á èé�ÞJá�Þ�ë ã{í�âc`ÃàTÞJì�ê�åPç+àTÞ}â

ãPád�fe�egb§ê ëTÜ�ô�ã{è�ÞJè@ä�æhÜ*ä���ÞJí�à6óÊÜ�ë ã�ÞJá*à ÞJè�ê�ë Ü�é�ë~ç+ì�ì�ãPá�éGå{ç+á é�î ç�é�ÞJâJñNò1ð#ç�àXã{â�ö*ï;Þ�Þ�ß(à Þ�á è@à ð�Þ`í�ç�ê ç+ä ã�åPã­à ã�Þ}â¥Ü+ÝEÞ�ß�ã{â�à ã�á é

âTã�ì�î�åPç+àTÜ*ë4í�Ü�è�ÞGä�æjãPá í�ë Þ�ì�Þ�á(à~ç+åPå�æjë Þ�î âTãPá�é�ç�á è=ç*è�è�ãPá�éhà Ühà ð�Þfâ6ãPìhî åPç+àTÜ�ëch â;í�Ü�è�ÞGä ç*â6Þ*ñ¥ò1ð�ãPâ1ç�ê�ê�ë Ü*ç�í~ð=ãPâ1è�ãji�ÞJëTÞJá(à

Ýdë Ü�ì ç�á�ç+ê�ê�ë Ü*ç*í~ð�ãPá�ï�ð�ãPí~ð�Þ�ß(à Þ�á âTãPä�ã�åPã�à�æ�ã{â�ç�í~ð�ãPÞ�ô*ÞJè³ô�ãPç�âTã�ì�î�å{ç�àTÜ*ë|ê ç+ë~ç+ì�Þ�à Þ�ë ã�÷}ç�à ã�Ü*áNY k�öl&�m�ö_[W[c]ÊñnMºÞjä#ÞJå�ãPÞ�ô*ÞoqpLrNsutwvfx�y�twz|{�rL}Zx�vC~q�Cs���y�y�tw��r_suxq� �j��vft���z �I�cz|{c�l�qt���xw� ���cr_z rNz|sN{ct8r4~�y���z|tw�uz r����

Page 8: 123! 45 !#76 8 :9 ;=A@CBEDGFIHKJ >L

Register<Content>Content read();

void Write(Content);

Instruction* fetchInstruction(Address);

void storeInstruction(Address, Instruction*);

Byte fetchDataByte(Address);

void storeDataByte(Address, Byte);

Word fetchDataWord(Address);

void storeDataWord(Address, Word);

BIU

BIU(Bus*);

Instruction* fetchInstruction(Address);

void storeInstruction(Address, Instruction*);

Bus

Bus(Memory*);

Instruction* fetchInstruction(Address);

void storeInstruction(Address, Instruction*);

Bus8Bit

Bus8Bit(Memory*);

Byte fetchDataByte(Address);

void storeDataByte(Address, Byte);

ByteAddress Word2

Instruction* read(Address);void write(Address, Instruction*);

CodeStoreDataStore

Byte read(Address);void write(Address, Byte);

ProcessorSimulator(char*); // Load program from fileint runSim();

ProcessorSimulator

Proc8088Simulator(char*); // Load program from file

Proc8088Simulator

CPU

void writeReg(registerName, Content&);Content readReg(registerName);

void setFlags(Word);Word getFlags();

CPU(BIU*);

int go(); //Start fetch and execute cycle

Memory(char *);

Memory

BIU8Bit(Bus8Bit*);

BIU8Bit

void writeInstruction(Address, Instruction*);Instruction* readInstruction(Address);

Byte readDataByte(Address);void writeDataByte(Address, Byte);

Instruction* decodeInstruction(Address);

Byte fetchDataByte(Address);

void storeDataByte(Address, Byte);Word fetchDataWord(Address);

void storeDataWord(Address, Word);

�4�������H�P���������g�W �¡q��¢E£C¤F��¥���¦L�E§�£H��¨¥��c¥.©ª�W��£(����«¬¨�£H��¦N­W®�­�­F¯(�j¤=��¦�°�£(�W��±

����P°�²�²��H�W°W¢8�'�³¯g¤´���H�=µ¶�E§��j ¦j�a°�¨¶¥%¤a°��j¨�£H°��j¨¶°� �¦���±n·¸�����W�W°�¦³¯¸©ª������§�£H��¨¯(�� ��j¦��j£q¹'��¨¢E¦��¥��.°�¨#°� ��j¦��j£q¹6£(��°W¥�¥'¨��º

��¨¯q£H�(�¶¢w£(����¨¶¯�»¼£(�½¢8�°�¨��W�¾£(���%º¼°�¹���¨¯¿£(�H�¢w£H�j�W¨¯.°��(�6��§��c¢E��£H��¥Z»�£H�À�j¨�£H�(��¥��¢�����¨¯q£H�(�¶¢w£(����¨>²���² ��¦��j¨��c¯d°�¨¥Á¤´��¢��(��Â

��² ���8°�£H�j�W¨¯�»�£(�n�E§�²¶���(��¤´��¨�£¸ºf�j£(�%¥��IÃ����H��¨�£1¤´��¤F�W�(¹¾�������8°��8¢8������¯PÄ�¦j��Å���¦³¯C��©�¢�°�¢8���¯8Æw»¶°�¨¥!£H�n¢8�°�¨���g£(��=¯¿£H°�£H��¯¿£(�³¢�¯

¢E�W¦j¦���¢E£(�c¥n �¹.£H���P¯(�j¤=��¦�°�£(�W��±

Ç#��¨���ºÈ¥��c¯(¢��(��  �¸£H���H����º�°�¹�¯�£H�°�£Cº¼���°�Å��g¯(�¢�¢���¯H¯q©ª��¦�¦�¹�»°�¨¥¾��°�¯(��¦j¹W»��E§�£(��¨¥���¥¾�W���C¥���¤a°��j¨¾¤´��¥���¦Z£H�.¢E�H��°�£H�

¯(�j¤=��¦�°�£(�W�H¯C©ª���C£H���F«¬¨W£H��¦�­�®�§�­WÉa²��H��¢E��¯H¯(���f©�°�¤F��¦�¹�±gÊl°�¢8�6��§�£(��¨¶¯¿����¨�º�°�¯1�j¤´²�¦���¤´��¨W£H��¥'�¯¿��¨��!ËgÌLÌ�±�Í��W¦j¦���¢E£(��Å���¦j¹W»

º¼�K�H�E©ª����£(�´£H���P­�®�§�­WÉT¯(�j¤=��¦³°�£(����¨d©ª�8°�¤´��º¼���HÎ.°�¯C϶Ð�Ñ�Ò�Ó�Ô¶±

ÕCÖ¿× ØÚÙÜÛWÙ�Ý�ÞNß´à�álà�àãâ�ä(åçæ1ß¿è4Ý�élê

�����!ë�8¯¿£.�E§�£(��¨¯¿����¨½£(�ì£H�����W �¡q��¢E£´¤´��¥���¦1º�°�¯´¤a°�¥��!��¨Ú���8¥����F£H�À �����¦�¥Ú°ì¯(�j¤=��¦�°�£(�W�´©ª���a£H���6«¬¨�£(��¦¸­�®�­W­'²�(��Â

¢E�c¯(¯(���c±!�_������(�d�!¯(����ºC¯P£(���.��§�£(��¨¶¯¿����¨¯P£(�°�£Tº¼���H�a¤´°W¥���±%·¸��P�E§�£(��¨¯(�j�W¨¯�£H�6£(���d¤´��¥���¦�°��(�a¤a°W¥��.²��H�j¤a°��(��¦j¹

�¯(�j¨��£(��d�W �¡q��¢E£¿Âí���H�j��¨W£H��¥ì£H��¢8��¨��î����d��©1��¨������(�j£H°�¨¢E�W±ì����dï�ð�ñò�Ó�ó�Ó�Ó�ÏôEõö¶÷�ø�ù�ñ�ð'Í�¦�°W¯(¯T��¯´°'¯(�� �¢E¦³°�¯H¯T��©gÍ�¦³°�¯H¯

­

Page 9: 123! 45 !#76 8 :9 ;=A@CBEDGFIHKJ >L

Instruction();

virtual void execute(CPU&) throw(Halt, ErrorMsg) = 0;Byte getLength();void setLength(Byte);

Instruction

... ...

virtual Address getEffectiveAddress(CPU&) throw(ErrorMsg) = 0;virtual void write(CPU&, Word) throw(ErrorMsg) = 0;virtual Word read(CPU&) = 0;

Byte getSize();

Operand

MemOp(Memory *, Address, Byte&, Byte);

MemOp

Address getEffectiveAddress(CPU&) throw(ErrorMsg);void write(CPU&, Word) throw(ErrorMsg);Word read(CPU&);

RegOp

Address getEffectiveAddress(CPU&) throw(ErrorMsg);void write(CPU&, Word) throw(ErrorMsg);Word read(CPU&);

RegOp(Memory *, Address, Byte);RegOp(registerName);

ImmOp(Memory *, Address, Byte, Byte);

ImmOp

Address getEffectiveAddress(CPU&) throw(ErrorMsg);void write(CPU&, Word) throw(ErrorMsg);Word read(CPU&);ImmOp(Word);

...

ZeroOpInst();

virtual void execute(CPU&) throw(Halt, ErrorMsg) = 0;

ZeroOpInstOneOpInst(Operand *);

virtual void execute(CPU&) throw(Halt, ErrorMsg) = 0;

OneOpInstTwoOpInst(Operand *, Operand *);

virtual void execute(CPU&) throw(Halt, ErrorMsg) = 0;

TwoOpInst

1 2

RetRet();void execute(CPU&) throw(Halt,ErrorMsg);

JmpJmp(Operand *);void execute(CPU&) throw(Halt,ErrorMsg);

AddAdd(Operand *, Operand *);void execute(CPU&) throw(Halt,ErrorMsg);

CodeStore

void write(Address, Instruction*);

Instruction* read(Address);

ú4ûjüWý�þ(ÿ��������ÿ�� ��ÿ�� ���þHÿ��� ��ÿ�����Wþ�����ÿ������(ÿ����! "�!�$#¿û%�Tý��%&'���þ)(

* +-,-.!/�0 0!,!+-13254�6�7�8"9:,!+ (;�<�$&�üWü�þHÿ�ü�&=�(ÿ)#�>5"�$?@!�ÿ����A#$#B? ÿ�>�ûDC@>E�AF���ÿ;�! "�!�G?þ�:>Eÿ)#�#��þ)H�#¿ý�>I�J&!#K&!��ÿ�û�ü!���$L�ûD��L�ý�#

û%�"�Hÿ�þ��M&!>�ÿaý-��ûN�&'���ìÿ�ûjü"���OL�ûD���-&=�I&PL�ý�#�(;������ÿ�þHûD�I&'��>�ÿaû%#Tý�#(ÿ��Q��R>�þ(ÿ)&=�HÿE>5�S&!#A#¿ÿ)#�T��VUW�!T¼ûN�&'���XT¼ý�#A�!T¼ûN�K&!#�Y¼ÿ��%�Z(

����ÿ)#¿ÿ�>5�S&!#A#(ÿ�#��[&]\[L¶ÿ�ý3#¿ÿ)�dû%�G#¿û%�Tý��%&'���þI#����þ^&!��\;&�þI>I��ûD�Hÿ�>5�(ý�þHÿ_�A��&=�^�[&!`�ÿ�#�ý3#¿ÿ�'�a&'�¾ÿ�û�ü!���bL�ûN�_�-&=�I&�L�ý�#�(

����ÿ��$:��ÿ���þ(ÿ�cÿ�>5�A#d&'�Pû%��?3WþB�I&'���a��ÿ�#(ûjü"�K��ÿ)>EûS#¿û%!�K����&'�dY¼ÿe��&]fWÿe�[&!��ÿe��WþgWý�þd#(û%�Tý-�S&=�A�þI#�(ih#ÿ���&]f�ÿ�#¿ÿ�?�&�þI&=�Hÿ��

���ÿ$?@�þ��(û%!�3#_!���´ÿ����þA\j����&'�O#V�A�þHÿTû%��#V�Hþ(ý3>k�(û%!�3#_�ªþA!�l�A��ÿ�?3WþB�HûN"��#_����&'��#B��Wþ(ÿ$�-&=�I&-(Km_�D�A�-�ýü!�X���S&!#A#Wn /]4o,"+ p#B�(û%�N��þHÿ�?�þHÿ�#(ÿ����A#&'�q&!#A#B:>EûS&=�HûN"�rL¶ÿ��VY�ÿ�ÿ��s&"�-��þHÿ�#A#¿ÿ)#K&!���s#B��WþA&�ü�ÿE�%:>�&=�HûN"��#utML \"�Hÿ�#$�þ$Yv�þI�-#Aw5H�Y�ÿj��&]f�ÿE�ªý�þB�A��ÿ�þ

��ÿ)>5!��?@"#(ÿ��RûD�´ûN���A%û%��#B�(þHý�>k�HûN"�J&'�3�J�-&'�A&Q#V�A�þHÿ�#�(yxW&'�A&z#V�A�þHÿnûS#$&!�J&�ü�ü�þHÿ�ü�&=�HûN"�r'�_L \��(ÿ)#$&!���s>�:��ÿj#B��Wþ(ÿdû%#

&'�z&�üWü�þHÿ�ü"&'�(û%!�G!��û%��#V�Hþ(ý3>k�(û%!�3#�(K���û%#���ÿ)>EûS#¿û%!�QYv&"#{��&"��ÿFûN�X&'�%ÿ5|o�þ��{�A;�[&!`�ÿ����ÿ��þHü"&!��û%}�&=�HûN"�G'������ÿu���S&!#A#

n /]4@,"+ p �$Wþ(ÿ{#V�HþA&�ûjü"���B���þAY�&�þI�$&!���E�[&�ûN���A&�ûN�3&'L-��ÿ!(�ú4ûjüWý�þ(ÿ��$��û%#�?-�S&]\:#~�A��ÿ{�" !�"�O#¿û%�Tý��%&'���þ)� #�>� ��ÿ{#B��Wþ(ÿ¸ûN�u�ªý�þB�A��ÿ�þ

Page 10: 123! 45 !#76 8 :9 ;=A@CBEDGFIHKJ >L

forever

BiuCpu Bus Memory CodeStore IP Inst

execute(Cpu&);

write(addr+len);

len

getLength();

addr

read();

Inst*

Inst*

Inst*

Inst*

decodeInstruction(addr);if Inst* == NULL?

Inst*

read(addr);

readInstruction(addr);

fetchInstruction(addr);

fetchInstruction(addr);

go();

addr

read();

�d�%�!�-�A�����e�W�:�V���5�^���������I�!�5���%�!�j�_�S�'�"�A�!�����!���A�-�O�B�%�K���%�'���!�)� �e�����A�I�G�'�3�u��� �)�5�:�A�O�5�:�5�%�!�

�:���A�'�%���a�:�-�@���%�"�������~�'�g ��%�"���_¡)¢@£=¤ ¥�¦o§]¤o¨'©!¢��!���u ��S�!�A�vª'«�¬!¥-­!¢-®����]¯!�b�@�����E�5�A���'������°b���%�I�E�!���^��±3�)�5�N²3���A�����-�W���������

³!´"³!³ �%���B���A���k�A�N�"�E�B�����aµ��-�A���_���-�o�5�S�!�A�B�)�~�'�a¡)¢o£=¤�¥�¦o§=¤o¨=©!¢����]¯"�^�3�����u�����)�=�A�����5�"���A����±3�"���:�%�-�����K�N���B���A���5���%�!����°b�D�A�

¶ �����3·i�!���!·g�!���Q�V°��P�"±3���A�!���-����¸��!�I�z�'�v���-�)�B�E���%�"��������·i�%�z���-�A�i·��S�O�P���"�B�[���%�"���{���"�����!� �R�5�"���5�A�5�A�$�%���B���A���k�A�N�"�

�5�S�!�A�����b�����I�j�"�b¹-¬"¤@·3º)»�«�·-�'���j¼:® ®@�~½^�S�B�3· ���-�A���O���-�o�5�S�!�A�B�)���'�e ��%�"���_ª'«�¬"¥:­!¢-®[�'�A���5�A���'�����;°b�-�S�I�G�5�!�A�A����±3�"���[�A�

�������!±@���I�'���u�V� ±3�)��±-���)�B�������%� ³!´"³!³ �N���B���A���5���%�!�������$�����!�A�!·:�A���!�S�B�����)·:�'���j�%���$�)�:�S�=���"�

�d�N�"�-�A���d�O�'����¾{�B���=°s�A��±-�A���������A�'���%¯!�v�N���A���I�!�k�A�N�"���d�3���V°������$�����b�!�:�V�)�k�A�d�A���=�~���:�%�B�a�N�$�����^�B�%�K�-�S�=�A�!�)�g�d�%�!�-�A���

���-�=°^�a�A�-�_�"�:�V���5�A�e�!�����A�-���%���%�������A�"�k���%�!�3�~°b�N���E�A����±3�)�k�������A�-�_�����A�I�:¿<�5�:�)�5�:�A�_�5�:�5�%�_�!���'� ³"´!³!³ �����u�!�E�%�"�A���I�!�5���%�!�

�:�S�'�"�A�!�j·"�����W���!�������!���������~���-�W���"±u�A��±-�A�����������"�:�V���5�A�VÀq�A���=�v�%��· �N�3�V�I�'�������v�'�g���%�"�������e�N�;�����W�"�:�V���5�v���:�:���DÀÁ�����'�

�'�A�P�N� ¯"�!�%¯!���J�%�q�%��±-�%�����������%�-�s���!���G�!��±@���k�E�!�{±����:�5�)�����%�-��·��N�Á�A�-�%�u���!���j���-�F���5�A�I�-¿���� �)�5�:�A�F�5�:�5�%�!�½^�Ã�'�A���=°

Ä�´

Page 11: 123! 45 !#76 8 :9 ;=A@CBEDGFIHKJ >L

execute(Cpu&);

read(Cpu&);

Cpu FLAGSSourceOperandDestOperandADD

destOp

srcOp

getFlags();

read();

flags

write(newFlags);

write(CPU&, destOp+srcOp);

setFlags(newFlags);

flags

read(Cpu&);

ÅdÆNÇ"È-ÉAÊ�Ë-ÌeÍWÎ:ÏVÊ�Ð5Ñ^Ò�Ó"ÑAÊ�ÉIÔ!Ð5Ñ�Æ%Õ!Ó;ÖWÆSÔ'Ç!ÉIÔ'×ÙØ�Õ!É�Ñ�Ú�Ê�Ê5Û:Ê�Ð�È:Ñ�Æ%Õ!ÓjÕ'Ø�Ô[Ü_Ö{ÖÝÆNÓ3ÞVÑAÉ�È�Ð5Ñ�Æ%Õ!Óiß

ÉAÊ�à-ÉAÊ�Þ�Ê�Ó�ÑAÞWÔE×�Ê5ÑAÚ-Õ:áFÆ%Ó â!Õ:Ð�Ô'Ñ�Æ%Õ!Óyã�×�Ê�×KÎ@Ê�ÉWØ�È-Ó�ÐkÑAÆNÕ"ÓQÐ�Ô'ä%ägÆ%ÓXåbæ�æ�ç5ßWÜèá-Ô!Þ�Ú-Ê�áRÔ'ÉAÉ�Õ=éêÉ�Ê�à-ÉAÊ�Þ�Ê�Ó�ÑAÞWÔEÉAÊ5Ñ�È�É�ÓPØ�ÉAÕ!×

ÔE×�Ê�Ñ�Ú-Õ:áQÆNÓ â!Õ:Ð�Ô=Ñ�Æ%Õ!Ó�ß{ë�Æ%×�ÊÆ%Ó�Ð5ÉAÊ�Ô"ÞBÊ)Þ^Ø�ÉAÕ!×ìÑAÚ-ÊKÑAÕ!àQÕ'Ø~ÑAÚ-Ê$á-Æ%Ô!Ç!ÉIÔ'×ìÑ�Õ;Ñ�Ú-Ê$Î@Õ'ÑBÑAÕ!×PßOë�Ú-ÊØ�Ê5ÑIÐIÚ:í�Ê�Û:Ê�Ð5È-Ñ�ÊÐ�î:Ð5ä%Ê

Þ�Ú-Õ=ébÓuØ�Õ"ÉbÑ�Ú�ÊOï!ð!ï"ïKÆSÞbÉAÊ�à-ÉAÊ�Þ�Ê�Ó�ÑIÔ=Ñ�Æ%â!Ê�Õ!Ø�Þ�ÆN×È-äSÔ=Ñ�Õ"ÉAÞ�Ø�Õ"É^â=Ô'ÉAÆNÕ"È�Þvà-É�Õ:Ð�Ê�ÞAÞBÕ"ÉAÞvÎ-È-Æ%äNÑ^Ø�É�Õ"×ÙÑAÚ-Ê�Þ�ÊOÐ5äSÔ!ÞAÞBÊ)Þ�ß~ñ_Õ'ÑAÊ�Ñ�Ú�Ô'Ñ

Ô'ÓJÆNÓ3ÞVÑAÉ�È�Ð5Ñ�Æ%Õ!ÓJÆ%Þ$Ê5Û:Ê)Ð5È:ÑAÊ�áJÎ�îrÆ%Ó â!Õ"ò�Æ%Ó-ÇQÆDÑIÞ�ó"ô-ó�õ]ö ÷-ó�ø�ùu×�Ê5ÑAÚ-Õ:á�ßsë�Ú-ÆSÞ�×�Ê5ÑAÚ-Õ:ásÆ%Ó â!Õ:Ð�Ô'Ñ�Æ%Õ!ÓsÞ�Ú-Õ=é^Þ$ÔFÑAÉAÔ"á:Ê�Õ!ú

Ñ�Ú3Ô=Ñ�é�Ê;Ú�Ô]â!Ê;×�Ô"á:ÊuÆ%ÓsÕ"È-É�á:Ê�Þ�ÆNÇ"ÓrØ�Õ!ÉÑ�Ú�ÊjÞ�ÆN×È-äSÔ=Ñ�Õ"É�ßrû Æ%Ó�Ð5Ê;Ñ�Ú�ÊjÐ�Õ!Ó�Ð�É�Ê�Ñ�ÊuÆ%Ó�ÞBÑ�ÉAÈ�ÐkÑAÆNÕ"ÓsÐ5äSÔ!ÞAÞjã�ü:ý ý3þ�ÿ�����þaÊ5ÑIÐ'ß ç

ÆSÞWÓ�Õ'Ñ�ò Ó-Õ=ébÓFÈ-Ó�Ñ�Æ%äaÉAÈ-Ó�Ñ�Æ%×$Ê"þoÑ�Ú-ÊEó"ô-ó�õ)ö:÷-ó�ø�ùK×�Ê�ÞAÞ�Ô!Ç!Ê×KÈ�ÞBÑ{Î@Ê[á:î Ó�Ô'×�ÆSÐ�Ô!äNä%îGÎ3Õ"È-Ó�áRébÆDÑAÚzÔ;É�È�Ó"ÑAÆN×�Ê�á:ÆSÞBà�Ô'ÑAÐIÚiß

ë�Ú È�Þ�þ-Ô$Þ�ÆSá:Ê�Ê5úoÊ�Ð5Ñ^Õ'ØgÈ3ÞBÆ%Ó-Ç�ÆNÓ�Ú-Ê�ÉAÆDÑIÔ'Ó�Ð�Ê{Ñ�Õ�ÆNÓ3Ð5ÉAÊ�Ô!Þ�Ê�Ê5Û Ñ�Ê�Ó�Þ�ÆNÎ-Æ%ä%ÆDÑVîEÆ%ÓjÑ�Ú-Ê�Æ%Ó�ÞBÑ�ÉAÈ�ÐkÑAÆNÕ"ÓjÞ�Ê5ÑbÆSÞ^Þ�Õ!×�Ê�ébÚ�Ô'Ñ�á-Ê�Ç!ÉIÔ!á-Ê�á

à@Ê�É�Ø�Õ!ÉA×�Ô!Ó�Ð5Ê"ß

Ò�ÓyÕ"ÉAá:Ê�ÉOÑAÕQÐ5Õ"×KÎ�Ô'ÑKÑAÚ-Æ%Þ$à@Ê�É�Ø�Õ!ÉA×[Ô'Ó�Ð�ÊEäNÕ�Þ�Þ$á:È-ÊuÑ�ÕQÉ�È-Ó�ÑAÆN×�ÊPá:Æ%Þ�à�Ô'ÑAÐIÚ-Æ%Ó-Ç�þaévÊuà�É�Ê�í<á:Ê)Ð5Õ:á:Ê[ÑAÚ-Êjà-É�Õ"Ç!ÉIÔ'× ÆNÓ:í

ÞBÑ�ÉAÈ�ÐkÑAÆNÕ"Ó�Þ�ßXëgÉAÔ"á:ÆDÑAÆNÕ"Ó�Ô'ävÞBÆ%×KÈ�ä%Ô'Ñ�Õ!ÉIÞ�Ø�Ê�ÑAÐIÚsÑ�Ú-ÊjÆNÓ3ÞVÑAÉ�È�Ð5Ñ�Æ%Õ!ÓrØ�ÉAÕ!× ×�Ê�×$Õ"É�î"þaá:Ê�Ð�Õ á-Ê;ÆNÑ�þaÑAÚ-Ê�ÓJÊ5Û:Ê�Ð�È:Ñ�Ê;ÆDÑ)ßXÒ�ÓsÕ!È�É

Õ!Î-ÏVÊ�ÐkÑ�í�Õ"É�Æ%Ê�Ó�ÑAÊ�áÃá:Ê)ÞBÆ%Ç!Óiþ^Ñ�Ú-ÊzÆNÓ3ÞVÑAÉ�È�Ð5Ñ�Æ%Õ!ÓÂÆ%Þ;Õ!Ó-ä%îÃá:Ê�Ð�Õ:á:Ê�á Ñ�Ú-Ê���ÉIÞVÑ;Ñ�Æ%×$ÊzÆNÑjÆSÞuÊ�Û:Ê�Ð5È-Ñ�Ê�áiß��~Û:à3Ê�É�Æ%×�Ê�Ó�ÑAÞ;ébÆDÑAÚ

à-ÉAÕ���ä%Æ%Ó-Ç;×�Ê)Ô!Þ�È-É�Ê�×�Ê�Ó�ÑAÞWØ�Õ!É��� ô����uÆNÓ3á:Æ%Ð�Ô=ÑAÊÑAÚ�Ô=ÑOá:Ê)Ð5Õ:á:Æ%Ó-ÇPÊ�Ô"ÐIÚRÆ%Ó�ÞVÑAÉ�È3ÐkÑ�Æ%Õ!ÓQÕ!Ó�Ð�Ê!þ�Ð�Ô'ÓQÉ�Ê)ÞBÈ-äNÑ�ÆNÓQÑ�ÉAÊ�×�Ê�Ó�á:Õ!È3Þ

à@Ê�É�Ø�Õ!ÉA×�Ô!Ó�Ð5Ê�Æ%Ó�Ð5ÉAÊ�Ô"ÞBÊ)Þ�ß~ÍWÓjÑ�Ú-Ê�Õ!Ñ�Ú-Ê�ÉbÚ�Ô'Ó3á�þ-á:Ê�Ð�Õ:á:ÆNÓ�Ç�Ñ�Ú-Ê�Æ%Ó�ÞBÑ�ÉAÈ�ÐkÑAÆNÕ"Ó�ÞbÔ=ÑbÊ�Ô"ÐIÚ;Ê�Ó�Ð5Õ"È-Ó�Ñ�Ê�É^Ð�Ô'ÓjÉAÊ�Þ�È-äDÑ^Æ%ÓGÔ[Ë'ð��

Æ%Ó�Ð5ÉAÊ�Ô"ÞBÊ;ÆNÓJÊ5Û:Ê�Ð�È:Ñ�Æ%Õ!ÓsÑ�Æ%×$Ê;Ø�Õ!É[Ô!Ó��������[à-ÉAÕ!Ç!ÉIÔ'× Ñ�Ú3Ô=Ñ�É�Ê��"È�ÆNÉAÊ�árÕ"Ó-ÊPÞBÊ)Ð5Õ!Ó3áXÑ�ÕXÞBÆ%×KÈ�ä%Ô'Ñ�Ê!ß��gÔ'ÉAÇ!Ê�ÉÔ'Ó3áy×�Õ!ÉAÊ

� �

Page 12: 123! 45 !#76 8 :9 ;=A@CBEDGFIHKJ >L

ProcessorSimulator(char*); // Load program from fileint runSim();

ProcessorSimulator

Proc8088Simulator(char*); // Load program from file

Proc8088Simulator

Register<Content>Content read();

void Write(Content);

Instruction* fetchInstruction(Address);

void storeInstruction(Address, Instruction*);

Byte fetchDataByte(Address);

void storeDataByte(Address, Byte);

Word fetchDataWord(Address);

void storeDataWord(Address, Word);

BIU

BIU(Bus*);

Instruction* fetchInstruction(Address);

void storeInstruction(Address, Instruction*);

Bus

Bus(Memory*);

Instruction* fetchInstruction(Address);

void storeInstruction(Address, Instruction*);

Bus8Bit

Bus8Bit(Memory*);

Byte fetchDataByte(Address);

void storeDataByte(Address, Byte);

Instruction* read(Address);void write(Address, Instruction*);

CodeStoreDataStore

Byte read(Address);void write(Address, Byte);

ByteAddress Word

CPU

void writeReg(registerName, Content&);Content readReg(registerName);

void setFlags(Word);Word getFlags();

CPU(BIU*);

int go(); //Start fetch and execute cycle

Memory(char *);

Memory

void writeInstruction(Address, Instruction*);Instruction* readInstruction(Address);

Byte readDataByte(Address);void writeDataByte(Address, Byte);

Instruction* decodeInstruction(Address);

BIU16Bit(Bus16Bit*);

BIU16Bit

void storeDataWord(Address, Word);

Word fetchDataWord(Address);

Proc8086Simulator(char*); // Load program from file

Proc8086Simulator

Bus16Bit

Bus16Bit(Memory*);

Word fetchDataWord(Address);

void storeDataWord(Address, Word);

2

BIU8Bit(Bus8Bit*);

BIU8Bit

Byte fetchDataByte(Address);

void storeDataByte(Address, Byte);Word fetchDataWord(Address);

void storeDataWord(Address, Word);

!#"%$ &�')(+*-,/.10-(2)"%34&-57698;: '1: <�=>(�?@8A3B:�C�(D5E3B:�C�"GF�(HCJIK:L'18)0-(+MON�8)(H5QP RLP *TS-';:�?D(H2;2U:L'HV

?W:L3BS-5G(DXYS-';: $L';6 3B2Z2)&�[\(H')(�C](D^ (HNJ$L')(�698;(D'1S�(H'UIK:L')3_6 N�?W(`S�(HN�6�5G8)"%(H2HV

!a"G$L&-';(cb3B:�C�(H5%2d8)0-(�6 ?W8)"%: N�2e:�IQ6 NYf�g�g4"%N�2U8)';&�?@8;"G:LNEh�:�8;0-(D'Z"GN�2>8;')&�?W8)"%: N�2Z6�';(i3B:�C�(H5G(�CY2)"G3B"%5%6 ')5%j Vlkm: 8)(`0-(D';(c6L2

n (D5%5l8)0-(o8)'p6 C-(D:�[q<\(W8 n (D(HN�S\(D')IK: ';3_6�N�?D(T6�N�Cr(DX�8;(DN�2)"%<-"G5%"G8>j V4st0�(DNvu-w�x�g/yHzo6 N�Cr{�u}|�~-wlyDzo3B(H2;2)6 $ (�2c6 ')(B2U(HN�8c8;:

"%N�2>8;')&�?@8)"%: N]: S\(D'p6�N�C-2D��8;0-(DjJ34&�2U8m<\(+')&-N�8;"G3B(+C�"72US�6�8;?p0-(�C�V

�m��� �]�1���#�i�i�)�m�������-�m���/�d�d�

s�(i(WX�8;(DN�C�(�C_8;0-(c?D:�C-(mIK: 'e8)0�(cP RLP P+2)"G3T&-57698):L' n (cC�(H^ (H5G:LS�(�C_"GN]���E��8):o2U"%34&-57698;(m8;0-(cMON�8;(D5}P R PL*�S-';:�?D(H2;2U:L'HVa�E(D8

&�2A3_6 � (?W5%(H6 '18)0�6�8A8)0-(T2U(�?W: N�C]2)"%34&-57698;: 'mC�:�(H2mN-:�8m(H34<\(HC�2U"%34&�5%6�8): 'p2ZIK: 'i<�: 8)0�8)0�(P R PL*��9�\�Y8;0-(4P RLP P�V�.10-(D';(

6�';(Z8 n :�2)"G3T&-5%6�8):L';2H�9: N-(1IK:L'/(H6L?p0E�9<-&�8�8;0-(DjT6�';(1?D: N�2U8)';&�?W8)(HCT576�';$ (D5%j�IK';: 3�8;0-(m2)6 3B(1?D:�C�( Vl.10�&�2D� n (A0�6�^L(Z?D')(�698;(HC

�� 

Page 13: 123! 45 !#76 8 :9 ;=A@CBEDGFIHKJ >L

¡T¢-£D¤¦¥U§-¨}©Wª7¡ ¥;¥1«�¬�­eª%¡L¥)¥Z®�¯-°�±�²�³�³ °L¯�´�µW¶�·�¸L¹ º-°�¯©H¡�ª%ªG£�»Y®�¯-°�± ¼�½�¼�¾�´�µ@¶�·�¸�¹Lº�°L¯}¿\ÀaÁ% §-Ã;£+ÄT¥)Å-«9¤m¥eÆ)Å�£`£DÇ�Æ)£D¢�¥UÁ%« ¢�¥eÆ;«

Æ)Å�£+« ¨�È>£�©@ÆAÉB«�»-£Dª�Æ;Å�¡9Æi¡ Ã)£�¢-£�©W£H¥;¥;¡�Ã;ÊT¬K«LÃAÆ)Å�£�ËLÌ ËLÄT¥)ÁGÉT§-ª7¡9Æ)«LÃH¿

Í Å-£Î»�ÁGÏ}£DÃ;£D¢�©D£_¨�£DÆ>¤e£H£D¢�Æ)Å-£_ÐO¢�Æ;£DªeËLÌ ËLËJ¡ ¢�»�Æ)Å-£YËLÌ ËLÄYÑ-Ã;«�©W£�¥)¥)« Ãp¥`Á%¥�Æ;Å-£_ª7¡9ÆUÆ;£DÃ�Ò ¥ÁG¢�©D« Ã;Ñ�«LÃ;¡�Æ)Á%« ¢�«�¬A¡vÓHÄ9Ô�¨-ÁGÆ

»-¡�Æ;¡]¨-§�¥`Æ;«�£D¢�¡ ¨-ªG£B¤Z« Ãp»�ÔO¡ ©D©D£H¥;¥m« ¬ZÉB£DÉB«LÃ)ÊL¿ Í Å-£_¥)ÁGÉT§-ª7¡9Æ)Á%« ¢�«�¬A¡�¢�£WÇ�Æ;£D¢�»�£�»�»�¡9Æ;¡]¨-§�¥+Á%¥+¥UÆ)Ãp¡�Á% Å�Æ)¬K« Ã;¤Z¡ Ã;»]Æ;«

Á%ÉoÑ�ªG£HÉo£H¢�Æ�Á%¢�« §-Ã�»�£H¥)Á% ¢r¨�ÊÕ¥)ÁGÉBÑ-ª%ÊÕ§�¥)Á%¢-ÂYÆ;Å-£o« ¨�È>£�©@ÆUÔ�« Ã;Á%£D¢�Æ)£�»�Æ)£�©pÅ-¢-Á7ÖL§�£o« ¬dÁ%¢-Å-£DÃ;ÁGÆ;¡�¢�©W£ ¿o×�§-¨}©Wª7¡ ¥;¥U£�¥c« ¬1­eª7¡ ¥;¥

Ø�ÙHÚ ¼ Ø µ�º�¡�¢�»¦­eª%¡L¥)¥ Ø ·}³ ¼ Ø µ�º�¡ Ã)£r©DÃ)£�¡9Æ;£H»Û©D¡ ªGª%£H»Ü­eª7¡ ¥;¥ Ø�ÙHÚQÝ ¾ Ø µ�º�¡�¢�»Þ­eª7¡ ¥;¥ Ø ·}³ Ý ¾ Ø µ�º}ßdÃ;£H¥)Ñ�£�©@Æ)Á%à £HªGÊL¿ Í Å-Á%¥

Ã;£DÑ-Ã;£H¥)£D¢�Æ;¥/¡ ¢-«�Æ;Å-£DÃ�»-£H©WÁ7¥)ÁG«L¢TÆ;Å�¡9Æ�¤Z£AÅ�¡�àL£ZÉ_¡L»�£AÁG¢oÆ;Å-£i»�£�¥UÁ% ¢o«�¬�« §�Ã�¥UÁ%É4§-ª7¡9Æ;« Ãp¥D¿aÀ-Ã;« Éá¡cÉB«�»�£HªGÁ%¢-Â+Ñ\£DÃp¥UÑ\£H©WÆ)Á%à £ ß

¡q©Wª%£H¡ Ã)£HÃY¡�Ñ�Ñ-Ã)«�¡ ©pÅâÉBÁGÂLÅLÆJ¨�£r»-£DÃ;ÁGà�Á%¢-Âã­eª%¡L¥)¥ Ø}ÙHÚ#Ý ¾ Ø µ�º�¡ ¢�»ä­eª%¡L¥)¥ÎåZ§�¥HÓHÄLåZÁæÆY»�Á%Ã;£H©@Æ;ªGÊã¬KÃ;« Éç­eª7¡ ¥;¥ÎåZÐ>èé¡ ¢�»

­eª7¡ ¥;¥)åZ§�¥HßQÃ;£H¥)Ñ�£�©@Æ;ÁGàL£Dª%Ê ¿ Í Å�Á%¥4¤e«L§-ª%»v©DÃ)£�¡9Æ)£Î¡]ê\¡9ÆUÆ;£DÃÁ%¢-Å-£HÃ)ÁGÆ;¡ ¢�©W£_Å�ÁG£HÃ;¡ Ã;©pÅ�Ê ¿Jëm«9¤Z£Dà £HÃHß#¤e£_Å�¡�à £o¬ì¡�à «LÃ)£�»�©D«�»-£

Ã;£D§�¥)£TÁ%¢�« §-á Ñ-Ñ-Ã;«L¡ ©pÅQ¿T×�Á%¢�©W£oÆ)Å�£]Ó�ÄY¨�Áæƨ-§�¥�É4§�¥UÆ¡�ª7¥U«JÅ�¡�à £TÆ)Å-£_©H¡�Ñ�¡ ¨-ÁGª%ÁGÆ>ÊÕ«�¬e¬K£WÆ;©pÅ�ÁG¢-Â�¡ ¢�»r¥UÆ)«LÃ)Á%¢-Â�¡]¥)Á%¢- ª%£

¨�Ê�Æ)£ ß�ÁæÆmÁ%¢J£DÏ\£�©@Æc¡ §- ÉB£H¢LÆp¥eÆ)Å-£+Á%¢�Æ)£DÃ)¬ì¡ ©D£�«�¬/¡�¢�»]Ëo¨-ÁæÆc¨-§�¥H¿

­eª7¡ ¥;¥ Ø ·}³ Ý ¾ Ø µ�º�¡ »-»�¥`Æ)Å-£J­eª7¡ ¥;¥+í�² º\±�î�ï-¹ º-¹ ð�°L¯�ñ/ò)ó�ñLñ�¯�²�³L³�ô¡�¢�»q­eª7¡ ¥;¥o³9º-° ¯-²Lï-¹Lº�¹ ð�°L¯�ñlò)ó�ñ�ñL¯�²�³L³#õTð�°L¯�ñ\ô

ÉB£WÆ;Å-«�»-¥AÆ;«_Æ)Å-£B­eª%¡L¥)¥ Ø ·}³ ¼ Ø µ�ºBÁ%¢LÆ;£DÃ)¬ì¡ ©D£ ¿ Í Å-£4©W«LÃ)Ã;£H¥)Ñ\« ¢�»�Á%¢-ÂBÉB£WÆ;Å-«�»-¥m« ¬#Æ;Å-£o­eª7¡ ¥;¥ Ø�ÙDÚ#Ý ¾ Ø µ�ºÎ©Dª%¡L¥)¥A¡ Ã)£+«9àL£DÃ)Ô

Ã;Á%»-»-£D¢BÆ)«4§�¥U£iÆ)Å-£i¢-£D¤tÉB£WÆ;Å-«�»-¥�Á%¢]­eª7¡ ¥;¥ Ø ·}³ Ý ¾ Ø µ�º+ÁG¢�¥UÆ)£�¡ »B« ¬>ß ¬K«LÃd£WÇ-¡ ÉoÑ�ªG£LßL§�¥)Á%¢-Â+Æ>¤Z«+ÁG¢�à «�©H¡9Æ)Á%« ¢�¥/«�¬}Æ)Å�£�­eª7¡ ¥;¥

í�²Lº�±�î�ï-¹Lº�¹ Ø�ö º-²aò)ó�ñ�ñL¯-²-³�³�ô`ÉB£WÆ)Å�«�»E¿`÷i«YÉB«�»�Áæø\©D¡9Æ;ÁG«L¢�« Ã`£WÇ�Æ)£H¢�¥)ÁG«L¢�Æ)«ÎÆ;Å-£oÁG¢�¥UÆ)Ã;§�©WÆ)Á%« ¢Õ¡�¢�»�« Ñ\£DÃp¡�¢�»�©Dª%¡L¥)¥)£H¥iÁ%¥

¢-£�©W£H¥;¥;¡�Ã;ÊÎ¥UÁ%¢�©W£�Æ;Å-£4ËLÌ Ë Ëo¡�¢�»]ËLÌ ËLÄT§�¥U£�Æ;Å-£¥)¡ ÉB£+ÁG¢�¥UÆ)Ã;§�©WÆ)Á%« ¢�¥U£DÆH¿eù�£¡ Ã)£©D« ¢�Æ)Á%¢�§-ÁG¢�ÂTÆ;«_£WÇ�Æ)£H¢�»]Æ)Å�£+Éo«�»�£HªE¬K«LÃ

Æ)Å�£Ë ÌLú Ë ÄT¡�¢�»�¡�ª7¥)«o¡L»-»�Á%¢-Â_©D¡ ©pÅ�ÁG¢-Â_¡ ¢�»YÑ�ÁGÑ\£Dª%ÁG¢�ÁG¢-ÂΩD« ÉBÑ\« ¢-£H¢LÆp¥ZÆ)«BÆ;Å-£+ÉB«�»-£Dªû¿

ümý�þ ÿ���������� ������������������������ ��!��"���$##%�����

& ¥c¡�¢�£WÇ�Ñ\£DÃ;ÁGÉB£H¢LÆ�ß-Æ;«Y¥U£H£+Æ)Å�£ÁGÉBÑ�¡L©@Æi« ¬l¡L»-»�Á%¢-ÂY¡L»-»�ÁGÆ)Á%« ¢�¡ ª�¬K£H¡�Æ)§-Ã;£H¥1Æ;«_Æ)Å�£4¥UÁ%É4§�ª%¡�Æ)« Ãp¥Hß-¤e£+Á%ÉBÑ-ª%£DÉB£D¢�Æ)£�»Õ¥)« ÉB£

Ñ-Ã;ÁGÉBÁGÆ)Á%à £�»�£D¨�§- ÂLÁG¢-Âo©D¡ Ñ�¡�¨-Á%ª%ÁæÆ;ÁG£�¥d¤AÁGÆ)Å-Á%¢ÎÆ;Å-£�¥UÁ%É4§-ª7¡9Æ;« Ã�'â¬K«LÃe£DÇ-¡�ÉBÑ-ª%£ ßLÆ)«B¥UÁ%¢- ª%£WÔO¥UÆ)£DÑYÁG¢�¥UÆ)Ã;§�©WÆ)Á%« ¢Y£DÇ�£H©W§-Æ)Á%« ¢Y¡ ¢�»

Æ)«]»�Á7¥UÑ-ª7¡�Ê]Æ)Å-£B©W«L¢�Æ)£D¢�Æp¥i« ¬dÃ)£H Á7¥>Æ;£DÃp¥D¿ & Â�¡�Á%¢Eß}ÁG¢-Å�£DÃ;ÁæÆp¡�¢�©D£4¤1¡ ¥c§�¥U£�»�Æ)«�©WÃ;£H¡�Æ)£T¢-£D¤ ©Dª%¡L¥)¥)£H¥c¤AÅ-Á7©pÅÕ¤e«L§-ª7»�£D¢�¡ ¨-ª%£

Ñ-Ã;« ÂLÃ;¡ Éá»�£H¨-§-ÂL Á%¢-Â�¿/ÀaÁGÂL§-Ã;£%(4»�Á7¥UÑ-ª7¡�Ê�¥�Æ;Å-£+¡ »-»-ÁæÆ;ÁG«L¢�¥eÆ)«TÆ)Å-£�« ¨-È>£H©@ÆA»�Á7¡�ÂLÃ;¡ Éá¢�£H©W£�¥)¥;¡�Ã;Êo¬K« ÃZÆ)Å�£�»-£D¨-§-ÂL Á%¢-ÂT¥)Á%ÉTÔ

§-ª7¡9Æ;« Ã�¿/­eª7¡ ¥;¥dï-²*)�·�+,+}µ.-�+-´�µW¶�·�¸�¹ º�°L¯cÁ7¥Z¡4¥)§-¨\©Dª%¡L¥)¥e«�¬a­eª7¡ ¥;¥�®�¯-°�± ²-³�³ °L¯-´�µW¶�·�¸�¹ º-° ¯`¡ ¢�»Y¡L»-»-¥dÆ)Å-£+­eª%¡L¥)¥Zñ�²*)�·�+�òHô

ÉB£WÆ;Å-«�»tÆ)«ãÁæÆp¥]ÁG¢�Æ)£HÃU¬ì¡L©W£L¿ ­eª7¡ ¥;¥Îï-²*)�·/+/+}µ.-�+/0�® Ú Á7¥Y«L¢-£r« ¬Æ)Å-£�©W«LÉoÑ\« ¢�£D¢�Æ;¥J«�¬B­eª7¡ ¥;¥Îï-²*)�·�+,+}µ.-�+-´�µW¶�·�¸�¹ º-° ¯}¿

Í Å-£]ï-²1)�·�+/+}µ2-�+�0�® Ú ©Wª7¡ ¥;¥4Á7¥B¡�¥)§-¨}©Wª7¡ ¥;¥4« ¬�­eª%¡L¥)¥30�® Ú ¡�¢�»�¡L»-»-¥TÆ)Å�£Õ­eª7¡ ¥;¥TÉo£DÆ)Å-«�»-¥oº�¯-¹�±�²lòHô�ß54�¯}µ.-�º,6-²7+\³QòDô�ß

ñL· ¶�4�8-²�¶}° ¯ ö òHô�ß ¡�¢�»Yî�²�¸94dòHô`Æ)«_ÁGÆ;¥AÁ%¢�Æ)£HÃU¬ì¡L©W£ ¿

ÐO¢r¡L»-»�ÁGÆ)Á%« ¢Eß}ÉB«�»�Áæø\©D¡9Æ;ÁG«L¢Õ¤1¡ ¥cÉB¡L»�£Æ;«ÎÆ;Å-£TÁ%¢�¥UÆ)Ã;§�©@Æ;ÁG«L¢r¡�¢�»�« Ñ\£DÃp¡�¢�»r©Wª7¡ ¥;¥U£�¥A¬K« ÃcÆ)Å�£TË ÌLË Ë_Á%¢�¥UÆ)Ã;§�©@Æ;ÁG«L¢r¥)£WÆH¿

Ó2:

Page 14: 123! 45 !#76 8 :9 ;=A@CBEDGFIHKJ >L

Proc8088Simulator(char*); // Load program from file

Proc8088Simulator

Instruction* fetchInstruction(Address);

void storeInstruction(Address, Instruction*);

Byte fetchDataByte(Address);

void storeDataByte(Address, Byte);

Word fetchDataWord(Address);

void storeDataWord(Address, Word);

BIU

BIU(Bus*);

Instruction* fetchInstruction(Address);

void storeInstruction(Address, Instruction*);

Bus

Bus(Memory*);

Instruction* fetchInstruction(Address);

void storeInstruction(Address, Instruction*);

Bus8Bit

Bus8Bit(Memory*);

Byte fetchDataByte(Address);

void storeDataByte(Address, Byte);

Instruction* read(Address);void write(Address, Instruction*);

CodeStoreDataStore

Byte read(Address);void write(Address, Byte);

ByteAddress Word

Register<Content>Content read();

void Write(Content);

DebuggingCPU(BIU*);

void debug();

void trace();void printRegs();void dumpMemory();void help();

DebuggingCPU

CPU

void writeReg(registerName, Content&);Content readReg(registerName);

void setFlags(Word);Word getFlags();

CPU(BIU*);

int go(); //Start fetch and execute cycle

Memory(char *);

Memory

void writeInstruction(Address, Instruction*);Instruction* readInstruction(Address);

Byte readDataByte(Address);void writeDataByte(Address, Byte);

Instruction* decodeInstruction(Address);

BIU16Bit(Bus16Bit*);

BIU16Bit

void storeDataWord(Address, Word);

Word fetchDataWord(Address);

Bus16Bit

Bus16Bit(Memory*);

Word fetchDataWord(Address);

void storeDataWord(Address, Word);

2

BIU8Bit(Bus8Bit*);

BIU8Bit

Byte fetchDataByte(Address);

void storeDataByte(Address, Byte);Word fetchDataWord(Address);

void storeDataWord(Address, Word);

ProcessorSimulator(char*); // Load program from fileint runSim();

ProcessorSimulator

Proc8086Simulator(char*); // Load program from file

Proc8086Simulator

DebuggingSimulator(char*); // Load program from file

DebuggingSimulator

void debug();

; <>=7?�@BADC�EGF$?�=7HIA2J,KLA2MON7P�Q�A2RSK�M�<UT*=*@VT1HXWYN7@$TIZL<UH[?�\]T9KBN*@_^�<`KBabTIM�AcP�?�=7=*A2@�<>J,KLA2@�WdT7RSA7e

fcg

Page 15: 123! 45 !#76 8 :9 ;=A@CBEDGFIHKJ >L

... ......

ZeroOpInst();

virtual void execute(CPU&) throw(Halt, ErrorMsg) = 0;

ZeroOpInstTwoOpInst(Operand *, Operand *);

virtual void execute(CPU&) throw(Halt, ErrorMsg) = 0;

TwoOpInst

virtual Address getEffectiveAddress(CPU&) throw(ErrorMsg) = 0;virtual void write(CPU&, Word) throw(ErrorMsg) = 0;virtual Word read(CPU&) = 0;

Byte getSize();

Operand

virtual void print() = 0;

CodeStore

void write(Address, Instruction*);

Instruction* read(Address);

RetRet();void execute(CPU&) throw(Halt,ErrorMsg);

JmpJmp(Operand *);void execute(CPU&) throw(Halt,ErrorMsg);

AddAdd(Operand *, Operand *);void execute(CPU&) throw(Halt,ErrorMsg);

void print();virtual void printMnemonic() = 0;

void printMnemonic(); void printMnemonic();void printMnemonic();

void print();virtual void printMnemonic() = 0;

OneOpInst(Operand *);

virtual void execute(CPU&) throw(Halt, ErrorMsg) = 0;

OneOpInst

virtual void printMnemonic() = 0;void print();

1 2

MemOp(Memory *, Address, Byte&, Byte);

MemOp

Address getEffectiveAddress(CPU&) throw(ErrorMsg);void write(CPU&, Word) throw(ErrorMsg);Word read(CPU&);

RegOp

Address getEffectiveAddress(CPU&) throw(ErrorMsg);void write(CPU&, Word) throw(ErrorMsg);Word read(CPU&);

RegOp(Memory *, Address, Byte);RegOp(registerName);

ImmOp(Memory *, Address, Byte, Byte);

ImmOp

Address getEffectiveAddress(CPU&) throw(ErrorMsg);void write(CPU&, Word) throw(ErrorMsg);Word read(CPU&);ImmOp(Word);

void print();void print();void print();

Instruction();

virtual void execute(CPU&) throw(Halt, ErrorMsg) = 0;Byte getLength();void setLength(Byte);

Instruction

virtual void print() = 0;virtual void printMnemonic() = 0;

h iUj*k�lBm%n�oGpbq�r�i>sutcv1wLiUq*xzy{wBq3wL|�m%iUxzy�wLlBkzt}wBi>q7xOv*xzrOq*~�mclVv1xzr�tS�]v*yBy�m.y_x�m2tcm2yByLv*lL�3�Yq7l$r�mc�zk�j*j7i>x�j3yLk�~�~�q*lLw2�

�.�

Page 16: 123! 45 !#76 8 :9 ;=A@CBEDGFIHKJ >L

�_���.�����V�u�1���7�2� �*�L�$�L���9�����U��� �>�7���B���������L�S�{�1� �¡ ]�*�B��¢�£�¤.¥�¦�§2¨$©3�S�L�z�/ªz� �{�c�B���*ªzª��2ªI�B�D�L�z��L��«��c U�7�L�L�2���1� �¡ ]�*�B�

¬ ¥®­¯¦/£,°®±9¦�¤1²*¥I�*�zª³�¡ U�7�L��´1¢zµ7£�¶1¥�·¸�L���L��¹�¹��*�L���L���%¹z�L�U�,�L�U���3�1���>�z���L�B�z�S�L�U�*�z�_�U�b����º/©[«��* U�]���Y�7�L©»�����»�* `�B�c�B�z�9�B�>¼7�

�L�I�B���2�L�½¢�£�¤.¥�¦�§2¨¾©3�c�L����ª���©3�U�*�,��«u�%�9¼7�c�B >�,�*ª��U���[�L���3±*²*°�¦��*¹��c�V�9�L�7�_�>�b��¿½À�ÀÁ�>©3¹� U�c©3�c�,�V�9�L�U�*�5�

Â��à>�U�c�Ã�*���³�¡ ]�*�B�%¦/£�¶�±*µ�§2¨3�*¹��c�V�9�L�U�*�Ä���>�L���U�Ã�L�����>�,�L�2���d�7�S���*�$�¡ ]�*�B�½Å�µ1Æ/°�Ç/Ç®¤2¥�Ç�È,É7ÊÌËz�¡�Í�*�L���U�/¼*�2���L�U�7�1�L�U���

�L�z�¾ª��cÎz���>�L�U�*�z�¡�1� ÏVÐ�Ñ9Ð�ÒSÏ��1�5�3�{Ó ÔÕ���`�B���B�2�L¹u�.�}� �B�¸�¸���U©[�� ]�9�B�>�7���G�$©3�*�z�D�L�z�7�L����B�9�B�2�¡���> U ®«u�½��Ï}ÖØ×/Ù1Ú>ÒcÛÜÏ}ÐÜÒ�Ý*Ý®ÖØ×,Ù

Ï}ÐÜÑ1ÐÜÒcË������]�V�»���> U 5�1 U U�9�����U���7 >�%���L�c¹z¹��>�z�z�

Þ ßáà$âGã1ä¸â�åçæDè»é�à

Â��ëê/�.�}�L�U�*�u�[ìb�1�uªÃí³�¡��¹z�L�.���2�7�B�2ªÄ�B����î ¬¯ï,ð�ñ/ò ª��.���U�*�Ä�Y�7�¸�*ó1ô��*õ»���U©[�z U�1�L�*�V�¾�L�u�9�[�cô/¹z >�7�`�V�D�*«�ö��2�}�[�L�2�V�z���* U�*�7º

�L�Ĺ��B��ª��z�S�O�÷ª��2�L�>�7�ø�L�z�1�I�]�I�2�7��ºÄ�L�Ä�Sô/�B�c�zªÌË �2�*�LºÄ�L�Ä©3�/ª��`�Yº��*�zª��.�*�Lº÷�B�÷©��*�>�,�B�*�>�5�Äùú�z�c�ë©��*û,�U���ê��2�L�U�*�

ª��.�S�]���U�*�z�2Ë��{�³�z�¯¼*�÷�1 U�{�¯º��I�d�¯¼*�7�L�.ª��Sô/�L�2�z���U«��U >�>��ºú�1�zªü�.�*�LºÁ©��*�>�,�L�2�z�1�u�S�*Ë��9¼7�c�Í�cýÍ�S�U�c�z�cº*�þ�z�*���cô��1©3¹� U�*Ë��{�

ª��cÎz���D�B���I�*¹��c�V�9�L�U�*�u���>�Ä�S ]�*�B� ¬ ¥®­9¦,£,°®±9¦®¤9²*¥�¹��* Uº,©3�7�L¹��z�U�2�1 U >º7Ëu�����2�ÿ���B�c©3¹� ]�9�B�2ª³�c U�7�L� ¬ ¥®­9¦/£,°�±9¦®¤1²*¥Í�U� >�Uû*�2 >º

�L��«��%©3�*�B�%�SýÍ�S�U�c�,�.��Â��»�L���]�$�L�2�S�L�U�*��Ë��{�%¹��B�2�L�c�,�$���7©3�%¹u�2���Y�7�L©��1�u�S�½�L�.���z `�V�{�L�ͪ��c�L�c�B©3�>�z�½�L���D�cýÍ�S�U�c�z�cº��1���*�z�

�L�>©¸�� U�1�L�7�2��ùÄ�Í�z�¯¼7�3�V�z�7�L�c�÷�L�c�Ä�B�2���[¹��B�*�*�V�1©��¾�1�zªÄ�{�Í�S�7©I¹u�1�B�3�L�U©[�� ]�9�B�>�7�÷�B�>©3�.�½�Y�*�½�B���2�L�͹��B�*�7�B�*©3��z�L�>�z�

�*�z�%î ¬¯ï/ð�ñ,ò �L�>©¸�� U�1�L�7���Y�7���B���3Â��7�B�c ��7ó*�*õ��1�zª³�L�����uÖ���Ý�ÚUÒ����BÑ1Ú>Ñ��½�L�>©¸�� U�1�L�7���Y�7�½��bÂ�Ó{ê�  U�Uû*�[¹z�L���S�.�L�L�*� � í � �[�_�z�

ê/�U©3¹� >�¯ê��c�* U�*�¡�Lº����B�c© �>�u�S U�zª��2�¡�Y�7���¡�L�>©¸�� ]�9�L�7�B� �B�*���*�U���%�Y�B�*© �L�z���d�7���B�2���{�1�uª� >�.�*���{ª��c�B�*�> U�2ªÍ�L�U©[�� ]�9�B�*�.ËzÏ}Ö��IÛ��SѯÏ}Ð Ë

�L�÷�L�z��©3�7�����S�*©3¹� U�]�c�9�B�2ªÁ�1�zªÁª��S�V�1�U >�.ªë�L�>©¸�� U�1�L�7�2Ë_Ï}Ö��IÛ�����Ð������7Ò��}�ë�� > �ê��>©3¹� U�.ê��2�1 ]�1�3���U©[�z U�1�L�*�V�I�1�B���S��ª��.ª��U�

���������Ü��z�*���7�����cô�¹u�2�L�U©3�c�,�B�2Ëu�{�[�V���,���D�L���[�d�*���L�2���¾�*�zª» U�2�*���¾ª��S�B�*�> U�2ª³ê��>©3¹� U�.ê��2�1 ]�1�¾���U©[�� ]�9�B�*����Ï}Ö��IÛ��SѯÏ}Ð ���uÖ��IÛ

�SѯÏ}ÐÌ�]�_���L�>���B�c�O�>�O U�2�B�{�L�z�*��ì*ó7ó[ U�U���2�_�*� �S��ª��7Ë�ª��/�2�_���¸�L�U©3�D�*�c�c�*���,�B�>���uË/�Sô��2�c���L�.�¡�.�*�V���>�z���L�B�z�S�L�U�*�»���2�L�]�1 U >º��*�zª

�*�B�L��©3�2�����D�2�*�V����� í��Ü�G�_���½Ï}Ö��¸Û��SÑ9Ï}Ðu�L�>©¸�� U�1�L�7�����2¹z�1�V�9�B�2� �L����S��ª��$�L�c�*©3�2�7�G�Y�B�*©þ�L���ª��9�V�¾�L�c�7©3�c�,� �1�zªI�z�L�2�G�d�*���

©��*�c�L�»���z«z���B�`�B���L�U�*�Ä�Y�7�¾¹z�L��ܪ��.�S��ª��.ªÿ�U�z���L�B�z�}�B�>�7�z�c�IùÄ�3�V�z�7�L��Ï}Ö��IÛ��SѯÏ}Ð�«��2�c�*�z�L�I�>�%�L�2¹��B�2�L�c�,�B�½�1�Ä�Sô��c�c¹��B�>�7�z�1 U >º

�SýÍ�c�>�2�7�$«u�*�L�c U�>���%�L�>©¸�� ]�9�L�7�{�L�z�1�$�U�� U�Uû*�c Uº��B�I¹z�L��ª��z�c�½�Sô��S�2 > U�c�,�$�Sô��.�S���B�>�7���B�>©3�2�2�

���¡�L�.���V�����>�L�¾�]�¡�c�*©3¹u�,���.ª��1�5�L�c�b��¹��B�*�7�B�*©3�G�L�z�1�_�U�z�c >�zª��«��1�B���B�S�U�c�,�L�>Îu���*�zªÍ�7�c���2�B�* z¹��z�L¹��7�L���{�*�Bû/ >�,�*ª��2�

!$�9�{�c¼7�c�.Ëc�U��¹����V���B���L�z�����{�$���U©[�� ]�9�B�*�V�cË¯î ¬.ï/ð�ñ/ò �1�uªIÏVÖ��IÛ��SѯÏ}Ð Ë1�1�B�#",���`�B�¡ª���$®�c�B�c�,�&%1�* `�B���*���7�½«u�*�L�[�L�>©¸�� ]�9�L�7�B�Ì�B�1û7�

«��U�z�1�BºO�Sô��2�c���B�*«� >�.�cËu�L�z�D�Y�*�B© �1�G�B���[�cô/�.�S���V�1«� U�2���U�¾ª���$��2�L�2�,�2�� ���c�L�.�9�B�[�*ó7�*õ3«��U�z�1�BºO�Sô��2�c���B�*«� >�.���Y�7�¾î ¬¯ï,ð�ñ/ò Ë

�{�O�u���»���X�S�7©3¹��> U�c�I�Y�7�¸�B���³Ó{� �L�ù��B�/ª��z�S�»�*ó7�*õÿ�7�L�L�c©¸«� Uº��S��ª��*�ü�_���b�*ó7�*õ÷�*�B���2©[«� Uºø�S��ª��»�U���7�L�L�c©¸«� U�2ª

�z�L�>�z�ÿùÄ�* >�Y�{�*�L����L�L�c©¸«� U�c�.Ë �7�[ùÿ�¾ê'(� )1õ �ÜË��L�Ä�S�B�2�1�L���*���Sô��2�c���B�*«� U�O� Îz U�*�Ä� � Îz U���]�I�³�S�7©I©��*�zª

¹��B���S�2�B�L�>���3Îu >�%�B�z�9�¾�S�*�,�V�1�U�z���Sô��.�S���V�1«� U�[�S�7©3©3�*�zª����7�����B�9�B�c©3�c�,�V�c���_���I�S��ª��D�1�uªbª��9�V���>�÷� Îu >�.���1�B�%���*�

�2õ

Page 17: 123! 45 !#76 8 :9 ;=A@CBEDGFIHKJ >L

*�+-,/.�+10�2 340�5�07698�5 6 :<;>=�?&@ A/BC2ED F�0�A<5 6 :<;�=�?&@ A/BC2ED F�0�A<5 G#0�5HBCIJ86KBML�8 :/N�A/5H+�O�P�5HB�,�N�AQ6KB�2RO�S 0�5�8<T :/N�A/5H+�O P�5HB�,�N�AQ6KBC2EO&S 0�5�8/T 6KBC2VU'B�2E8 6KBC2VU'B�2E8 WX=�8/PYU'BC2Z8

B�N[U�\�,�O�A�0�N]T�A B�N^U�\�,�O&A�0�N]T�A BCN_A�8/P/,�N]T�A BCN�A�8/P/,�N]T�A B�N_A/8/P/,�N]T�A`�acb�d�b�eJfhg�i j�k�k�k l�l�m�n�a nJo jJo�n�p�a q�m q�a k�m l�a rJp k�a k�pl�ats�uhd�e�e `�k�khvK`�k�k q�p�p�m�a m�r `�rJp�m�k�a p�k o�o a o�k `wo a rJj k�a l�`p�ayxheJfhg�i `�k�k j�k�a m�` `wo `�a rJp k�a l�l k�a k�q k�a k�`o aXz&xw{�|Jg�}�fhg�| o�k�k n�a n�` l�l�a q�n k�a kJo k�a kJo k�a k�`j�a�} uJi�}&d&zhi j�khv�j�k j�l�q�k�a rJq q�`�r�r&a j�j l�l�a n�j j�a k�m k�aM`�km�ac~&fhg�} u�z j�khv�j�k p�m�`�p�a j�n `�k�`�l�n�aM`�m `�j�a l�k j�a o�o k�a k�qr&at�&eJfhg�i `�k�k�k�k p�m�k�q�a m�m jJo�rJm�a l�m `wo a pJo l�a n�p k�a k�jn�a�e�x�|J{�| `�k�k�k�k l�lJo a q�m n�j�q�a n�l k�a q�q k�a o�m k�a k�`q�ati x�z&x�~�s j�khv�j�k o�j�k�m�a j�p `�k�`�l�k�a j�p `�n�a q�` j�a j�p k�a k�n`�k�a�i�g�uh~�e��&f�eh| j�khv�j�k l�mJo `�a o�o m�`�rJn�a n�l `�`�a l�n p�a j�m k�a k�j

�Q���K�c�h�_�c�����������K�h���]�t�����7�����t�C�J�E���K�Z���t�������w�>���t�C�h�_�]�Z &¡£¢c���9�K�J�]���&¤

¢c�H�K���&¥¦���§¥'��¨X�&���&���������K�©�&�9�J��ª������t�&«y¬�­�®�¯c°�±©�²���w�Y¥'���������c�9�c�����§����¥c�����h�K�³¥c���J�^¥'�c�h���c�����t�£�����£�c���]�����K�y¤�¬t­ ®�¯c°�±

���9�h���h¢c�h���h�E�h�c�Y�c�K�h���]��´c���t�K��µ����t�����h�t���h���9�¶������¤�·�¸'�&���'�h�K´c�����E���K�Y¹�º�»½¼�¾�¿ ¹�Ày�]�h�Y¢c���'¥'�����&¥Á´�µ^�½ÂK�&�h�����9�^�K�Ã�9�&�>���t�]�

���h�9�h��Ä/���K�©¢c�����������¦�h�c�Á�����©¢c��� �'���K���K�����t�w�h�����������K�(������«�Å7�c���J�Æ�H���t�c��Ç��c�^���¦�h�c�Á�����©¢c�����'�&�]�H�]�²�����£�c�H�����9�h�&¤ÉÈR��¥c�

�]��¥¦¥c���J���]�h��¢t���9���&¥¶���É¥'��¨X�&���&���Ê���&�K�©�����h�Ë´�µÁ���t���9�&�_���K�©¢c�������Ê���©���t�]��¹�º�»£¼�¾�¿�¹�ÀÃ¥'���&�Ë�c�]�Ê��� ÂK�����^¥c���������c�K�t�����

���'¥'�����h�K�Ì¥c���J�½¥c�c�����c�������£�c���]�����K�y¤

Í ���#��¸�¢X���h���½�&���h�_Å7�����Î���t�©���&���²¢c�h�K�9�h�K���ÊÅE���h�����K��¥'�t���h�&¥Î�K�Æ�ÉÏY�]����ÅZ� µ§Ð]¡9¡K¡ÁÅ7�C�h�(�Ñ &Ò9ÒÁÓÉÔÊÕ[�����������c�

¢c�h�'���&�h���K�Q���c�t�c���t�Ê�h�c�Ê���K�H�]�h�H�QÐc¤ ÖÊ�K¢X���J���h���c�Y��µ������&�¶¤Q�Z�c�Z¢c�h�K�9�h�K����ÅE���h�R��¸'�&���c���&¥²���&�²�h���©�����]�t¥²���c�Z��¸������'�h���9�

�����©�&�7�h��¢X�K������¥^�������c�H�7���&���h���9�¦�]�h��� Â9���J�]�K���4��Â9���E���t�&���>�h���¶��¸'�����'�h���9�t��¤

�Q���9�c�h�Z�Y¢t�������&�9�J��«K����´X�]�h�½�9�h�K¢c�c�H���K�c�]�t¥£�h�K´c�c�H�]�����9���¶«]�h�c�Ë�h�&���c���h���]���K�t�#��¸'¢X���h���©�����J��¤��Z�c�Z×t�J�w�4���K���c�©�©�]�

  Ø

Page 18: 123! 45 !#76 8 :9 ;=A@CBEDGFIHKJ >L

Ù�ÚtÛ7ÙhÜKÝcÞ�Û7ß�à[áQß�â9ãcähÛZåYÞ�ßHæwÙJæ#çKãtä�Ù�Û&æ�Ù4ècähçKâ9ähÜKé�æ�ê ÙhÚcÛÊæ�Û&ë�ç9àtì½ë�çKÞ�ãcé©à�Þ�ß�æ�Ùhæ�ÙhÚcÛÊæ�ß�í&Û7ç]îXÙ�ÚcÛ>ìcÜ�ÙJÜ_æ�Û�Ùhæ�ãtæ�Û&ì½Ý�ï�ÙhÚcÛ7ÙhÛ&æ�Ù

ècähçKâ9ähÜKé©æ&ê�Ù�ÚtÛ�Ù�Útß�äJì¦Ü]àtì�î�ç9ãcä�Ù�Ú§ë�çKÞ�ãcé©àtæ7Þ�ß�æ�ÙÊÙhÚcÛ�à�ãcé²ÝXÛ�ä>ç]î�ß�àtæwÙhä�ã�ë�Ù�ß�çKà�æÊæ�ß�é£ãcÞ�Ü]Ù�Û�ì¶Ý�ï�çKãtä�ð�ñ ò�ócô�õ©æ�ß�é£ãcÞ�Ü]Ù�ç9ä

Ü]à�ì÷ö�ø�ù½ú�û�ü ö�ý#ähÛ&æ�è�Û�ë�Ùhß�þ9Û�Þ�ïÉî�çKä_Û�ÜKëJÚÎç]îEÙ�ÚcÛ[Ù�Û&æ�Ù�ècähçKâ9ähÜKé©æ&êyë�ç9Þ�ãté½à�æYÿtþKÛ[ÜKàtìÑæ�ß��§Þ�ß�æ�Ù£æ�ß�é£ãcÞHÜ�Ù�ß�çKà Ù�ß�é©Û&æYî�ç9ä�çKãtä

ð�ñ ò�ócô�õ>æ�ß�é²ãcÞHÜ�ÙhçKä�Ü]à�ì_Ù�ÚtÛ>ö�ø�ù½ú�û�ü ö�ýtæ�ß�é£ãcÞHÜ�Ù�ç9äÃähÛ&æ�èXÛ&ë�Ùhß�þ9Û�Þ�ïKê]ÜKàtì�ÙhÚcÛEÿtàtÜKÞcë�çKÞ�ãcé©à²Þ�ßHæwÙJæQÙ�ÚcÛ7ÜKë�Ù�ãtÜKÞ�Û��'Û&ë�ã'Ù�ß�çKà£Ù�ß�é©Û

ç]îQÙ�ÚtÛ_àtÜ�Ùhß�þ9ÛYë�ç'ì'Û_ë�çKé©ècß�Þ�Û&ìÁî�çKäZÙhÚcÛ���Û�à�Ù�ß�ãcé�����£Ü]àtìÁÛ��'Û�ë�ã'ÙhÛ&ì�çKàÁÙ�ÚcÛ_Útç9æ�ÙËÚtÜ]äJì �ZÜ]ähÛ���ß�� Û���êcàcç]ÙÊæ�ß�é²ãcÞHÜ�ÙhÛ&ì����

� ÚcÛ^Ù�Û&æ�Ù�ècähçKâKäJÜ]é�æ_Þ�ßHæwÙhÛ&ì(ß�à ë�çKÞ�ãcé©à÷ç9àcÛÁçKî7Ù�ÚcÛ�ÙJÜ]ÝcÞ�ÛÁß�à áQß�âKãcähÛÁå§ß�à�ë�Þ�ãtì'Û�Ù�ÚcÛ�ÝcãcÝtÝcÞ�Û¶æ�çKä�Ù&ê�������������� �#Ü

ècähçKâ9ähÜKé Ù�ÚtÜ]Ù^ãtæ�Û&æ"!YÜ]ãtæhæ�ßHÜ]à Û&Þ�ß�é©ß�àtÜ]Ù�ß�çKà#�7ß�Ù�Úcç9ã'ÙÁètß�þ9ç]Ù�ß�àcâ�ê%$'&�� ��� ( )]å*+��ÜKà ß�à�æ�Û&ä�Ùhß�ç9à æ�çKä�Ù&ê-,.�����.� �7ÙhÚcÛ¦ÿtäJæ�Ù

Þ�ß�þ9Û�ähé½ç9ä�Û©Þ�ç�çKèyê0/�,21'3��54 ���'3�( ) �6*+��é�Ü�Ùhä�ß�� é£ãcÞCÙhß�ètÞ�ßHë�Ü]Ù�ß�çKàyê74 &��84��9/��:( )Kå�*+�#ܶècähçKâKäJÜ]é Ù�ç¶Ù�äJÜ]à�æwî�ç9ä�é ܶé©Ü]Ù�ähß;�Îß�à�Ùhç

<>=@? ù½ø�ý =BA�C5? ù©ü5DQû C5? ù£êFE����84 & /9( )Kå�*+�YÙ�ÚtÛHG�ãcßHë�I'æ�ç9ä�Ù^ètä�ç9âKäJÜ]é¶êKJ�������� �ÊÙhÚcÛ æ�ß�Û&þKÛ ç]î>L#ähç9æ�Ù�Útç]Ù�ÚtÛ�àcÛ�æ�ê-� ,53�1 39��Ü

ècähçKâ9ähÜKé³Ù�ÚtÜ]Ù�ãtæ�Û�æ©ý1øMDCø A.N Ùhç¦çKè'Ùhß�é©ß�í�Û[ìcÜ]Ùhܶë�Ü9ëJÚcÛ©ä�Û�î�Û�ähÛ�àtë�Û&æ&ê7� ,5/�,2E $:(;�2O@*+��Ü]àtìÑÜ�ècähçKâKäJÜ]é³Ùhç¶è�Û&ä�î�ç9ä�é é©Ü]Ù�ähß;�

Ù�äJÜ]à�æ�èXç9æ�ßCÙhß�ç9àyê ���'&5E �QP����539�

� ÚcÛ¦â9ähÜKècÚ ß�à áQß�âKãcähÛÉåÑç�þKÛ&ä�þ�ß�Û@�Ëæ½çKãcä^Û�R[ë�ß�Û�àtë�ï ë�çKé©ètÜKä�ßHæ�ç9à÷çKî�ð�ñ ò�ócô�õÑÜKàtì Ù�ÚtÛBS�ß�é½ètÞ�ÛQS'ë�ÜKÞ�ÜKä¦ö�ø�ù£ú�û�ü�öJý

æ�ß�é£ãcÞ�Ü]Ù�ç9ä²Ý�ïÎë�çKé©ètÜKä�ß�àcâ¦ÙhÚcÛ[Ùhç]ÙhÜKÞEæ�ß�é²ãcÞHÜ�Ùhß�ç9àÑÙ�ß�é½ÛÁî�çKä£Û&Ü9ëJÚÑÙ�Û&æ�Ù©ècä�ç9âKäJÜ]éT� � ÚcÛÁâKäJÜ]ècÚÆæ�Úcç8�Ëæ_ÙhÚtÜ�Ù�ö�ø�ù£ú�û�ü�öJý

æ�ß�é£ãcÞ�Ü]Ù�Û�æÁÛ�ÜKëJÚ ètä�ç9âKäJÜ]é ß�à Þ�Û�æ�æÁÙhß�é©ÛÎÙ�ÚtÜKà ð�ñ ò�ócô�õ9� � ÚcÛ ÙhÜKÝcÞ�ÛÎß�à áQß�âKãcähÛÎå ècähç�þ�ß�ì'Û�æÁìcÛ�ÙhÜKß�ÞHæÁÙ�ç î-ÜKë�ß�Þ�ßCÙJÜ�ÙhÛ

ß�à9ÙhÛ�ähècähÛ�ÙhÜ]Ù�ß�çKà¶ç]î�ÙhÚcÛ²Û@��èXÛ�ähß�é½Û&à�Ùhæ�ZátçKäËÛ@�cÜ]é©ècÞ�ÛKêcÙhÚcÛ>$'&�� ���²ècähçKâKäJÜ]é Ü]ècèXÛ&ÜKähæ7ß�à¶Ù�ÚtÛ²æ�Û�ë�ç9àtì¶ä�ç8� ç]î�ÙhÚcÛ_ÙhÜKÝcÞ�Û

�7ÚcÛ&ä�Û^Ù�ÚcÛ�æ�Û�ë�çKà�ì(ë�ç9Þ�ãcé©à(çKîÊìcÜ�ÙJÜÉÞ�ß�æ�Ùhæ²Ù�ÚtÛÁìcÜ]Ùhܧæ�Û�Ù©æ�ß�í�ÛÁç]î��2Ucê U�U�U¶é©Û&é½ç9ä�ïÎÞ�ç�ë&Ü�Ùhß�ç9àtæV�W�U�U8�:�U�U���ê�Ù�ÚcÛÁÙ�Útß�äJì

ë�ç9Þ�ãté½à Þ�ßHæ�Ùhæ²Ù�ÚcÛ�à�ãcé²ÝXÛ�ä½ç]îÊß�àtæ�Ù�ähãtë�Ùhß�ç9àtæ½æ�ß�é²ãcÞHÜ�ÙhÛ&ìÆÝ�ï÷ð�ñ ò�ó'ô�õ§ÜKæ½å���O'� O.X[Ù�ÚtçKãtæhÜ]àtì÷ß�à�æwÙhä�ãtë�Ù�ß�çKàtæÁê#Ü]à�ìÆÙ�ÚtÛ

î�çKãtä�ÙhÚ ë�çKÞ�ãcé©à Þ�ßHæwÙJæ©Ù�ÚtÛ¦à�ãté²ÝXÛ�ä[çKî�ß�àtæ�Ù�ähãtë�Ùhß�ç9àtæ[æ�ß�é£ãcÞ�Ü]Ù�Û�ì÷Ý�ï ö�ø�ù½ú�û�ü ö�ý>Ü9æT�QX5�O�U�� �U¦ÙhÚcçKãtæhÜ]à�ì÷ß�àtæ�Ù�ähãtë�Ùhß�ç9àtæ@�

Y çKÙ�Û½Ù�Ú�Ü�Ù�Ù�ÚcÛ©à�ãcé²ÝXÛ�äYçKîRß�àtæwÙhä�ã�ë�Ù�ß�çKà�æ�æ�ß�é²ãcÞHÜ�ÙhÛ&ìÉßHæ_ì'ß�ZXÛ&ä�Û&à�Ù>î�ç9ä>ÙhÚcÛ½Ù6�Rç¶æ�ß�é£ãcÞ�Ü]Ù�ç9ähæ�æ�ß�àtë�Û²ÙhÚcÛ�ï§æ�ß�é²ãcÞHÜ�ÙhÛ²Ù6�Eç

ì'ß�ZXÛ&ä�Û&à�Ù4ß�à�æwÙhä�ãtë�Ù�ß�çKà�æ�Û�Ùhæ� � ÚcÛ7ÿcî�ÙhÚ^ë�ç9Þ�ãcé©à©Þ�ß�æ�Ùhæ#Ù�ÚcÛÊæ�ß�é²ãcÞHÜ�Ùhß�ç9à£Ùhß�é©Û7î�ç9äRð�ñ ò�ócô�õYÜKæ0[�[�� [_æ�Û�ë�ç9àtìcæ#ÜKàtì£Ù�ÚcÛÊæ�ß���ÙhÚ

ë�ç9Þ�ãté½à�Þ�ßHæwÙJæ�Ù�ÚtÛ>æ�ß�é£ãcÞ�Ü]Ù�ß�çKà½Ù�ß�é©ÛËî�ç9ä7ö�ø�ù£ú�û�ü�öJý�ÜKæ\�@[9�]X�^ � � ÚcÛÊÿtàtÜKÞ�ë�ç9Þ�ãté½à©î�ç9ä�Ù�ÚtÛ\$'&������Êètä�ç9âKäJÜ]é Þ�ß�æ�Ùhæ#Ù�ÚcÛÊÙ�ß�é©Û

Ù�ç©Û@��Û�ë�ã'ÙhÛYÙ�ÚcÛ_à�Ü�Ù�ß�þKÛ_ë�ç�ìcÛ�ç9à�Ù�ÚcÛ���Û&à9Ùhß�ãté������Úcç�æwÙÊÜ9æ_U'� U�©æ�Û�ë�ç9àtìcæ�

` à�Ü]Þ�ï�í&ß�àtâËÙ�ÚtÛZìtÜ�ÙhÜÊècähÛ&æ�Û�à�Ù�Û�ì²áQß�â9ãcähÛRå>ß�à½Ü]à£Ü]Ù�ÙhÛ�é©è'Ù�Ù�çYë�ç9é½è�Ü]ähÛ#Ù�ÚtÛ4Ù6�Eç>æ�ß�é£ãcÞHÜ�Ù�ç9ähæÃßHæÃàtç]Ù�æwÙhähÜKß�â9Ú9Ù�î�çKäa�EÜKähì

æ�ß�àtë�Û�Ù�ÚcÛ&ïÁæ�ß�é£ãcÞ�Ü]Ù�Û_ì'ß�ZXÛ&ä�Û&à�Ù7ÜKähëJÚtßCÙhÛ&ë�ÙhãcähÛ&æ� � ÚcÛ&ïÁÜKä�Û�Ý�çKÙ�Ú�î�ãcàtë�Ù�ß�çKàtÜKÞyæ�ß�é²ãtÞ�Ü]Ù�çKäJæ%�7ßCÙhÚ¶àcç½Ù�ß�é½Û_ähÛ&ë�çKäJì'ß�àcâ£ÜKàtì

àcç_ë�Ü9ëJÚcÛ��cbËç8�EÛ�þ9Û�ä�ê&ÙhÚcÛ�ähÛ7Ü]ähÛEæ�Û�þ9Û�äJÜ]Þ'ì'ß�ZXÛ&ä�Û&àtë�Û�æ�Ý�Û�Ù6�RÛ&Û�à£Ù�ÚcÛEÙ6�Eç_æ�ß�é²ãcÞHÜ�ÙhçKäJæ@�ed¦ç9æ�Ù�àcç]ÙJÜ]ÝcÞ�Û7Ü]ähÛ4ÙhÚcÛ7ì'ß;Z�Û�ähÛ�à�ë�Û&æ

ß�àÁÙhÚcÛYß�à�æwÙhä�ãtë�Ù�ß�çKà¦æ�Û�Ù�4ð�ñ ò�ócô�õ£é�Ü5I9Û&æEãtæ�ÛYç]î�ë�çKé©ècÞ�Û��Áß�àtæ�Ù�ähãtë�Ù�ß�çKàtæ&ê'ß�à¶ë�ç9à�Ù�äJÜKæ�ÙRÙhç©Ù�ÚcÛgfKhWS�i ß�àtæwÙhä�ã�ë�Ù�ß�çKà�æZãtæ�Û�ì

Ý�ï¦ö�ø�ù£ú�û�ü�ö�ýj�0h�à¶ÜKìtì'ßCÙhß�ç9àyê'ÙhÚcÛ�æ�ß�é²ãtÞ�Ü]Ù�çKäJæEãtæ�Û�ì'ß;Z�Û�ähÛ�à�Ù7ähÛ�âKßHæ�Ù�Û�ä�ê�Ýcãtæ&êtÜ]à�ìÁé©Û&é½ç9ä�ï[æ�ß�í�Û&æ�

�k

Page 19: 123! 45 !#76 8 :9 ;=A@CBEDGFIHKJ >L

l%monap5maq8r s�tvuxw.y�z {v|Mr�}�~�q8{�� moq5�j|�n� �'n8��{@q5���Q{�nW~\tv��{v� � �'n8��{@q5���Q{�nW~\tv��{v�s�|Mr�� ��q8���a�-�'�@m-{@��� s9|Mr�� ��q8����������m-{@���

��������� �5����� ���5��� � �������'� � �'� �'�� ���'��� �.� �'���� � ���Q�5�'�   � �]�5 �'�K¡.�����.� ������� � �Q���8¢�� � �'� ���¢��¤£�¡Q¥'¦��5§ ���'¦ ���5��� � ���Q¢9� � � � �'�� �¨§ ���5§'�9£�� ���'��� � �2�'�¢��   ��� �5¢�'��©����5§�� £ ���.� �]� �2������� � ��� ������0ª9�����.� ��� ���   �2 ����'� � ��� �� �'�_� ¡5¦�¥ ¦ ����� � � �2���� '�]� �'�]�5� '��� ¡�£�¡© � ������� � �2�����'��� ��� �������c���'��© �2«�����¦ ���5¢9� � �8�8�.� � � ��� ¢��¬®­�¯@°�±5²�¯ ������� � �2�����'� ¢ �'�  .�

³ ±5´'µ�¯ ��¶ ³_·'¸�¹�º ±5´'µ�¯ ¸ µ�µ�» ¹6º °a± º ¯ ¹�ºo· ¯¼°�± ºo¸�½"½5¾¤¸�¿�¹Wº °a»�À ºa¸�½�¿�¹g¹o¸�Á »'µ�± º ¯2ÂÄÃ�¯@° ¹ ¯À ½�¿  ¾Å½ ° ºo· ¯ÇÆ9ÈQÉ�Ê'Ë.Ì"± ¿  ºa· ¯xÍ ¸�Á�ÎÃ'µ�¯2Í À±5µÏ±5° {v|Mr�}�~�q8{v�¨¹W¸�Á »�µ�± ºo½ ° ¹ �

l%monap5maq8r s t�uÐw.y.z {v|Mr�}�~�qQ{v� moq5�j|�ns9|Mr�� ��q8��|�n8�#�¨|Mr¼� s9|Mr�� ��q8��|�n8�Ñ�¨|Mr¼�

|M�Ò{@����n8� �Q{ |M�Ò{@����n8� �Q{��������� �5�����  �� ��� �'�]�5� �'� ���� ���'��� �.� ¢�¢9� ¢.� �@¢9�]��� �'� �'��'�K¡.�����.� ��� ��� ��� ��  � � ¢�¢¢��¤£�¡Q¥'¦��5§ ���'¦ ��� ��¢ ��� ��¢ ��� ���� �¨§ ���5§'�9£�� ���'� �.� �'� ��� ¢��]� ��'��©����5§�� £ �2�'� ��� �'� ¢�¢ � ���8 ���0ª9�����.� �@¢9� ��¢ �'� ��� � � ����'�_� ¡5¦�¥ ¦ ���  �  ��� ¢.� � ���2� '��� ¡�£�¡© � ����  �� �'� ��� �'� ¢.�����c���'��© �2«�����¦ ����� ��� ��� ��� �'���Q�¬®­�¯@°�±5²�¯ �'� ���

³ ±5´'µ�¯ �'¶ ³_·'¸Ï¹Fº ±�´'µ�¯ ¸ µ�µ�» ¹Wº °�± º ¯ ¹Fºo· ¯¼°�± ºo¸�½ ´�Ó ¹o¸�Á »'µÏ± ºo¸�½�¿Äºo¸�Á ¯ ¹F¾Å½ ° ºo· ¯ÇÆ9ÈQÉ�Ê'Ë.Ìб ¿  ºo· ¯xÍ ¸�Á Ã'µ�¯2Í À±5µÏ±5° {v|Mr�}�~�q8{��¹o¸�Á »'µ�± ºo½ ° ¹ �

� 

Page 20: 123! 45 !#76 8 :9 ;=A@CBEDGFIHKJ >L

ÔeÕÐÖ�×�Ø�Ù�Ú�Ù�Ûa×5ÛoÜÇÕ�Ý�Þ�Ü@ßxØ�Ù�Ü@à�Ø@áÄØ�Õ�â�ã9×5ÞaÙ�äoÕ�àBÕ5ÖåÛaæ'ÜÐç9èQé.ê'ë�ìV×5à�íBÛoæ�ÜÇî Ù�â¼ã'Ú�Ü2î Ø×5ÚÏ×5Þ¼ïvðMñ�ò�ó�ôQïvõ0äWÙ�â>Ý�Ú�×5ÛoÕ�Þ2ö¨Ôc×5÷'Ú�Ü"ø

Ú�Ù�äWÛaä¤Ûoæ�ÜFÞ�×8ÛaÙ�Õ.ä0Õ5Ö¨Ûoæ'Ü�à�Ý'â>÷�Ü@Þ%Õ5Ö¨Ù�à�äWÛoÞaÝ�ØvÛaÙ�Õ�à�ä%äWÙ�â>Ý'ÚÏ×8ÛaÜíÐã9ÜÞ%äoÜØ@Õ�à�íxÖÅÕ�Þ¤Ûoæ'ÜFÛ6ù¤Õ�äWÙ�â>Ý�Ú�×5ÛoÕ�Þ�ä�ÖÅÕ�Þ¤Ü2×�Ø�æxÕ�Ö7Ûoæ�Ü\ÛaÜäWÛ

ã'ÞaÕ�ú�Þa×�â¼äû0Ô_æ'Ügü9à�×5Ú7ÞaÕ8ùýÕ�Ö�Ôc×5÷�Ú�ÜxøgÚ�ÙÏä6Û�ä_Ûoæ'Ü�×Qþ�Ü@Þ�×5ú�Ü\Þ�×8ÛaÙ�Õx×�à�íTäWæ'Õ8ù®ä%Ûaæ�×8Û2ö�ú�Ü@à'ÜÞa×�Ú�Ú�á�ö Ûaæ'ܼïvðMñ�ò�ó�ô8ïvõeäoÙ�â�Ý'Ú�×5ÛoÕ�Þ

äoÙ�â�Ý'Ú�×5ÛoÜ2äFäoÜ@þ�Ü@àTÛoÙ�â¼ÜäFÛoæ�Ü>à�Ý'â>÷�Ü@Þ�Õ5Ö0Ù�à�äWÛoÞaÝ�ØvÛaÙ�Õ�à�ä�äWÙ�â>Ý'ÚÏ×8ÛaÜíÿ÷�áÒç9èQé.ê'ë�ìÇÙ�àÄÕ�à'Ü>äoÜØ@Õ�à�í:û��®Õ8ù%Ü@þ�Ü@Þ2ö�ù%Ü�Ø×5à'à'Õ�Û

âÇ×���Ü%×Fâ¼Ü×5à�Ù�à'ú�ÖÅÝ'Ú Ø�Õ�â�ã9×5ÞaÙ�äoÕ�à�÷9×�äoÜígÕ�à��6Ý�äWÛ0Ôe×�÷'Ú�Ü-ø�ö5äWÙ�à�Ø�ܤÛoæ�Ü_äoÙ�â>Ý'ÚÏ×8ÛaÕ�Þ�äe×�ÞoÜ%äWÙ�â>Ý'ÚÏ×8ÛaÙ�à�ú�í Ù�� Ü@ÞaÜ@à.ÛcÙ�à�äWÛoÞaÝ�ØvÛaÙ�Õ�à

äoÜ�Ûaäû��Wî � Ù�à9ä6ÛaÞoÝ�Ø�ÛoÙ�Õ�à�ä>×5ÞaܼÖ�×�äWÛoÜ@Þ�ÛoÕÒäoÙ�â�Ý'Ú�×5ÛoܼÛaæ�×5à Ûaæ'Ü@Ù�Þ�Ø@Õ�â¼ã'Ú�Ü��HØ@Õ�Ý'à.ÛaÜ@Þaã�×5ÞoÛaäö��6Ý�äWÛ�×�ä-Ûoæ'ÜáH×�ÞoÜ�Ö�×�ä6ÛaÜ@ÞgÛaÕ

Ü�� Ü2Ø�Ý ÛaÜ�Ù�àTæ�×5Þ�í ù_×5ÞaÜ�û�Ô_æ�Ý�ä@ö7ï�ðMñ�ò�ó�ôQïvõ7â¼Ù�ú�æ.ÛKæ�×Qþ�Üg×�à"×�í þ8×5à.Ûa×�ú�Ü�Ù�à"Ûoæ�Ù�ä®Ø@Õ�â¼ã�×�ÞoÙÏäWÕ�à7û

Ôc×5÷'Ú�Ü��>ã'ÞaÕ8þ.ÙÏí Ü2ä¤×�à'Õ5Ûaæ'Ü@Þ%ù%×Qá�ÛaÕ�Ø@Õ�â¼ã�×5ÞaÜ®Ûaæ'ÜgäWÙ�â>Ý�Ú�×5ÛoÕ�Þ�ä���ã�Ü@ÞoÖÅÕ�ÞaâÇ×5à�Ø@Ü�û��àxÛoæ�Ù�ä%Û�×5÷'Ú�Ü�ö�ù%Ü�äoÙ�â¼ã'Ú�áxØ�Õ�â¼ã�×5ÞaÜ

Ûoæ�ܼÛoÕ5Û�×5Ú�äoÙ�â�Ý'Ú�×5ÛoÙ�Õ�àBÛoÙ�â¼Ü¼ÖÅÕ�Þ-Ü×�Ø�æÄÛaÜäWÛ-ã�ÞoÕ�ú�Þ�×5âTû�Ô_æ'Ü�ü�à9×5Ú�ÞaÕ8ù Õ5Ö_Ôe×�÷'Ú�Ü��"äoæ'Õ8ù®äFÛoæ�×5Ûö¨ú�Ü@à'ÜÞa×�Ú�Ú�á�ö Ûaæ'Ü�ÛoÕ�Ûa×5Ú

äoÙ�â�Ý'Ú�×5ÛoÙ�Õ�à�ÛoÙ�â¼ÜKÖÅÕ�Þ%×�� ã'ÞoÕ�ú�Þ�×5â ÙÏä�Ûaæ'ÞoÜÜ_ÛoÙ�â¼Üä0ú�ÞoÜ2×8ÛaÜ@Þ�ÖÅÕ�Þ%ç�èQé�ê'ë�ì�Ûoæ�×�à¼ÖÅÕ�ÞKïvðMñ�ò�ó�ôQïvõ�û�Ô_æ�Ü\Ø�Õ�â�ã9×5ÞaÙ�äoÕ�à�Õ5Ö�ÛoÕ�Ûa×5Ú

äoÙ�â�Ý'Ú�×5ÛoÙ�Õ�àÄÛoÙ�â�ܼÖÅÕ�Þ-Ü×�Ø�æBã'ÞaÕ�ú�Þ�×5â ÙÏägä6ÛaÙ�Ú�Ú�Ù�à���Ý'Üà�Ø�Ü2íÄ÷�áÿÛaæ'ÜÇí Ù�� Ü@ÞaÜ@à9Ø�Üä-Ù�à ×5Þ�Ø�æ'Ù;ÛaÜØ�ÛoÝ'ÞaÜ�û��\Õ8ù¤Üþ�ÜÞö Ûaæ'Ü���Wî �

þ�ÜÞaäoÝ�ä���Wî �Ñþ8×5ÞaÙ�×�÷'Ú�Ü�ÙÏä®äWÕ�â¼Ü@ùKæ�×5ÛKØ@Õ�à�äWÛoÞ�×5Ù�à'Ü2í:û

+ÛxÙÏäÇØ�Ú�Ü×5Þ¼ÖÅÞaÕ�â Ü×�Ø�æ Õ�Ö\Ûoæ�ÜÒã'ÞaÜ@þ�Ù�Õ�Ý�ä¼Ø�Õ�â�ã9×5ÞaÙ�äoÕ�à�ä�Ûaæ�×8ÛÿïvðMñ�ò�ó�ôQïvõ®ÙÏä¼Ö�×�äWÛoÜÞ¼Ûoæ�×�à#ç9èQé�ê'ë.ì9û��®Õ8ù%Ü@þ�Ü@Þ2ö0Ûoæ�Ü

ã'ÞaÜØ@Üí Ù�à'úg×5à�×�Ú�á äoÜäeú�Ù�þ�Ü_à'Õ-Ù�à�í ÙÏØ@×8ÛaÙ�Õ�à�Õ�Ö9Ûaæ'Ü_ÞoÜÚ�×5ÛoÙ�þ�ÜKäoÙ�â�Ý'Ú�×5ÛoÙ�Õ�à�ã9Üà�×5Ú�Û6á>Ù�à�Ø�Ý�ÞoÞaÜí>÷.á>÷9Õ�ÛoæÇäWÙ�â>Ý�Ú�×5ÛoÕ�Þ�äû���Ü@Þaæ�×�ã�ä

Ûoæ�Ü%â¼Õ.ä6Û�â¼Ü×�à'Ù�à�ú5ÖÅÝ'Ú'Ø@Õ�â¼ã�×5ÞaÙÏäWÕ�à�÷9Ü@Û6ù¤ÜÜ@à¼ç�èQé�ê'ë�ìF×�à�íÇïvðMñ�ò�ó�ôQïvõ�Ø×5à>÷�ÜK×�Ø�æ'Ù�Ü@þ�Üí>÷.á�Ø@Õ�â¼ã�×�ÞoÙ�à'ú�Ü×�Ø�æ�äWÙ�â>Ý�Ú�×5ÛoÙ�Õ�à

ÛoÙ�â¼Ü�ùKÙ�Ûoæ"Ûoæ'Ü>à�×8ÛaÙ�þ�Ü�Ü�� ÜØ�Ý'ÛoÙ�Õ�àTÕ�à"Ûoæ�Ügæ'Õ�äWÛ®æ�×5Þ�í ù_×5ÞaÜ�û0Ô_æ'Ü�äoÙ�â>Ý'ÚÏ×8ÛaÙ�Õ�àVã�Ü@à�×�Ú;Û6áÐÖÅÕ�Þ®ã�ÞoÕ�ú�Þ�×5â Ü�� Ü2Ø�Ý ÛaÙ�Õ�à"ÙÏä_Û6ù%Õ

Õ�Þ�í ÜÞaä�Õ�Ö:â¼×�ú�à'Ù�ÛoÝ9í ÜKÖÅÕ�Þå÷9Õ�ÛoæVç9èQé�ê ë�ì-×�à�í"ïvðMñ�ò�ó�ô8ï�õ�û +ÛåÙÏä0Õ�à¼Ûoæ'ÙÏä0÷�×�äWÙÏä�Ûaæ�×8Û¤ù¤Ü\Ø@Õ�à�Ø@Ú�Ý9í ÜKÛoæ9×8Û¤×�Ú;Ûaæ'Õ�Ý'ú�æxç�èQé�ê'ë�ì

æ�×�ä_ã�×Qá�Ü2íÐ×�ã9ÜÞWÖÅÕ�ÞoâÇ×�à�Ø�Ü�ã9Üà�×5Ú�Û6áÇÖÅÕ�ÞKÙ;Û�äKÜ���ÛoÜà�äoÙ�÷'Ú�Ügí ÜäoÙ�ú�à7ö Ù�Û®Ù�äKäWÛoÙ�Ú�Ú¨Ø�Õ�â�ã�Ü�ÛaÙ;ÛaÙ�þ�Ü-ùKÙ;Ûaæÿî Ù�â¼ã'Ú�Ü2î Ø×5ÚÏ×5Þ-ïvðMñ�ò�ó�ôQïvõjû

! "$#&%�'�(�#*),+ -/. 0

1Ò×�à.á�×5ã'ã'ÞaÕ�×�Ø�æ'Üä¨ÛoÕ-ã'ÞaÕ Ø�Ü2äoäoÕ�Þ�äoÙ�â�Ý'Ú�×5ÛoÙ�Õ�à�æ�×Qþ�Ü%÷�Ü@Ü@à¼ã'ÞaÕ�ã�Õ�äoÜí�Ù�à>Ûaæ'ÜKÚ�Ù�ÛoÜÞa×5ÛoÝ'ÞaÜ�û2�¤â¼Ü@Ú�Ù���×5à�í43-Ü@ã�Ü@Ú ã�ÞoÕ8þ�ÙÏí Ü%×�à

Ü��'Ø@Ü@Ú�Ú�Üà�Û%Õ8þ�ÜÞoþ�Ù�Ü@ù Õ�Ö¨äWÜþ�ÜÞa×�Ú'Ù�à9ä6ÛaÞoÝ�Ø�ÛoÙ�Õ�àÐäoÜ�Û_äWÙ�â>Ý�Ú�×5ÛoÕ�Þ�äå×�à�í�Ûoæ�ÜFþ8×5Þaá�Ù�à�ú-ÛoÜØ�æ�à'Õ�Ú�Õ�ú�á>Ûaæ�×8Û¤Ûoæ'Üá�Ý9äWÜ65 7�8+û 9®Õ�Ûa×5÷�Ú�á

×5÷9äWÜà�Û_Ù�àÐÛaæ'Ü@Ù�ÞKØ@×8ÛaÜ@ú�Õ�ÞaÙ�:2×8ÛoÙ�Õ�àÇÕ�Ö7ÛoÕ�Õ�Ú�ä%ÙÏäK×�í ÙÏäWÛoÙ�à�ØvÛaÙ�Õ�àÐ÷�Ü�Û6ù%Ü@Ü@àVÛoÞ�×�Ø@Ü�;�í ÞaÙ�þ�Ü@àx×5à9íxÜ�� Ü2Ø�Ý ÛaÙ�Õ�à�;+í'ÞoÙ�þ�ÜàÐäWÙ�â>Ý�Ú�×5ÛoÕ�Þ�äû

Ô_æ'Ü�äWÙ�â¼ã'Ú�Ü2ä6Û-â¼Ü�Ûaæ'Õ íÿÖÅÕ�ÞgäoÙ�â�Ý'ÚÏ×8ÛoÙ�à'úÐÛoæ'Ü�Ü�� ÜØ@Ý ÛoÙ�Õ�àÄÕ5ÖåÙ�à�äWÛoÞaÝ�ØvÛaÙ�Õ�à�ä\ÙÏä�Ý�äoÙ�à'ú"×5àBÙ�à.ÛoÜÞoã�ÞoÜ@ÛoÜ@Þ\ÛoÕTí ÜØ@Õ í Ü�×�à�í

Ü�� Ü2Ø�Ý ÛaÜKÜ×�Ø�æ�Ù�à�ä6ÛaÞoÝ9ØvÛoÙ�Õ�à�Ù�à¼äoÜ�<.Ý'Üà�Ø�Ü�û�=\à ÖÅÕ�ÞoÛoÝ�à�×8ÛaÜ@Ú�á�ö5Ûaæ'ÜKÞaÜí Ý�Ø@Üí¼Ø�Õ�â¼ã'Ú�Ü�� Ù;Û6á�Õ�Ö9Ûaæ'ÙÏä0×5ã'ã�ÞoÕ.×�Ø�æ>Õ�ÖMÛoÜà�ÞaÜäoÝ'Ú�Ûaä�Ù�à

ã�Õ.Õ�Þ�ã9ÜÞWÖÅÕ�ÞoâÇ×�à�Ø�Ü�û�1Ò×�à.á-ÛaÕ�Õ�ÚÏä�æ�×Qþ�Ü%Ù�â¼ã'ÞaÕ8þ�Ü2í�ã�Ü@ÞoÖÅÕ�ÞaâÇ×5à�Ø@ܤ÷�á�ã'ÞaÜí'ÜØ�Õ í Ù�à'ú�Ù�à9ä6ÛaÞoÝ�Ø�ÛoÙ�Õ�à�äcÛaÕgäWÕ�â�Ü%Ù�à�ÛaÜ@Þaâ¼Üí ÙÏ×8ÛaÜ

ÞaÜ@ã'ÞaÜäoÜ@à.Ûa×5ÛoÙ�Õ�à�ùKæ�Ù�Ø�æ�Ø@×5à�÷�Ü_í'ÜØ�Õ í Ü2í>×�à�í�Ü���Ü2Ø�Ý ÛaÜí�÷�á-Ûoæ'Ü_Ù�à�ÛaÜ@Þaã'ÞaÜ�ÛoÜÞ�×8Û�×\ÞaÜí Ý9Ø�Üí�Ø�Õ.ä6Û�5 > ö ø?��ö@��A'ö��B7�8+û�ç�èQé�ê'ë�ì

Ö�×5Ú�ÚÏä_Ù�à"ÛoÕ¼Ûaæ'ÙÏä®Ø@×5ÛoÜ@ú�Õ�Þaá¼Õ5Ö�äWÙ�â>Ý'ÚÏ×8ÛaÕ�Þ�ä@û

��C

Page 21: 123! 45 !#76 8 :9 ;=A@CBEDGFIHKJ >L

D�EGF@H�IKJ�LKE FMIKN�OBJ�IQPSRTLQJ?U�J�V�P�U�N�E W�N�E XYIQLKZ V�IQN[P@E X*N[X&V�LKPBXKX�V�PB\]R N�H^FMIKN�PBE`_&a�LQP6XQX�V�P@\4RTN[H�J?UGXQN�\/ZTH[F�IQPBLKX�FBVbIKZ F�H[H�cSZ XQJ

IQd JeIKLKFBV�J2fgH�J�P@L�IKF�LKW@J�I�J�hiJ?V�Z�IjF�kTH[J�FBXlN[ETRTZTI�IKP&F�V�P@\4RTN[H[J�Llm�d N[Vjd/RTLQP�U�ZgV�J�X�J�h�J?V�Z�IjF�kTH[J�V�PiUTJ2noP@L�IQd J�dTP6XpI�\�F@VjdTN[ETJ@_

a�LKPBXKX`V�PB\]R N�H^FMIKN�PBEqd F@XlkgJ�J�ErXQZ V�V�J�XKXpnoZTH[H[c�F@RTRTH[N�J?UqkgP@IQd�XYIKF�IQN^V�F@H�H[c/s tTuBv�wMxiF�E UqUTc6EgF�\4N[V�F�H[H�c4s y�u{z�u?|@w�u{|6z�x}_�~�PMm�J�OBJ�L?u

R�P@LQIKF�k N�H[N�IpcSN[X*RgPiPBL�noP@L�V�LKPBXKX�V�P@\4RTN[H^FMIQN[P@E�XQc�XpIKJ�\�X�u�XYN[E V�JrETJ�m�OBJ�LjXYN[P@E X�P@n�IQdTJ�XQN[\�ZTH^FMIKP@L�\/Z XpI&kgJrR LQP�U�Z V�J�U�noPBL

J�FBVjdSR�PBXKXQN�kTH[J�dTPBXYI�\�F@VjdTN[ETJ@_

D�H�IQd P@ZTWBd�\�F�EicJ�\/ZTH[F�IQPBLKX�F�E U�U�J�k ZTW@WBN�ETW�IQPiP@H^X4s �Tu v@v�u�v�� u�vMz�x2d F{OBJrkgJ�J�E�U�J�OBJ�H[P@R�J�UGnoP@L&IQdTJ4��E6IQJ�H��BwMhT�@t u

LKJ�H^FMIQN[O@J�H�c�noJ�m�N[E XYIQLKZ VbIKN�PBE]XQJ�I2XQN�\/ZTH[F�IQPBLKX�d F{O@J�k�J�J�E�U�J�O@J�H�PBRgJ?U�_��iN[\4RTH[J?��V�F�H^F�L�hT�@t&m�FBX�UTJ�O@J�H�PBRgJ?U/F�I�IQdTJ���E N�OBJ�LQ�

XQN�Ipc�P@nl��N[XKV�PBE XQN�E�F@X�F/V�P@\4R F�E N�PBE�IQP/IQdTJq�iN[\4RTH�J{��V�F@H[F@L�XQN[\�ZTH^FMIKP@LjXem�dTN^Vjd�m�J�LKJ*ZgXYJ?U�IQP4F@XKXQJ�XKX2IKdTJ&R�J�LQnoP@LK\�F�E V�J

P�n�� �{�i�T�i�gs �?x�_e��N�\4RTH[J?��V�F�H^F�L�hT�@t�N[X�F�ESN�E6IKJ�LKRTLQJ�IQJ�L�IKd FMI�XQN�\/ZTH[F�IQJ?X��lN�EiZ�hg�{h��BtrkTN[E F@LQN[J�X�P@E�F]�iRgF�LjV��iZ E��p����dTPBXYI�_

D V�FBVjdTJ�P�n�LQJ?V�J�E6IKH�c�UTJ�V�P�U�J?U�N�E XYIQLKZ V�IQN[P@E X�N^X�Z XQJ�USN�E�F@EF�IYIKJ�\4R�I�IQP�kgFMIYIKH�JqR�J�LQnoP@LK\�F�E V�J&R LQPBkTH�J�\�X�IQd F�I*F�RTR�J�F@L

N[E�N[EBIKJ�LKRTLKJ�IQJ�LKX�_��¡J/dgF@U�dTPBRgJ?U�IKPSV�PB\4R F�LKJqIQd J/R�J�LQnoP@LK\�F�E V�JrP�n��g�{�i�T�6��m�N�IKd�IQdgFMI�P�n��iN[\4RTH�J{��V�F@H[F@L*hT�Bt�XYN[E V�J

IQd J�c�XQN�\/ZTH^FMIQJ&IQd J�XKF�\4J�RTLKPiV�J�XKXYPBL2n¢F@\]N[H[c@_2��ETnoP@LQIQZTE F�IQJ�H�cBu �iN�\4RTH[J?�TV�F�H^F�L�hT�@t/N[X�IKN�J?U�IKP4F4�iZTET�p����dTPBXYI�\4FBVjdTN[ETJ

F�EgU�N[X�F�H^XQPrETP�I�O@J�LQc]J�hiIQJ�E XQN�kTH[J*PBLe\4P�U�N�fgF�kTH[J@_ D�IQIQJ�\4R�IjX�IQPrR�P@LQI�N�I�IKP�P@IQdTJ�LeP@R�J�LjFMIKN�E W�XYc�XYIQJ�\4X&£oETP@IKF@kTH�c��lN�EiZ�h

F�EgU]�iPBH[F@LQN^Xj¤ldgF{O@J�n¢F�N[H�J?UrIKP�IQdTN^X R�P@N[E6I*s�vbx}_ ¥�diZ X�u�IQdTJ�U�J?V�N^XYN[P@E]m�F@X�\�F@U�J�IKPrV�P@\4R F@LQJ�IQd J�RgJ�LYnoPBLQ\�F�EgV�J�P�n�� �{�i�T�i�

m�N�IQd�IQd F�I�P�n2�iN[\]R H�J{��V�F@H[F@L�¦ X&§j¨ª©]«­¬�®{§b¯`J�O@J�E�IKdTP@ZTWBd�IQdTJ�c�XYN[\�Z H[F�IQJrU�N�°�J�LQJ�E6I�N[E XYIQLKZ VbIKN�PBE�XYJ�IKX�_

± ²´³/µ¶�·�¸¹Gº�µ»½¼$¾&¿ÁÀq Ã�Ä

�¡J*d F{OBJ�RTLQJ?XYJ�E6IQJ�U]IKdTJ&UTJ�XQN�WBE�F�E U�N[\4RTH[J�\4J�E6IKF�IQN[P@E�P@n�� �{�i�T�i� u�F/XYN[\�Z H[F�IQP@L2noP@L2IKdTJ&�BwMhT�@t&n¢F@\]N[H[c]P@n�RTLQP�V�J�XKXYPBLKX�_

�¡Jed F{OBJ2U�J�\4P@EgXpIKLKF�IQJ�U�IKdTJ2J�h6IKJ�E XQN[kTN�H[N�Ipc�F@E U�J�FBXYJ P@nT\4PiUTN�fgV�FMIKN�PBEqP�n�P@ZTL�U�J�XQN[W@E`_���ErF@UTU�N�IQN[P@Elu?m�J2d F{OBJ2V�PB\]RgF�LKJ�U

�g�{�6�T�i�Sm�N�IKdÅ�iN�\4RTH[J?�TV�F�H^F�L]§b¨ª©]«­¬�®{§b¯�s ��x}u�F@E�J�hiIQLKJ�\4J�H[cGJ�Æ�V�N�J�EBI�XQN[\�ZTH^FMIKP@L�IQd F�IqZ XYJ?XqFSIQLjF@U�N�IQN[P@E F@H2F�RTR LQP6F@Vjd�IKP

IQd J�UTJ�XQN�WBE�P�n�RTLQP�V�J�XKXYPBL�XQN�\/ZTH^FMIQN[P@El_�D*H�IKdTP@Z W@dG§b¨ª©]«­¬�®{§b¯�N^X�IQdTLKJ�J&IQN[\4J�X�n¢F@XYIQJ�L�IQd F@E��g�{�6�T�i�gu@m�J�kgJ�H�N[J�OBJ*IKd FMI�IQd J

J�FBXYJ�P@n�J�hiIKJ�E XQN�PBE`u�\4P�U�N�f�V�FMIKN�PBE�F�E US\�F�N[EBIKJ�E F@E V�J�P@n�PBZTL�\4PiUTJ�H�P�°�XQJ�IKX�IQdTJqH[PBXKX�P�n�J�Æ�V�N[J�E V�c@_

|�v

Page 22: 123! 45 !#76 8 :9 ;=A@CBEDGFIHKJ >L

Ç$È�É�È*Ê È*ËÌ�È�Í

Î�Ï�ÐrÑ�Ò�ÓTÓSÔ*Õ ÖY×QØ[ÙGÚ�Ù Ó�Û*ÒBÕTÜ�Ý�ÕTÞQÜBß�Þ?à á�ß�ÞjÖYÒBÙ Ú�âäã�ÒBå]å/ÕTÙTØ^ã�Ú�×QØ[Ò@Ù`ægç�ã�×QÒ@è�ß�ÞqÏ?é@éBêTàÎ ë{ÐrÑ�àeÝ�Ú@â�â�Ú@Ù Ó�ì àeíràeîlÚ@ÞQÕ Ö�àïç&ð�×QØ[å�Ú�â[â�ñòðTÞKÒ�ó â[Ø�Ù Ü�Ú@Ù Óò×QÞjÚ@ã�Ø�ÙTÜ�ðTÞKÒ@ÜBÞKÚ@å�Ö�àõô�öQ÷?øjùKùjú�ûªü6ý�þG÷Yÿ��������T÷Mþbû�� ÷�ü

ô�öbûªüäø�û ����ù�þ/÷pÿ&ô�öK÷Qý@ö� ����]ûªü6ý��� �ü6ý��� �ý6ùbþbæ ðgÚ�Ü@ß?Ö���é������ æ6ì6Ú�Ù¡Ï�éBéBë�àÎ �MÐrí�ÒBègß�ÞY×�Ý�ß�Ó�Ø^ã��Tß��äà� iÒBå4ß*ß"!�ã�Ø�ß�ÙB×�Ú�Þjã��TØ�×Qß?ãb×QÕ ÞQß*ÖQØ[å�ÕTâ^ÚM×KØ�ÒBÙ�×Qß?ã��TÙTØ$#BÕ ß�Ö�à&%Sûªü�'}ù�ö)(�*�*,+.-��0/21�3�4652÷�ü�ÿ�ù�öQù�üäøjù�æ

ì6Ú�ÙiÕ Ú@ÞQñÏ�éBé�� àÎ 7�ÐrÛ/à�Ý�Õ ÞQÜBß�Þ?æ6Ñ�à8 à�Ô�ÕgÖp×KØ�Ù`æTÚ@Ù Ó9 �àiÝ�ß�ÙTÙTß�×Q×�à;:=<MÚ�â[Õ Ú�×QØ[ÙTÜ?>oÕ�×KÕTÞKß&å4Ø^ã�ÞKÒ@ðTÞKÒ�ã�ß�ÖKÖQÒ@ÞjÖ�@�×A�Tß�ÖYØ[å4ðTâ�ß?ÖQã�Ú�â^Ú�Þe×QÒiÒ@â�ÖQß�×�à

Ñ�ß�ã��TÙ Ø[ã�Ú�â`í�ß�ðgÒBÞY×�é@êCBKÏD���FETæ,G�Ø[ÖQÒ@Ù ÖQØ[Ù�H*ÙTØI<Bß�ÞjÖYØ�×pñ@æTìBÕTâ[ñGÏ�éBé@ê àÎ �{ÐKJ�ÞjÚ�Ø[ÜKJL� Ú�å/ègß�ÞKÖ�æiÛ&Ú�<iØ^ÓMH�ÙTÜ6Ú�Þ?æBÚ@Ù ÓM:2â[Ü@Ø[Ù�î`ß�ß@à`Ô*Ù�ß"!�ã�Ø�ß�ÙB×�Ø�å4ðTâ[ß�å4ß�ÙB×jÚM×KØ�ÒBÙ�ÒC>lÖQß�âI>pæ6Ú/Ó�ñiÙ Ú�å4Ø^ã�Ú@â�â[ñ,B ×pñið�ß�Ó

ÒBèNpß�ã�×OB}Ò@ÞKØ�ß�ÙB×Kß�Ó�â[Ú@ÙTÜ@Õ Ú@Ü@ß�è Ú@ÖQß�ÓSÒ@Ù�ðTÞKÒ�×KÒ�×pñiðgß?Ö�àeô�öK÷�øjùjùjúMûªü6ý�þ�÷pÿQP)PeôL�0��RTS UF*�æäç�ã�×QÒBègß�ÞqÏ�é�EBéTàÎ êMÐ?V�àWJL�TÒ�Xqæ08Åà�Y�Ø[å4ß�â^Öp×Kß�Ø[Ù`æ�:*à�Z�Ø�â[â[Ø[Ú@Ù`æ Ú�ÙgÓSîeà0G�ß�ègß�Þ�àL:2ÙTÜBØ�ÙTß�ß�ÞKØ�Ù Ü4Ú]ÞKØ[ÖKãqã�ÒBå4ðTØ�â[ß�Þ�ÖQñ�Öp×Kß�åà[3�/[/=/\5]P_^Sô_`

5]P=1qæ08GÚ@ÞKã��¡Ï�éFE@ê àÎa�?ÐrÝ�Ò@èbJ�å4ß�â[ØI��Ú@Ù Ó¡Û&Ú�<iØ^ÓcZ�ß�ðTðgß�â àQ d� ÚBÓ�ß�@�Ôe>¢Ú@ÖY×qØ�ÙgÖp×KÞQÕ ã�×QØ[Ò@ÙB�ÖQß�×qÖYØ[å�ÕTâ^ÚM×KÒ@Þf>oÒ@Þ�ß�giß?ã�Õ�×KØ�ÒBÙ�ð ÞQÒ@ó â�Ø[ÙTÜgà�(C*F*�h

RK5i^j�d3CkL^9/?lWmn3C5i�o52÷Mü?ÿ�ù�öQù�ü�øjù4÷Müp^�ùA Mþq��öQù"��ù�ü�'_ �ü�úQ^G÷?ú@ù��­ûªüiý�÷pÿ�52÷����W�'�ù�ö?���{þq'}ù��/þjæ�Ï?é@é�7 àÎ EMÐ&r�Ù6×Qß�âsJ�Ò@ÞKðgÒBÞKÚ�×QØ[Ò@Ù`à2ô�ù�ü�'�û�� ô�öQ÷Kts ��]û�u�Kv]ù"wMù���÷A� ù�ö0x þ&^p �ü��� ���à=r�Ù6×Qß�â`áeÞQß?ÖQÖ�æió ÞjÖp×�ß?Ó�Ø�×KØ�ÒBÙ`æ`Ï?é@é@ê àÎ éMÐrÛ�Û�rbæ�8�Ø�Ù ÙTß�Ú@ðgÒBâ�Ø^Ö�æ�8zyràQ{�3�^p|f{lûªöq'}�� ��~^p BøA��ûªü�ùKw{ù�öjþbû¢÷Müb(��+F(�ô2v�ælÏ?é�E,��àÎ�Ï��MÐrí�Ø^ã�� Ú@ÞKÓb8 à2V Õ�NpØ�å4Ò@×QÒ�Ú�Ù ÓbG�Ø[â[â�Ø^Ú�å Ý�à=J�Ú�å4ðTè�ß�â[â à�:2!�ã�Ø[ß�Ù6×]Ø�Ù ÖY×QÞKÕ ã�×QØ[Ò@Ù�â[ß�<Bß�â�ÖYØ[å�ÕTâ^ÚM×KØ�ÒBÙÅÒC>�ã�Ò@å4ðTÕT×Qß�ÞjÖ�à

lTö� Mü þ� @ø�' û¢÷�üTþ�÷pÿ&'��Tù&�ä÷?ø�û¢ù�'}�*ÿ�÷MöQ52÷����W�'�ù�ö&�gû����I �'�û¢÷Mügæ��0��ë���æ�Ï�é�EFETàÎ�Ï@Ï�Ðrá�àqÛ�Ú�<6Ø^Ó���Ú@ÞKÓTÙTß�Þ?à�G�r�y�:���X�Ø�Ù ÓTÒ�X�Ö�ß�å�ÕTâ^ÚM×KÒ@Þq�pV ÞQßD#6ÕTß�Ù6×Qâ[ñ Ô*Ö��@ß?Óe�&ÕTß?Öp×KØ�ÒBÙ Ö�à�G�ÒBÞQâ^Ó�G�Ø^Ó�ß�G¡ß�è`à

�6×Y×Kð�@u����X�X�Xqà Ú@ÖQÜBÚ@ÞKÓTðTÞQÒgà ã�Ò@åàÎ�Ï?ë{ÐrìBÒ��TÙ�Y*ß�ÙTÙTß?ÖQÖQñ�Ú�Ù Ó�Û�Ú�<6Ø^Ó�á ÚM×Q×Qß�ÞKÖQÒ@Ù`à65 ÷C�n���'}ù�ö�P�ö ý, MügûI�� C' û¢÷�ü� �ü�úcv/ù�þbû�ý�ü�|�lW� ù��� MöKú��[ MöKù"`���÷pÿ�'}�[ MöQù

3�ü�'�ù�öoÿ" BøKù�à=8�ÒBÞQÜ6Ú�Ù9ZqÚ@Õ>oå�Ú�Ù`æ� TÚ�Ù�VTÞjÚ�Ù ã�Ø[ÖKã�ÒgæäÏ�é@éF�Tà�Ô�ðTð�ß�ÙgÓ�Ø�gÔræTèiñ�ìBÚ@å]ß?Ö�íqà îlÚ@ÞQÕgÖ�àÎ�Ï��MÐrìBÒ��TÙ9Y�ß�Ù ÙTß�ÖKÖYñ�Ú@Ù Ó�Û�Ú�<6Ø^Ó�á Ú�×Y×Qß�ÞKÖQÒ@Ùlà�5 ÷C�n���'}ù�önR&öQøA��û'}ùjø�'���öKù�|_R��]�� �ü�'�û'� C' ûwMù�RL�F��öQ÷D @ø��ià;8�ÒBÞQÜ6Ú�ÙMZqÚ�Õ0>B

å�Ú�Ùlæ� �Ú�Ù�VTÞjÚ�Ùgã�Ø^ÖQã�Ò æ�ÖYß?ã�ÒBÙ Ó�ß?Ó�Ø�×QØ[Ò@Ù`æ`Ï?é@éBêTà�Ô�ðTð�ß�Ù ÓTØ�gÛ�@ Ô*Ù�Ô�â�×Qß�ÞKÙ Ú�×QØ�<@ß�×QÒ�í�rO �J�@ Ñ]�Tß)r�Ù6×Qß�âsE���g0EBêTàÎ�Ï�7�Ð&r�Ù ÖQØ[Ü@ÙTØ^Ún iÒ@â[Õ�×KØ�ÒBÙ Ö�æ�r�Ù ã@à, iÒ�>ª×�G�Ø[Ù Ó�Ò�X�Ös  ß�ÞjÖYØ[Ò@Ù�ëTà �_>oÒBÞsH�ynr¢¡�à,G¡Ò@ÞKâ[Ó)G�Ø^Ó�ß[G¡ß�èlàF�6×Y×Kð�@u����X�X�Xqà Ø[Ù ÖYØ[Ü@Ù Ø[Ú à ã�Ò@åàÎ�ÏD�{ÐrÝ�à�G à;Z�ß�ÞKÙTØ[Ü�� Ú@Ù Ú�Ù Ó Û/ài8Åà�í�Ø�×Kã�� Ø�ßBà£lW� ù.5 ô�öQ÷Ký�öA ����/ûªüiýz�� �ü6ý��� �ý6ù�à�áeÞQß�Ù6×QØ^ã�ß"B¢Y*Ú@â�â_ iÒC>ª×�X�Ú�ÞKߤ iß�ÞKØ[ß�Ö�æ

Ï?é,��E àÎ�Ï�êMÐ?8 à�îlÚ@å�æ2:*às:�à�í�Ò@×��iègß�ÞQÜgæ�Ú@Ù Ób8 à;:�àsG�ÒBâ�>pà�Ñ]� ß�ã�ÚBã��Tß�ð�ß�Þ�>oÒ@ÞKå4Ú@Ù ã�ß�Ú@Ù Ó ÒBð�×QØ[å4ØI¥?ÚM×QØ[Ò@ÙgÖrÒC>�èTâ[Ò�ã��@ß?Ó Ú�âIB

ÜBÒ@ÞKØ�×A�Tå�Ö�à�ô�öQ÷?øKùjùjúMûªüiýMþ/÷Yÿft�÷���öq'��b52÷�ü�ÿ�ù�öQù�üäøjù]÷�ü�R&öKøA��û'}ùjø�'���ö� C���W�D��� ÷Möq'äÿ�÷Mö�ô�öQ÷Qý@ö� C�K�]ûªü6ýQ�s Mü6ý��� �ý6ù�þK Mü�úPs� ù�ö� C' ûªüiý��W�{þ�'�ù���þbæTð Ú@Ü@ß?Ö�êF������7 æ�Ô*ðTÞQØ[â Ï�éBéTÏBà

Î�Ï��?Ðrì6Ú�å4ß�ÖL8GÚ@ã�î`ß?Ú�Ù�ß�×�Ú�â�àlÛqç) :[8pHrà�G¡Ò@ÞKâ[Ó¤G�Ø[ÓTß�G¡ß�è`às�B×Q×Qð�@u����X�X�Xqà ß?Ó�ÙTß�×�à Ù Ö�à ã�Úd�d¦{å�Ú@ã�â�ß?Ú�NpèW��Ó�ÒBÖQß�å/Õ`à �6×Kå]â�àÎ�Ï�EMÐrÝ�à�Ôrà8GÚ@â�â[ÒMñ@à�Ñ]�Tß�<MÚ@â�Ø^ÓTÚM×KØ�ÒBÙ�Ò�>�Ú�å/ÕTâ�×QØ[ðTÞQÒ�ã�ß�ÖKÖYÒBÞ�ÖQØ�å/ÕTâ[Ú�×QÒBÞ�à�ô�öQ÷�øjùjùjúMûªüiýMþr÷pÿ)'��Tù?(�*�*F§�%�ûªü�'�ù�öf�gû����I C' û¢÷�ü

52÷Mü?ÿ�ù�öKù�üäøKù�æTð Ú@Ü@ß?Ö�êBë����iêF�TÏ@æ6Û*ß?ã�ß�å�è�ß�ÞrÏ?é@é�� àÎ�Ï�éMÐ?y*Ò@ÞKå4Ú@Ù� �àF8GÚ�×Qâ[ÒC¨�à�3A©]^ª^�û¢ø�öQ÷�øj÷C�n���'}ù�ö]R&öQø��iû'�ùjø"'}��öQùf MüäúfR�þKþ�ù���«��u�&�� �ü6ý��� �ý6ù�|_R¬��÷�÷D­p-�ü�úBù�ö�'��Tù]�/÷�÷?úMà

áeÞQß�ÙB×KØ[ã�ßfY&Ú�â[â æ�:2ÙTÜBâ�ß�X�ÒiÒ�Ó�J�â[Ø�¨�Ö�æ�y�ß�X ìBß�ÞjÖYß�ñ@æäÏ�éBéBëTàÎ ëC�MÐKJ�Ú�×��iñz8GÚ{ñ@à?8GØ�å4Ø^ãC@qÔ�>¢ÚBÖp×rÖq���d����ÖQØ�å/ÕTâ^ÚM×QÒBÞ�à4ô�öQ÷?øKùjùjúMûªüiýMþ�÷pÿ�'��Tù�RK5i^®�d3Ck2ô[��Rn1ª(�*�U�¯M������� ÷{þbû�� ÷�ü

3�ü�'�ù�ö}�äöQù"'�ù�öjþ& �ü�ú�3�ü�'�ù�ö}�äöQù�' ûwMù�lgùjøA��ü û�°�� ùbþbæ�ì@ÕTÙ ß]Ï?é�Ed�iàÎ ë�Ï�Ð?V�à�Y�à�8Gã�8�ÚC�TÒBÙ`à2V�ç�í�Ñ�í�Ô�y±J�áLH ðgß�ÞO>oÒBÞQå�Ú�Ùgã�ßqÚ�Ù Ú@â�ñ�ÖQØ[Ö�à=�� C� öQù�üäøjùf� ûw{ù�öq�4÷�öQù&�� F«j÷Mö� C'}÷�öbû¢ùbþbælÏ?é,�@ë�àÎ ë@ë{Ð?8 ì à�á=� Ø�â[Ø�ðlà�á�ß�Þ�>oÒ@ÞKå�Ú�Ù ã�ß�Ø^ÖQÖQÕTß�Ö[>oÒ@Þ�×A�TßfEFETÏBÏ��rí�rO �J å4Ø[ã�ÞQÒBðTÞQÒ�ã�ß�ÖKÖYÒBÞ�à�ô�öK÷�øjùjùjúMûªü6ý�þr÷pÿ�3�/=/[/�5_P_^Sôf5]P=1qæ

ð Ú@Ü@ß?Ö&Ï?ê�����Ï�êFETæ,VTß�è ÞQÕ Ú@ÞQñ�Ï�é@é6ë�à

ë@ë

Page 23: 123! 45 !#76 8 :9 ;=A@CBEDGFIHKJ >L

² ³C´�µ?¶�· ¸�·�¹dº�»�¼A½�·_¾_¿FÀ�½0Á)º�Á�º�Â�ÃA»IÁDÄ�·[ÅKÆiÇÈÆ2ÉCÊnË�ÌÍ�ÎÏdÐQÑWÌÒqÓ�Ô�Õ�Öq×�Ø�ÙWÚ�´,Ûq×~Ø�ÜFÝF³0·² ³�ÙCµ?Þ�ÂFߤ¹dÂFÄ�»}àÀC·�á�âdã�¿�ÄAÀ"ÂFä�ÁFå2¶¬¼AÂdÂ�æWç�Â�Ã]ä0ÃAÂ�èFÃA¿�ºeé»�ÃAÁ�Àq¼A»Iã�è�·=ê_Ò�ÉDëAÔ�Ô�ì�ÎÏdÐ�Ö�ÉOí�Í�î0ÔfÅKÆiÇïÑð�ñ[ê=ò�Å�ó�ôCõFõCöcÆ2ÉCÏ�í"Ô�Òq÷

Ô�ÏWë�Ô�ÉCÏ�ê_ÒAÉ�Ð�Ò�ø�Ê�Ê�ÎÏ,ÐQò�øCÏ,Ð�Ì�ø�Ð,Ô�ù�Ô"Ö�Î�Ð�Ï.øCÏWìKðqÊ�ËWúIÔ�Ê�Ô�Ï�Í¢ø�Í}Î�É�Ï�×�¸Fû0ã0ÁQØ�ÜFÜF³0·² ³�ü�µ?áK·=¶?·[¹dâdßFÁ�ÄQ¿Cã�éþýf·=¶?·=ÿz¿�æIæ�Â�â�·��]½0Á�éÁ�Ä�»�è�ãþÂ�çf¿�ãoÁ��QÀ�»IÁ�ã,¼QÄ�»�º�û0æ$¿�¼AÂ�Ã�ç�Â�Ã�¼�½�Á�äWÁ�ã,¼A»Iû0º ä0ÃAÂcä0ÃAÂÀ"ÁDÄ�Ä�Â�ÃD·

ê_ÒAÉ�ë�Ô�Ô�ì�ÎÏ,ÐCÖ�É�í&Í�î0Ô�ôCõFõ����9ÎÏ�Í�Ô�Ò)Ñ�ÎÊ�ÌúIøCÍ�Î�ÉCÏþÆ=É�ÏDí"Ô"Ò�Ô�ÏWë�Ô�×�á�Á�À"Á�º�WÁ�Ã?ØDÜ�Ü�0·² ³��µ� [Ã�»$À��i¿Cû�À�ßW·��&ÅfÑ�Ç ô���������ÉCú í��[ø�ÒAÔ?ÅfÖ�Ö�Ô"Ê��"ú�Ô"Ò=í"ÉCÒ&Íî�Ô�ð��]ÇTê�Ô�Ò�Ö�É�Ï�ø�ú[Æ=ÉCÊnË�ÌÍ�Ô�Òq·��cÂFæ�ç �]¿CÃAÁ�×~ØDÜ�Ý,ü·² ³�!Dµ?¸�·� n·�"2Á�Á�ã�Ä�¼AÃA¿&¿�ã�é�Þ&·F¸�·�#�Â$��æIÁ�Ã�·�ÿ&%('��)åF¶ ç�ÃAÂ�ã,¼=Á�ã�é�ç�Â�Ã=Á��QÀ�»IÁ�ã,¼LÄO»�º�û�æ�¿C¼�»�Â�ã�ÂCç�Ä�½�¿CÃAÁ�é*)�º�Á�º�Â�ÃAâ?ºKû0æ�¼A»Iä�Ã�Â�)

À�Á�ÄAÄOÂFÃAÄ�·�ê_Ò�ÉDëAÔ�Ô�ì�ÎÏdÐ�ÖQÉ�íKÍî�ÔKÑ�Ô�ë�É�Ï�ìKð"Ï�Í¢Ô"ÒqÏ�ø�Í}Î�É�ÏWøCú+��ÉCÒ-,�Ö�î0É�Ë É�Ï.ÇpÉ�ìFÔ"ú�ÎÏ,ÐpøCÏWìQÅ�ÏWøCúuÕ�ÖqÎ$Ö�.�øCÏWì9Ñ�ÎÊ�ÌúIøCÍ�Î�ÉCÏÉOí�Æ2ÉCÊnË�ÌÍ�Ô�Ò�ø�Ï�ì0/�Ô�úIÔ�ëAÉCÊKÊ�ÌÏ�Î�ë�øCÍ�Î�ÉCÏzÑ�Õ�ÖqÍ¢Ô"ÊKÖq×ä�¿CèFÁ�Än³�10Ø320³�1*!d×F¸,¿Cãdû�¿�Ã�â�ØDÜ�Ü�Ù�·

² ³CÝ�µ?¸FÂ�½0ã4#_·5��¿Cß�Á�Ã�æ�â�·LÇ�Î�ë"ÒAÉ�ë�É�Ê�ËWÌÍ¢Ô�ÒfÅ�Ò�ë�îdÎÍ¢ÔAë�Í}ÌÒ�Ô�øCÏWìKê]Ò�É�Ð�Ò�øCÊKÊ�ÎÏ,Ð�·[¸�·6��»Iæ�Á�âF×7'nÁ8�:9=ÂFÃ�ß�×~Ø�ÜFÝ�Ü�·² ³CÜ�µ?ÿb·*�.Â�æIç�Á�·<;?Î�ÐDî¤ê�Ô"Ò�í"ÉCÒqÊ�øCÏWë�Ô¤Æ2ÉCÊnË�ÎúIÔ�Ò�Ö2í"ÉCÒ�ênø�Ò�øCúúIÔ"ú[Æ2ÉCÊnË�ÌÍ�ÎÏdÐC·;¶�é�é»�Ä�Â�ã5)=�.Á�Ä�æIÁ�â�>=û5�0æ�»$ÄO½0»�ã0èQ¾LÂ�º�ä�¿CãdâF×

? Ã�ÄO¼]ÁDé»I¼�»�Â�ã�×�ØDÜ�Ü�0·

³C´

Page 24: 123! 45 !#76 8 :9 ;=A@CBEDGFIHKJ >L

@BA&A0CED4FHG3I0JK@BF&FHG�LMG�NOD4P�QSRTGVUXW4Y�C[Z

JMP

execute(Cpu&);

IPCPU

read(Cpu&);

offset

readReg(IP);

addr

read();

writeReg(IP, addr+offset);

addr

write(addr+offset);

SourceOperand

\^]`_�a5b�c�d8e5fhg�i6j(clk3monqp�m-c8b�r�k3m-]`s�p4t�]`r�_�b�r�uwv s�bxm�y5czcV{6clkVa6m�]|s�p�s�v^r�}�~H��]|p7��m-b�a7kVm-]`s�p��

�$�

Page 25: 123! 45 !#76 8 :9 ;=A@CBEDGFIHKJ >L

PUSH DataStoreMemoryBusBiu

execute(Cpu&);

SourceOperandSPCpu

readReg(SP);

read();

addr

addr

writeReg(SP,addr-2);

write(addr-2);

dataWord

read(CPU&);

storeDataWord(addr-2, dataWord);

storeDataWord(addr-2, dataWord);

storeDataByte(addr-1, highByte);

storeDataByte(addr-2, lowByte);

writeDataByte(addr-2, lowByte);

writeDataByte(addr-1, highByte);

write(addr-1, highByte);

write(addr-2, lowByte);

�^�|���5���X�����h���6�(�l�3�o�q���-�������V�-�`���4�E�����������w� ���x���5�z�V�6�8���6�-�`���4���^���h� �6¡¢�|�¤£(���-�7�V�-�`����¥

¦�§

Page 26: 123! 45 !#76 8 :9 ;=A@CBEDGFIHKJ >L

RegOp CPU AX

write(Cpu&, value);

writeReg(AX, value);

write(value);

¨^©`ª�«5¬�­�®l¯5°²±�³5´(­8µ3¶o·q¸�¶-­8¬�¹�µ3¶�©|º�¸�»�©`¹�ª�¬�¹�¼w½ º�¬o¾o¬-©|¶-©`¸5ª�¶-º�¹X¬�­�ª�©�¿�¶-­�¬xº�À¤­8¬�¹�¸7ÁÃÂ�·q¸Ä¶-Å5©�¿o­VÆ5¹�¼XÀ7Ç|­zÈ[ÉOÂ

CpuMemOp

read(Cpu&);

Memory DataStoreBusBiuBX

readReg(BX);

read();

addr

addr

fetchDataWord(addr);

fetchDataWord(addr);

highByte

highByte

highByte

lowByte

lowByte

fullWord

fullWord

fullWord

read(addr);

lowByte

readDataByte(addr);

fetchDataByte(addr);

read(addr+1);

readDataByte(addr+1);

fetchDataByte(addr+1);

¨^©|ª�«5¬�­X®lÊ5°h±�³6´(­lµ3¶o·q¸�¶-­�¬�¹�µV¶-©`º�¸4»E©�¹�ª�¬�¹�¼w½ º�¬o¬�­8¹�Á6©|¸7ªX¹4®l˳5©|¶[¼�­�¼�º�¬�Ìͺ�À¤­8¬�¹�¸7ÁÃÂM·q¸�¶-Å5©�¿o­VÆ5¹�¼XÀ7Ç|­�Î ÏÐÉEÑ=Â

¯�Ë

Page 27: 123! 45 !#76 8 :9 ;=A@CBEDGFIHKJ >L

Biu Bus Memory CodeStore IP Inst

trace();

execute(Cpu&);

write(addr+len);

len

getLength();

addr

Inst*

Inst*

Inst*

Inst*

if Inst* == NULL?

decodeInstruction(addr);

Inst*

read(addr);

readInstruction(addr);

fetchInstruction(addr);

fetchInstruction(addr);

read();

read();

addr

DebuggingCpu

Ò^Ó|Ô�Õ5Ö�×XØ8Ù7ÚhÛ�Ü6Ý(×lÞ3ßoàqá�ß-×�Ö�â�ÞVß-Ó`ã�á4äEÓ�â�Ô�Ö�â�åwæ ã�Ö[â�á�Ó`á7ç�ß-Ö�Õ7Þ3ß�Ó|ã�áèß�Ö�â�ÞV×�é

ê�ë

Page 28: 123! 45 !#76 8 :9 ;=A@CBEDGFIHKJ >L

ì^í|î�ï5ð�ñXòôó6õ�öE÷-í`ø5î�ù-ú5ñ�û5ñ�ü5ï5î�î�ñ8ðýí`ø�ù-ñ8ð�þ ÿ � ñ��

���