• PRG44 - ��� DOS-���� �⤠���� �p��� (����᫮���)

    From FAQServer@2:5020/181 to All on Fri Jun 27 07:37:09 2025
    [Q]: ��� DOS-���� �⤠���� �p��� (����᫮���)

    [A]: Anton Shuko (2:5005/28.66)

    ��� ��砫� ������让 ���yp�:

    ���y � 94� ��� ���p���������, �⮡� ��� ���-�p��� ����� �p����쭮 �⤠����
    ⨪� ��� ����. ���� � p������ y ���� �� �뫮, �� �뫮 � 䠪�� (� �뫨 ��
    ��� ⮣�� ? :) ���ᠢ p��y � ��襫 ����� �����宩 ᯮᮡ (� ��� ����), ���p� �p������ �� ⮫쪮 � ��. H� �� ��宭쪨� ������⮪ - ������
    �p� ����� py�᪮�� ⥪�� �p�᪠������ ������᪨� (������ �p��� � � p�
    �� �p����). H������ �p����� �p�襫 ����� � � �⠫ ������ 䠪� � �p��� ��������. �p������ ax=1680, int2f - �⤠�� ������, �� ��᮫�⭮ �� ���室�� ��� ����� ���p� 祣�-� ������, � ���p䥩� � ���� ��������� - �� ����� ���믠�� �� ������ �� ����y ��� �� ��⨢���樨 ��� (�py�y � 横��
    �p�����, �p���p�y �� ����y, ����, � ��⥬ �⤠� ⨪� - �p� ���y�ᢨ� ��⨢���� 䮭��� �p����� ��뢠���� 2 p��� � ᥪy��y :( � ��� ������
    �y��� ��⨢���p������� p�� ⠪ 100 � ᥪy��y), �p� ⠪�� ᯮᮡ� �⤠�
    ᫠�ᮢ "���믠��" ���� - � �p���᪮� ���� �� �������� ��� � ���p���. Hlt ⮦� �� ����� - �p��� hlt, ���� � 横��:
    mov cx, 10000
    l:
    hlt
    loop l

    ��祣� �� �⤠���, � �᫨ ��:
    mov ax, xx
    mov dx, yy
    hlt
    db 035h
    db 0CAh
    (�� � �� ����� ���y - ��� � �訡�����)
    y ���� ��᪠����� �p�� (� ���y ��� 16 p��p來� ���⥭��p��, � �� ���
    ���⨪� ��᫥ hlt � �⮬ p����� �p�����), ⠪ �� � ���� �� ᬮ�
    �p���p��� ��᪮�쪮 �� ��䥪⨢��.

    �p�諮�� ��� ���p��� ����� � ����p��쪮 ������, �y�� �������� py�᪨�
    �y�����, ��᫥ 祣� � ��p���� ᢮� ��堭��� � �p������� ��� ���. :)


    ��堭��� ⠪��: �p��p���� �ᥣ�� ���� ����� � �������yp� (int16, �y���� 0
    ��� ��ᮢ᪨�� ��� C �y���ﬨ) �p�祬 ������ ����, � �� ��p�訢���,
    ���� �� ⠬ ᫥�y�騩 ᨬ��� ��� ���. ��� ⮣� �⮡� �p��p���� �����
    ���p��� p����p����� �� ���� � ������� � �� �p����py ��p����稪 (���������� �����-� �y��樥�) � �⮬ ��p����稪� �������� � �� ���� � ����������
    � ����� ���������� �����-� ���� ᨬ��� (� �ᯮ��y� 0xFFFx ).
    � �y�p ���뫠���� �p��� - ���� � ���� ��� y����⥫� �� ��� �y�p,
    ��� ���짮������ ����ᠭ� � ���p��yp�. � ��� (2.11, 3.0, 4.0) � win �
    win95 � �p��� ��� �� ��᫥������! �p�祬 ��� ��� ����, ⠪ � ���
    �p�窠�� ������ �p��� ���� ����� � �p���⭮ �⤠�� ᢮� ⨪�. ���
    ���y᪠ ��p�������� �p���ᮢ � ��p�墠�뢠� int8 - �� p��y��p�� ���y᪠�� 横� ��p���⪨ ᮡ�⨩ ���뫪�� ������ ���� � �y�p. ��筮 ⠪ �� �
    ���-��p⠬� � �p�稬. ��� ⮣� �⮡� ���ᯥ��� ���p�p뢭�� �ᯮ������ �����p�� �p���ᮢ (����� ���� ᮦp��� ���ᨬy� �p����� � ����� ������) ��p��� ����⥣������� �p��y��⥫쭮� ���뫪�� ᨬ���� � �y�p �������yp�. ����p ⮭�����, ��-�� ���p�� py�䨪��p� (p����) ����:
    �᫨ ���� ��p���⪠ int9, � � ��� ������ ��뢠���� �py��� �p�p뢠���,
    ���p�� �믥� � �y�p ᨬ���, ������� ��p��⭮��� �� ��p���⪠ int9 ����� ����p����� ���p����쭮. ���⮬y � �⫠������ int9 � ��p����뢠� ⠪:

    void int9(){

    keyBusy=YES;
    (*oldInt9)();
    keyBusy=NO;
    }

    � ���� keyBusy=YES � �py��� ��p����稪�� � �y�p ��祣� ����� ���������.


    ��⮤ ����筮 ᫮���, �p��y�� �p�襣� ������ �p�p뢠��� � �p��y��
    �����p�� ��p���⪨ � �⫠���, �� �᫨ ����� ��祣� �� ������� ����� ���p������� ᤥ���� �� ⠪�� ��p����.

    � ��� ��直� �p����� �p��p����p���� ⠩��p �� 182 �� (��p��y ��p����稪y �⤠��� ����� ������ ⨪), ��몠� �� � �p��y � �p���᪨� ���p�ᮬ, ��p������묨 �p���ᠬ� � ��⨢�� �ᯮ�짮����� ���, �� �� ������ ���
    ���� (�p�祬 ��ᥫ� ��᪮�쪮 ⠪�� ��ᨩ) � ���py��� �� �p����p �뫠 �������쭠. ��� ��直� ��p������ �� 室�� ��� win95 (� ⠪ �� � �������쭮� ���py����) � ��� ���� ��ᮬ. �᫨ ��� ����室����� ⠩��p �y�� ��
    �p����� (�� ��p��p��p����p����� ����y). � ���� ���� ��᪮�쪮 �������, ���p� ���y᪠���� �� p���� ������� � 祣�-� ������ - ��⠫쭮� �p���
    ��� ��� � �����y �� ����� - �y��� �� dx80 - �� �y��. ���� ����� ���� ��⨢�� ���� (��p뢠���, ��p���饭��, ���p뢠��� ���襪, ����襪 - ��
    �� � �p�䨪� - � ⥪�⮢�� ���� ���py��� �������쭠) ���py��� �p����p�
    �� �y���y ����᮪�.

    ��: ᪮p� ��� ��� ����y �� ���� ����� ��� ��ᮬ - ��p�� ��p���⮪ �����.
    H� ���� �� � ���⥭��p�� + �p���᪨� ��設� ���p䥩� + ��p���쭠� p���� ��� ���� � 稪�� (���� ��� p����� �p���) ��� ��p���쭮 ������� ���
    ��直� ��p������ :)

    --- INN 2.7.3
    * Origin: This echo is READ-ONLY. Send %HELP to FAQSERVER at (2:5020/181)