CSE220 – Spring 2016 – HW4
����������
�����
�������������
��������
���
��
�������������
�
��� ����� �
��
�������� ��� ������
������������ ��� ���!�
� �
��
�”�#�$��
��� �� ��������
� ������������� �� �%�� ������ %�%$�&������� � ������
����������!�
� �
��
�������� �
��
�
��
������%�!
�%������ ����$�’��
������������������ ����$�&���� ���
��%��������������� �
���� ���
��� ����� �
��
���������������������
%�����
%�����(�� ���! ��� ��%�������� ����
(�!������������
�$
�’�
)������������%����
�����������!�
� �
���
%������ ���������$�*� �� ��
����
��+� ����
���! ��� ����� �
��
����� �� ����������%�,-���� �%�� ��� ��
�������$�&���
����� ����� ������
����������� ���� ���� ����
�”�#�������(���������%� �����
���� ���������$�
�.�������������������!������”�#����� ������
%� ���
�� �
��
� �
�$�
�’/�0/*���(� ����! ���� �������!�
� �
��� ������� ! �! �%�!
�%$�
�&��������%%��������!�
� �
���
%������� ���������� �������
� ������
�����
��� �
��
�$�
�&�����������
�����
������%����������”#$%�1�2����
��� ��� ���!�
� �
�� �
�(�
�����% ! ! ������� %�
� !�$�&��������%���������”.3��%�(�������
%�������������! �����
!�
� �
��
%���
%�
����!��� ���� �������� �
��� ������ �
�
�
���
$
�&��’��(!�)� ��� !�*�����+����!�����(�� �,�+
–
#�
��!�� !�,�����+����! !�)� �.�++���(��,�� �/� ��
)’�0��)-
4���
��������%
�’��
���%����� ������� ����������! ����# �55�$�
*������ ���(����������-�������� ��! ����
��%% � �
�������� �
�! �������������!��
�� ����� �
��
�$
.���!�
� �
�� ���!����������� �
��
�������%�(��
� �����
$�*� �� ������! ����� �����
1 of 20
� �����(� ��!������%
�$
�.�����������! � �����
�
����� ����
������������
�����
%� %$
��
�
��������
����
����������
�� ������������� !
6�
��! ����
�”�#��.����(�����������
%��
“�������� %������ �����!������
������%
����� �
����
%� ���
��! ���$�’��� �����������
(����$
( ++
� ��
( ++
���*�� �/ ��!����, +��
���
�7 8���9�! ��
����
8���9�! �����
8���9���%�
8���9�! ���%�� � ����
�� �� �: 8���9�! ���%�� � �����
8���9��%%������! �(�! !���
8���9���;�� 5���!
(�! !��
8���9�
��(����! �(����
�� ���
���� �
8���9�! ���%�� � ����
�<���������!�������� !����� � ��(��������������� ������ ���%$ 3� ����!�= ����,/>
�
��� ����� �
��
�������� ���(���;�� ��%���������� ���! ���$�= ����
������(����
%������������
����������������
������������% ! !���
�������
�
�����
������� ���?�������#����
$�@��
����
��������”������
� ���������
���! �������� ���� �������� ����A��� �����7B�� ��������
��
�
�����$
*� ��
������ ���
��
������! ���%�� � ����$�*� ��
������ ����( ���� ��� ����
�(������/�,��
� ��
�
%� �����%����� ��������! ����
�����! ���������$��! �����! ���%����
����; ����������%��
�������
���� �� �
��������
�����! �������
����������
��������! ������������ ����� ���(����
���� ��
2 of 20
http://courses.missouristate.edu/kenvollmar/mars/help/syscallhelp.html
http://en.wikipedia.org/wiki/File_descriptor
��(��$�/
�������
;�� ����������������������7���� ���! ������������
��
���� �”! � �
�”!#�” ���
%� �”!�$$ ��� ���������� ���%�� �������! ���%�� � ������ % �� & ���
%� ‘ $
*�� ������!������������ ������
���
�������� �
���������! ���%�� � ������� ��� �������
%
���������
� �
�%��,/���������(��%�!����$
/
�������(��
������ %�! ���%�� � ����������
�;����
�����������%�%�� ��� ��������%������ �����
����! ���%�� � ����$�*������������ �����)�+
�.)�1�.�!&�*
!� C������������ ����������
�
�
�����! �.����� ���� ������
�����������
������ $
.! ������������%�
����
������! ������������ � ���������! ���� ������� ()� � �������� ���
A��� �����
B$�*� �� ��
��% (��� ������
�����
���
������ ���*� �������� ����A��� �����:B$�*��
�� ���������� ������ ����
� �� ��� ����������������%��! �%������ �
�����(���� ���
��
���,/� �
�
��;��
� ��������� �
$�@��
����� �������� ()� � �������� �����
��������
�! ���%�� � �����
�
��%������ �
�����(���� ���
��������! ���� ���(���� ���
$��! �����%�
)�� ���������! ���������� ���
���� ( � �������� ������(����������� ��� ��� �
��
��
���������! �����%���������������������
��������� ��%�����������������(�! !��
������������$�.
������ ������ ���
��� ���
�������! ��
%�� � ����� ���������������(���
�(�����������
����������! ������
�
��������������(� ����
�� ���� �
������� ������
$
#��������”�
��������
&���� ���
��%������% !���
%�%�!
���������
������ �����
�����
��� �!�
� �
�
�
�����
������������!�
� �
��
�#�������� $
.������������������������ �����������������%��� �������� �����
������
��� �!�
� �
���
���������!�
� �
����� ������
��
� �����
$�&���� ���(�������
� (���!��� ���
�����
!�
� �
��� �������������� ����������
����
%�����
�����������������$�&��������%�(� �%
�����������������
����������������� ��������#�������� $
�.�������
%��������� ���23� �(����
%
��
�
�����
$�&���� ����
�����(� �
�����
$
#�������� ��!
�
� %������� �����
������� ���������!�
� �
� ����%� �*�+ $�*� ��!�
� �
��� ����
���������
! �������(����$�.����
� �
�%�(�!��������� �
���� ������� ���
����������! ����
������(��
3 of 20
��
�����$�*���(�! !�������� ��(�
���� ���
� ��� �����
��������%����(�����
�”�#�$�*����
(���������� ������� ���
������! ��$�*�����
���%���!������� �
��
������(������
����%�(�����
��%���� �
���������7��( ���������
��� �
��! ������
�������������.������������
��� �
��!
�����
��(��$
*� ��!�
� �
�� ����� � 5��������� ��(� ����� �� ���������!� ���� ��
���!�������������
����
� ���� ��$�&��������%���������� �
%�����
%�����
%���������� � 5��������� ������$
#������
��������� �*�+ � ��23� ����� ��� ���!�
� �
$
,–
�-�”�� �+��(*�������*� �*�����. ������ ��*�*�����+�����
����*����
+�)��
�-����������*�/���*�����*�� �*�/���*��*���))�������**���*��*���
+�)��
�-��������+�)���� (���*���0�)���� (���*����+�*�����*��*�+�)���
1� �
��2�)���0!3
�-,
����
���
��
�
�1
�����*�/���*�����*�4�
���+�)���� (���*��35
*���!�
� �
�� ������������� ��*�/���*�����*� �������
�������7��( ��
�����$
*���������
�8��� ������
���������(���� ���
��������! �������
�.��������
�$�
&��������%���
%���(������� � ����
%�
���� ���
��(���$�
&����!�
� �
������%�����������������! ���%�� � ����� ����� %�����
����������
! ��� �������%�����
��
%��� ��(���A!���������B$�&���� ������
��� �
��! �����!�
� �
�����%�23� � ���������! ����(�!���������
�$�&������
������������� � ��������
! ������ �������; �
����
$�
�*� ��!�
� �
�� ����
����� �������
��(����������! ��$�0���;������� �������
�������
���� ������� %��! ��������.������������
��� �
��! ����������������%�(���� ���
�������
! ��$
*������������%�������������� %�%���������%�� �%��!������� �*�+ �!�
� �
�������
������
��
“�#�>
��6�%�� ���*�/���*�����*��*��0�)��
��6�&�� �*���+�)���� (���*���*�����*��*��1� �
� �2�)���0!3
�*�+�
��� ��*��)������(���*���+���*�����
�����+���/�* ����*�����
���
�����
�����+���/�* �7�%
��� +���
����� ���/�*�2��
�������*���+)�/��������/� *���*������(�*���*�� ���/�*�2�
4 of 20
jwong
����������*�����/�*�2����
������ �*�2��
��
������
�����!�2����6�%��8�&%�
�������2��*���(��*��* ��+�6�%���*��*���9��*���*
�����”����*�����
�������+��
�*�����2� �����������
�)�����*�*��*���
���������� (���(����(*��
�������������
����*��� *�(��+���������”������ *����*����8*��*��*���
��������������
����� �(��
��*�*���(���*���+�����
�����+���/�*
�����:�
����(��*��*����+����)��)���
������)�1�6�%�;�%�3
��
����+���/�*�2��+)�/�� �*���������
�������������
����*��� *�(��+��������8*������ *����*���<=<�
��������(����(*����
����� �(��
��*�*�����
�����+���/�* �(���*���
����� ��*��)������(���*���*������
��
������)��(���*���>���
�����+���/�* �
�����?��+��
� 8 *�
�(�))�*�����*�� 8 (�))�&@
�����6�%�� �*���0!
�����6�&�� �*�������� ��+�*�����++���*�����*��� *�(������*������
�������������(� �
�����6�’�� ���
�����+��8*� �*�����*�����(��� �#��
�����
�����?����8*���++� *�(���1���������6 �4�6 �4�&3
����� �(��
��*�(���*��
��
�����:�
����(��*��*����+�*�� ����)��)���
��
�����*����*��(�))��
�;������>
6�%�7�&’A��>=�)��6�%4�&’A
+�)��(��*��* ��B&’AB
6�%�7�=&’A��>=�)��6�%4�=&’A
+�)��(��*��* ��B=&’AB
5 of 20
#��������*�%%��2����
0����������������!
���%����� �*�+ �!�
� �
�����)���� �������! ������ ��� ���!�
� �
$
*����(-� ���! �����*�%%��2����4���� ������
%����� �����
��(����! �(������+�����������
������ /��) ��������� ����������%��! �� ��$�&����! � �
%�� ����������
��(����! ����! !�%
(���������� ��� ���� ���*��) $�*�����������������������������>� ��(��
��* ��
%� � $�’��
�
�� ��������! �����������������>�A�B�����!����
%��� � ���! ���������! � �
%� ��(��
��* �����
(����C����A(B� ! �����������
����
�
��(����! �(������� ��������! � �
%��;� �������! ��! ������(����$
&�������������
������������� �
��;� ���� /��) �(������! ������������ � �������
���%�����
�
$
*���*�%%��(���������� �������������!�������>
�@���%%���
���������
�������� �� �%���������
$�&���”6�*� ������
�����������
���� �
�� �����
�����$
,–
-�”���8������C�
����(�� �2��+��(*�����”���+��(*������*��� ������
�������
-�#�������(�*��/�*��*�*���/��)��� ��(���2����D�����*����� ��
-�
-�����������*��)���
�����+����� �/�2����8�8����+������
-��������/��)�”����� �������
�����+�����
-����������(��
��*���
�����+����� �*��� ��8����+������+��
-����������”�����
�����+� *�� �)�+*����*���/�
�
-�
-�����������*�&��+�*���/��)�� ��**�����)���%��*����� ���
-,
���
������
��
��������1
������*��)4�
���/��)4�
�����(��
��*4�
����3
E
���
��1���*��)�77�/��)3
������������&5
���� ���
��1��77�%3
������������%5
���� ���
��1���� 1���*��)F��(��
��*4�/��)4���(��
��*4��=&3�77�&3
������������&5
���� ���
��11���*��)�G�’�77�%3�HH�1���� 1���*��),’4�/��)4�
��(��
��*4��=&3�77�&33
������������&5
6 of 20
���� ��
������������%5
I
�
���%��������� ���� ���%�(���
���
%������� !��������� ��� ��� ������
��� �
����� ���������
������ ��� ��� ������
%����������
�������������! ���� ��
������!�
� �
$�@��������%%�%��
���������� +� ���������(����!�
� �
� �����
%������D�32/��<&��%%�%���
���������
�����
���� �%����� �����������������������%���
��
!����� �
��������! ��$�@��� ��������� ��D�32/��
!������
�������������
���� � �
���! �������������������� �������� �������! ���������$
*���!�����
�� �%�������%�(�����
�����%����"�#�������(�����
�����$
,--
-�"���8������C�
����(�� �2��+��(*�����"���+��(*������*��� ������
�������
-�#�������(�*��/�*��*�*���/��)��� ��(���2����D�����*����� ��
-�
-�����������*��)���
�����+����� �/�2����8�8����+������
-��������/��)�"����� �������
�����+�����
-����������(��
��*���
�����+����� �*��� ��8����+������+��
-����������"�����
�����+� *�� �)�+*����*���/�
�
-��������+��0�)���� (���*����+��������+�)��*�����*��*�
-�
-�����������*�&��+�*���/��)�� ��**�����)���%��*����� ���
-,
���
������
��
��������1
������*��)4�
���/��)4�
�����(��
��*4�
����4�
���+�3
E
�����*�1+�4�B���� 1�B4�J35
���*�+1���*��)4�+�35
�����*�1+�4�B4�B4�'35
���*�+1/��)4�+�35
�����*�1+�4�B4�B4�'35
���*�+1��(��
��*4�+�35
�����*�1+�4�B4�B4�'35
���*�+1�4�+�35
�����*�1+�4�B�3K�B4�A35�
��
��1���*��)�77�/��)3E
��������*�1+�4�B��*�����B4�L35
������*�+1&4�+�35
��������*�1+�4�BK�B4�&35
������������&5
��I
7 of 20
��� ���
��1��77�%3E
��������*�1+�4�B��*�����B4�L35
������*�+1%4�+�35
��������*�1+�4�BK�B4�&35
������������%5
��I
��� ���
��1���� 1���*��)F��(��
��*4�/��)4���(��
��*4��=&3�77�&3E
��������*�1+�4�B��*�����B4�L35
������*�+1&4�+�35
��������*�1+�4�BK�B4�&35
������������&5
��I
��� ���
��11���*��)�G�'�77�%3�HH�1���� 1���*��),'4�/��)4�
��(��
��*4��=&3�77�&33E
��������*�1+�4�B��*�����B4�L35
������*�+1&4�+�35
��������*�1+�4�BK�B4�&35
������������&5
��I
��� ��E
��������*�1+�4�B��*�����B4�L35
������*�+1%4�+�35
��������*�1+�4�BK�B4�&35
������������%5
��I
I
.��(�!���������! ! ���������
�� �������%��
�������� ����� ���� �%����������!� �
�����
�"�#�������(�������
��������!����������
����� �����$�*��!�� ������! ! ��
������
�������
��%�������%� ���! ! �������� ��
�������� ������! ������ �� ��A�;>� )�
6*%4�%16 �3 B$�
��� ������ ������!�
� �
)��A�!�
� �
������ ����� ���� B������
� ( � ��������������
! ! ���������
���
���������� �$�*��� ������� ��������(�������
� (���!���������
�����
��� ���! ��������!�
� �
� ���$�
&����!�
� �
������%�����������������! ���%�� � ����� ��4#%5������
����������
! ��� �������%�����
��
%��� ��(���A!���������B$�&���� ������
��� �
��! �����!�
� �
�����%�23� � ���������! ����(�!���������
�$�&������
������������� � ��������
! ������ �������; �
����
$�
*����� ���!�
� �
��(���� ����!�
� �
���� ��(���
���������������
����
�����$
*���! ����������
�� ������! ���%�� � ����$�*����� �
%�������
�� ���������
������� ��
�������! ��$�*��������������
�� ������
��(����! �(���������� ��$�&���� ��� ������
�
�� ����
�������� ���������� ����
�”���$�
� 1�� ����
)��.��!���6 (!+
�.& !�� � ! !��� *),��!)�!&��’ �+�-�5′ �
)���)��)!
8 of 20
http://linux.die.net/man/2/write
&����!&� �. ����/7��)��6(��!�)� �.�++�*��� ��-
“6 ��+�����
=��������
��������� ����(����A�EE��E7��:7��� �B$
�������! ���������>
���� 1�MM4�MA4�@A4���3
���� 1�&@’4�MA4�@A4�A�3
���� 1�’%@4�MA4�@A4�’�3
���� 1�’@L4�MA4�@A4�&�3
���� 1�A&&4�MA4�@A4�%�3
��*�����%
���� 1�&’M4�MA4�@A4�%�3
��*�����%
��*�����%
��*�����%
���� 1�JN4�MA4�@A4�’�3
���� 1�&’M4�MA4�@A4�&�3
���� 1�&L’4�MA4�@A4�%�3
��*�����%
��*�����%
���� 1�AL4�MA4�@A4�&�3
���� 1�M&4�MA4�@A4�%�3
��*�����%
���� 1�&M4�MA4�@A4�%�3
��*�����%
��*�����%
��*�����%
��*�����%
��*�����%
“6 ��+��
��
=��������
��������� ����(����A�EE����E��:7��� �B
�������! ���������>
���� 1�MM4�&’M4�@A4���3
���� 1�&@’4�&’M4�@A4�A�3
���� 1�’%@4�&’M4�@A4�’�3
���� 1�’@L4�&’M4�@A4�&�3
���� 1�A&&4�&’M4�@A4�%�3
��*�����%
���� 1�&’M4�&’M4�@A4�%�3
9 of 20
��*�����&
��*�����&
��*�����&
��*�����&
��*�����&
#����7���=
%�”�-�� ����
�����
.
��������! ���� � ���
������� ���� %�����������%��
�
�,��-�� ��������
�� ! ���������
����!
�! ����������
���������������$�4 ��
��
�
������������������ ��� ������
����!�
� �
������� ��
%�����
�� ! ������� ����%��
�
�������
�$��! ������� ����%��
�
�������
��������
�����
�����
�$�/����� ���������
���� ! ������� �
)����%��
�
�������
�$
*���������� ��������������� � ���
�������
� ����
%��� =& �� ���
% ���������
%��! ����������$�’�
���
��%������ =& �
����� �� ���� �
���! �������
�����! ����������$���� ���
������ �
! �������
������������ ��%������
%��! ����������$�.����������� ������������
�����! �������������
��A
��
��%
��������B$
&�������� ������
����������!�
� �
��(����$�@����������� %�%���������%�� �%��!������$
.��
����� �������!�
� �
���(���������� ���(���� �
�������������
����
�! ��$�*����
!�
� �
��� �������������������! �������(��
����
�%� ���� ���$
*���! ����!�
� �
����� ����� ��� �� ��(�� �2�0�����O���*8�)�
��* ��� ���� ��� ����
������������
��(����! �� ����
����! ��� �
% %���������
�$
,–
-�”�� �+��(*������*��� �*����((�����(� ��+�(������*�����*���
��*�/�������8�
–
-������������*�����8� �*�/�������8
-��������(������*�� �*�/�������/� ���(����+������*�������8
-�������� *��* ���P��*��*�����P��+�*�������8
-����������� ���P���������P��+�*�������8
-��������+��0�)���� (���*����+��������+�)�
-��
-�����������*�*�����
�����+�*�
� �(������*���((���������*���
����8��
-,
���
������
��
���������
���
�����
�
��� �����1
���QR�����84�
���(������*�4�
��� *��* ���P4�
������ ���P4�
���+�3E
10 of 20
��
�������8�)��/*��7�1��� ���P�=� *��* ���P3�F�&5
�����*�1+�4�B��(�� �2�0�����O���*8�)�
��*1�B4�A%35
���*�+1 *��* ���P4�+�35
�����*�1+�4�B4�B4�’35
���*�+1��� ���P4�+�35
�����*�1+�4�B4�B4�’35
���*�+1����8�)��/*�4�+�35
�����*�1+�4�B�3K�B4�A35
��
�1����8�)��/*��77�&3E
����
�1(������*��77�����8Q *��* ���PR3E
���������*�1+�4�B��*�����B4�L35
�������*�+1&4�+�35
���������*�1+�4�BK�B4�&35
�������������&5��
����I
����� ��E
���������*�1+�4�B��*�����B4�L35
�������*�+1%4�+�35
���������*�1+�4�BK�B4�&35
�������������%5
����I
��I
��� ��E
����
���
���7�����8�)��/*��,�’5
����
���S
�� �
�7�%5
����
���$
�� �
�7�%5
����S
�� �
�7���(�� �2�0�����O���*8�)�
��*1����84�(������*�4�
���������������� *��* ���P4�1 *��* ���P�F�
���=&335
����$
�� �
�7���(�� �2�0�����O���*8�)�
��*1����84�(������*�4�
����������������1 *��* ���P�F�
��34���� ���P35
�������*�1+�4�B��*�����B4�L35
�����*�+11S
�� �
�F�$
�� �
34�+�35
�������*�1+�4�BK�B4�&35
�����������1S
�� �
�F�$
�� �
35
��I
I
.��(�!���������! ! ���������
�� �������%��
�������� ��%����������!� �������
�”�#�
�����(�������
��������!����������
����� �����$�*��!�� ������! ! ���������
������
��%�������%� ���! ! �������� ��
�������� ������! ������ �� ��A�;>� )��6*%4�%16 �3 B$�
11 of 20
��� ������!�
� �
� �����)��A�!�
� �
������ ����
��(�� �2�0�����O���*8�)�
��* B������
� ( � ��������� ���
%������������! ! ��
������
���
,! ����������� �$�
&�������� ��
� *��* ���P ��
%� ��� ���P ����
% ���������������
%��
%
�
%�;��! �����������������������
�������
����������� �
��! ����������$�&��������
%�;
�������������� ������� � �
�! �������������
���%%������� �� ��� ��
�
����*�����8 $�6���5����(���%�
%�;
�$���� �����
%��%�
���$�
“��������������
%�����
%��������
%�;�
����
�
��������������
%��������
�
��
����! �����
�����������$�
&����!�
� �
������%�����������������! ���%�� � ����� ����� %�����
����������
! ��� �������%�����
��
%��
%��� ��(���A!���������B$�&���� ������
��� �
��! ����
!�
� �
������%�23� � ���������! ����(�!���������
�$�&������
�������������
���������! ������ �������; �
����
$�
.��
�������� ���!�
� �
��(���� ����!�
� �
���� ��(���
���������������
�
��
�����$�*���! ����������
�� ������! ���%�� � ����$�*����� �
%�������
�� �����
���
������� ����������! ��$�*��������������
�� ������
��(����! �(���������� ��$�&��
� ��� ������
���� ����
�������� ���������� ����
�”���$
@��
��%���� ��������������������������� (��� �
% %�����
����� ����*�����8 $�*��������� ��
����� �����!�
� �
� ����%� �*���*�.������*� $�*� ��!�
� �
�� ������������������ �
%�;�
�����
����������������
���� �������
���� �
% %���$��! ��������� ���
��������(�����
��-�� ��������������
�� �������
�%$
,–
-�”�� �+��(*�����*���*� �*���/��*���(������*���)�
��* �����(�))�
*��
-���(�� �2�0�����O���*8�)�
��*�+��(*����� +���
�O���*8�� �+�����
�*�
-���*��� �*����)�
��*��=&��+�*������ �<*���
�O���*8��)�
��*��
-�
-������������*�����8�����8��+��� �*�2����*�/�� �
-��������+��0�)���� (���*����+��������+�)��*�����*��*��
-�
-�����������*�"����)�
��*�*��*�� �*���
�O���*8��=&��+����
�O���*8�
-,
���
������
��
���
����������
�����1
���QR�����*�����84�
���+�3
E
����
�����������P�7�%5
����
��� *��*�����P�7�%5
������
�1����*�����8Q��������PR�T7�=&3E
����������������PFF5
����I
12 of 20
http://linux.die.net/man/2/write
������������P==5
�����
�1
�����7�%5���>7���������P5��FF3E
�����������*�1+�4�B(������*���B4�&&35
���������*�+1����*�����8Q�R4�+�35
�����������*�1+�4�BK�B4�&35
��������
���(������*�� �
�7���(�� �2�0�����O���*8�)�
��*
������������1����*�����84�����*�����8Q�R4� *��*�����P4���������P4
�������������+�35
��������
��1(������*�� �
�;7�11��������P�F�&3,�’33E
���������������*�1+�4�B
�O���*8��)�
��*��B4�&L35
�������������*�+1����*�����8Q�R4�+�35
���������������*�1+�4�BK�B4�&35
�����������������������*�����8Q�R5
��������I
����I
�������*�1+�4�B
�O���*8��)�
��*��B4�&L35
�����*�+1=&4�+�35
�������*�1+�4�BK�B4�&35
�����������=&5
I
0���� ����
��
% ���������������
%��! ���������������(��
���� ��%$�0���� ����
�
��
���������! �������
�����! ����������$�
&��� �
����������������������������
�����! �������������
�������
�$�
&����!�
� �
������%�����������������! ���%�� � ����� ����� %�����
����������
! ��� �������%�����
��
%��
%��� ��(���A!���������B$�&���� ������
��� �
��! ����
!�
� �
������%�23� � ���������! ����(�!���������
�$�&������
�������������
���������! ������ �������; �
����
$�
*����� ���!�
� �
��(���� ����!�
� �
���� ��(���
���������������
����
�����$
*���! ����������
�� ������! ���%�� � ����$�*����� �
%�������
�� ���������
������� ��
�������! ��$�*��������������
�� ������
��(����! �(���������� ��$�&���� ��� ������
�
�� ����
�������� ���������� ����
�”���$�
� 1�� ����
)��.��!���6 (!+
�.& !�� � ! !��� *),��!)�!&��’ �+�-�5′ �
)���)��)!
&����!&� �. ����/7��)��6(��!�)� �.�++�*��� ��-
“6 ��+���
=������
���������
� �� 5��
���F������9�G���������� ������ ��� ��� HC
�������! ���������>
13 of 20
http://linux.die.net/man/2/write
jwong
(������*���&
��(�� �2�0�����O���*8�)�
��*1�%4�J4�L�3
��(�� �2�0�����O���*8�)�
��*1�%4�A4���3
��(�� �2�0�����O���*8�)�
��*1�%4�&4�’�3
��(�� �2�0�����O���*8�)�
��*1�%4�%4�&�3
��*�����&
��(�� �2�0�����O���*8�)�
��*1�&4�&4�&�3
��*�����%
��*�����&
��(�� �2�0�����O���*8�)�
��*1�’4�A4�’�3
��(�� �2�0�����O���*8�)�
��*1�’4�’4�&�3
��*�����%
��(�� �2�0�����O���*8�)�
��*1�A4�A4�&�3
��*�����%
��*�����%
��*�����&
��(�� �2�0�����O���*8�)�
��*1��4�J4���3
��(�� �2�0�����O���*8�)�
��*1��4�@4�’�3
��(�� �2�0�����O���*8�)�
��*1��4��4�&�3
��*�����&
��(�� �2�0�����O���*8�)�
��*1�@4�@4�&�3
��*�����%
��*�����&
��(�� �2�0�����O���*8�)�
��*1�N4�J4�’�3
��(�� �2�0�����O���*8�)�
��*1�N4�N4�&�3
��*�����%
��(�� �2�0�����O���*8�)�
��*1�J4�J4�&�3
��*�����%
��*�����%
��*�����&
��*�����’
(������*���’
��(�� �2�0�����O���*8�)�
��*1�%4�J4�L�3
��(�� �2�0�����O���*8�)�
��*1�%4�A4���3
��(�� �2�0�����O���*8�)�
��*1�%4�&4�’�3
��(�� �2�0�����O���*8�)�
��*1�%4�%4�&�3
��*�����%
��(�� �2�0�����O���*8�)�
��*1�&4�&4�&�3
��*�����&
��*�����&
��(�� �2�0�����O���*8�)�
��*1�’4�A4�’�3
��(�� �2�0�����O���*8�)�
��*1�’4�’4�&�3
��*�����&
��(�� �2�0�����O���*8�)�
��*1�A4�A4�&�3
��*�����%
14 of 20
��*�����&
��*�����’
��(�� �2�0�����O���*8�)�
��*1��4�J4���3
��(�� �2�0�����O���*8�)�
��*1��4�@4�’�3
��(�� �2�0�����O���*8�)�
��*1��4��4�&�3
��*�����%
��(�� �2�0�����O���*8�)�
��*1�@4�@4�&�3
��*�����%
��*�����%
��(�� �2�0�����O���*8�)�
��*1�N4�J4�’�3
��(�� �2�0�����O���*8�)�
��*1�N4�N4�&�3
��*�����%
��(�� �2�0�����O���*8�)�
��*1�J4�J4�&�3
��*�����%
��*�����%
��*�����%
��*�����’
(������*���’
��(�� �2�0�����O���*8�)�
��*1�%4�J4�L�3
��(�� �2�0�����O���*8�)�
��*1�%4�A4���3
��(�� �2�0�����O���*8�)�
��*1�%4�&4�’�3
��(�� �2�0�����O���*8�)�
��*1�%4�%4�&�3
��*�����%
��(�� �2�0�����O���*8�)�
��*1�&4�&4�&�3
��*�����&
��*�����&
��(�� �2�0�����O���*8�)�
��*1�’4�A4�’�3
��(�� �2�0�����O���*8�)�
��*1�’4�’4�&�3
��*�����&
��(�� �2�0�����O���*8�)�
��*1�A4�A4�&�3
��*�����%
��*�����&
��*�����’
��(�� �2�0�����O���*8�)�
��*1��4�J4���3
��(�� �2�0�����O���*8�)�
��*1��4�@4�’�3
��(�� �2�0�����O���*8�)�
��*1��4��4�&�3
��*�����%
��(�� �2�0�����O���*8�)�
��*1�@4�@4�&�3
��*�����%
��*�����%
��(�� �2�0�����O���*8�)�
��*1�N4�J4�’�3
��(�� �2�0�����O���*8�)�
��*1�N4�N4�&�3
��*�����%
��(�� �2�0�����O���*8�)�
��*1�J4�J4�&�3
��*�����%
15 of 20
��*�����%
��*�����%
��*�����’
(������*����
��(�� �2�0�����O���*8�)�
��*1�%4�J4�L�3
��(�� �2�0�����O���*8�)�
��*1�%4�A4���3
��(�� �2�0�����O���*8�)�
��*1�%4�&4�’�3
��(�� �2�0�����O���*8�)�
��*1�%4�%4�&�3
��*�����%
��(�� �2�0�����O���*8�)�
��*1�&4�&4�&�3
��*�����%
��*�����%
��(�� �2�0�����O���*8�)�
��*1�’4�A4�’�3
��(�� �2�0�����O���*8�)�
��*1�’4�’4�&�3
��*�����%
��(�� �2�0�����O���*8�)�
��*1�A4�A4�&�3
��*�����&
��*�����&
��*�����&
��(�� �2�0�����O���*8�)�
��*1��4�J4���3
��(�� �2�0�����O���*8�)�
��*1��4�@4�’�3
��(�� �2�0�����O���*8�)�
��*1��4��4�&�3
��*�����%
��(�� �2�0�����O���*8�)�
��*1�@4�@4�&�3
��*�����&
��*�����&
��(�� �2�0�����O���*8�)�
��*1�N4�J4�’�3
��(�� �2�0�����O���*8�)�
��*1�N4�N4�&�3
��*�����&
��(�� �2�0�����O���*8�)�
��*1�J4�J4�&�3
��*�����&
��*�����’
��*�����A
��*������
�O���*8��)�
��*���
#��������=
%�<�
�������
�
4 ��
��������%��������! ���� � ���
�������
��� ���� ��
��(���� ������ ���6(��! �!��
���� (����
��
��(����!
%������
+���
��(���
�����
�����������$
16 of 20
.��
�������
%��! ����������� ��
% ���%�(����
���� ����
����� �� ��
���������! ����������$�'�
��� ��
���������
�������
�����! ����������$�&��� �
����������������
�������������� ���������
��
�����! �������������
�$
,--
-�"�� �+��(*����+��� �*���)�����)�
��*���������*�/�������8�� ��/�
��(�� ����
-�
-������������*�����8� �*�/�������8
-�������� *��* ���P��*��*�����P��+�*�������8
-����������� ���P���������P��+�*�������8
-��������+��0�)���� (���*����+��������+�)�
-�
-���*������*����9����)�
��*����*�������8����=&��+�������9���
�)�
��*��������8�
-,
���
������
��
���������
���
���
��� �����1
���QR�����*�����84�
��������
��� *��* ���P4�
������ ���P4�
���+�3E
�����*�1+�4�B��(�� �2�0���S����)�
��*1�B4�'N35
���*�+1 *��* ���P4�+�35
�����*�1+�4�B4�B4�'35
���*�+1��� ���P4�+�35
�����*�1+�4�B�3K�B4�A35
��
�������8�)��/*��7�11��� ���P�=� *��* ���P3�F�&35
��
�11�����8�)��/*��G�'�3�77�%3E
����
�����*�7�=&5
�������*�1+�4�B��*�����B4�L35
�����*�+1��*4�+�35
�������*�1BK�B4�&35
�������������*5
��I
��� ��E
����
�1����8�)��/*��77�&3E
��������*�7�����*�����8Q *��* ���PR5
���������*�1+�4�B��*�����B4�L35
�������*�+1��*4�+�35
���������*�1BK�B4�&35
���������������*5
����I
����� ��E
������
���
���7�����8�)��/*��,�'5
17 of 20
������
���*��/�*�7�����*�����8Q
���F� *��* ���PR5
������
���)�+*�7�����*�����8Q
��F *��* ���P�=�&R5
������
�����/�*�7�����*�����8Q
��F *��* ���P�F�&R5
������
��1*��/�*�T7�)�+*�HH�*��/�*�T7���/�*3E
�����������*�1+�4�B��*�����B4�L35
���������*�+1*��/�*4�+�35
�����������*�1BK�B4�&35
���������������*��/�*5
������I
������� ���
��1*��/�*�77�)�+*�HH�*��/�*�T7���/�*3E
��������
���)�+*���)+�)��/*��7�11
���=�'3�=� *��* ���P3�F�&5
��������
��1�)�+*���)+�)��/*��G�'�77�%�3E
����������
���(��)�� *��*�����P�7� *��*�����P�F�1
���F�&35
����������
���(��)����������P�7���� ���P5
����������
�����*�7���(�� �2�0���S����)�
��*1����*�����84�
��������������������(��)�� *��*�����P4�(��)����������P35
�������������*�1+�4�B��*�����B4�L35
�����������*�+1��*4�+�35
�������������*�1BK�B4�&35
�������������������*5
��������I
��������� ��E
����������
���(��)�� *��*�����P�7� *��* ���P5
����������
���(��)����������P�7� *��* ���P�F�1�
���=�'�35
����������
�����*�7���(�� �2�0���S����)�
��*1����*�����84�
��������������������(��)�� *��*�����P4�(��)����������P35
�������������*�1+�4�B��*�����B4�L35
�����������*�+1��*4�+�35
�������������*�1BK�B4�&35
�������������������*5
��������I
������I
������� ���
��1*��/�*�T7�)�+*�HH�*��/�*�77���/�*3E
��������
�����/�*���)+�)��/*��7�1��� ���P�=�1
���F�'33�F�&5
��������
��1���/�*���)+�)��/*��G�'�77�%�3E
����������
���(��)�� *��*�����P�7� *��* ���P5
����������
���(��)����������P�7� *��* ���P�F�1�
���=�&�35
����������
�����*�7���(�� �2�0���S����)�
��*1����*�����84�
��������������������(��)�� *��*�����P4�(��)����������P35
�������������*�1+�4�B��*�����B4�L35
�����������*�+1��*4�+�35
�������������*�1BK�B4�&35
�������������������*5
��������I
��������� ��E
18 of 20
jwong
����������
���(��)�� *��*�����P�7� *��* ���P�F�1
���F�'35
����������
���(��)����������P�7���� ���P5
����������
�����*�7���(�� �2�0���S����)�
��*1����*�����84�
��������������������(��)�� *��*�����P4�(��)����������P35
�������������*�1+�4�B��*�����B4�L35
�����������*�+1��*4�+�35
�������������*�1BK�B4�&35
�������������������*5
��������I
������I
����I
��I
I
���
% ���������������
%��! ���������������(��
���� ��%$���� ��
���������! ����
��
�����! ����������$�
&��� �
�������������������� ������������
�����! �����������
���
%��������������
�����%�������%�!������$�
&�������� ��
� *��* ���P ��
%� ��� ���P ����
% ���������������
%�������! ����
�������
����������
�������
����������� �
��! ������������� ���� ��� ��� ���$�&��
�����
%�;�
�������������� ������� � �
�! �������������
���%%������� �� ��� ��
�
����*�����8 $�6�������������
%��%�5����(���%�
%�;
�$�
&����!�
� �
������%�����������������! ���%�� � ����� ����� %�����
����������
! ��� �������%�����
��
%��
%��� ��(���A!���������B$�&���� ������
��� �
��! ����
!�
� �
������%�23� � ���������! ����(�!���������
�$�&������
�������������
���������! ������ �������; �
����
$�
*����� ���!�
� �
��(���� ����!�
� �
���� ��(���
���������������
����
�����$
*���! ����������
�� ������! ���%�� � ����$�*����� �
%�������
�� ���������
������� ��
�������! ��$�*��������������
�� ������
��(����! �(���������� ��$�&���� ��� ������
�
�� ����
�������� ���������� ����
�"���$�
� 1�� ����
)��.��!���6 (!+
�.& !�� � ! !��� *),��!)�!&��' �+�-�5' �
)���)��)!
&����!&� �. ����/7��)��6(��!�)� �.�++�*��� ��-
"6 ��+�����
�
� �� 5����
���������
���F������9�G������7�7�:�:�I�I��7��7HC�
������� ��� ��=
%<�
������
�A�������B
�������! ���������>
��(�� �2�0���S����)�
��*1�%4�&%�3
��(�� �2�0���S����)�
��*1�%4���3
��*�����’
19 of 20
http://linux.die.net/man/2/write
��*�����’
“6 ��+��
��
�
� �� 5����
���������
���F������9�G����7�7�:�:�I�IHC�
������� ��� ��=
%<�
������
�A����J�B
�������! ���������>
��(�� �2�0���S����)�
��*1�%4�J�3
��*�����=&
��
%�
�
���� � �
��
�������������(� �� �
��
���� � �
���
�� �55��!�����
%�
�
���� � �
�$
�@��
��� �
����������������������� ����
������� ��������� (��$�*����������
�
� ���
��� ��������!������
�$���� ���� ����� ���!��������*.��
%��������!��������
��������� ! ���� �
�! ������������������� �%��%����+� ���$��! ��������������%���
)�
����� ���� �����������%�������(���(������� ����������� �����
���������
����� �
���%����� �%������������������ ���
$�
3�+
� �*�� �)��,� � � �1
�.�++�*�� ((��!��-��&����� ��)�!)+�� �(��’)�
�� �+���&)��.)�1� �*�� �)� -�5′ �
)�� ��� !�++� !�(1�)�� �*��!!��/�
)��
&)��.)�17��+� �� !)��*
� ��� ���)���)’ �� –
20 of 20
https://piazza.com/class/hyirt2jcnph6vk?cid=22
CSE220 Spring 2016 – Homework 4
Due Friday 4/29/2016 @ 11:59pm
The functions must be implemented recursively. Any iterative implementations will receive a grade of zero.
Getting Started
Using files in MIPS Assembly as a reminder
Recap of File I/O:
Part 0 – Main program
Part 1 – itof
Part 2 – Teddy Bears
Part 3 – Find Majority Integer
Part 4 – Find Lone Element
Hand-in instructions
36AE9A37-AB90-4B9C-BE7F-70A54CBA3C0E: Off