    8. ПРОВЕРКА УСВОЕННОГО
         Если вы внимательно прочитали весь предшествующий материал, то
    справиться с двумя головоломками будет несложно. Если же задания
    оказались вам не под силу, вновь проштудируйте статьи.

                                ГОЛОВОЛОМКА 1
          На рис. 8.1 приведена программа, которая не работает под
    отладчиком в пошаговом режиме. Проверьте это, оттранслировав и
    запустив ее, например, под Turbo Debugger. Нажимая клавишу F8 (без
    захода в п/п), благополучно доберетесь до ее конца. Если же попробуете
    пройти программу в потактовом режиме (клавиша F7), с заходом в
    подпрограмму DEL, то после выполнения оператора STOSW продолжение
    будет невозможно. Почему?

                                ГОЛОВОЛОМКА 2
         Программа на рис. 8.2 также не работает в пошаговом режиме, но
    причина здесь иная. В чем тут дело?

                                ГОЛОВОЛОМКА 1
            ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
            і cseg        segment para public 'code'                     і
            і         assume cs:cseg                                     і
            і exam        proc                                           і
            і start:                                                     і
            і         jmp        frwd                                    і
            і del:                                                       і
            і                 pushf                                      і
            і                 cld                                        і
            і                 mov        ax,cs                           і
            і                 mov        es,ax                           і
            і                 rep        stosw                           і
            і                 popf                                       і
            і                 ret                                        і
            і frwd:                                                      і
            і         push        cs                                     і
            і         pop        ds                                      і
            і         mov        cx,12                                   і
            і         mov        di,offset start                         і
            і         call        del                                    і
            і         mov        dx,offset msg                           і
            і         mov        ah,9                                    і
            і         int        21h                                     і
            і         mov        ax,4c00h                                і
            і         int        21h                                     і
            і msg        db 'Hellow, boys!',0ah,0dh,'$'                  і
            і exam        endp                                           і
            і cseg        ends                                           і
            і         end        start                                   і
            АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

                                   рис. 8.1

                                ГОЛОВОЛОМКА  2
            ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
            і TEXT:       segment byte public 'CODE'                     і
            і         assume cs:TEXT                                     і
            і         org 100h                                           і
            і                                                            і
            і start:        mov        dx,offset prv                     і
            і         mov        ah,9                                    і
            і         int        21h                                     і
            і         db        2eh                                      і
            і         pushf                                              і
            і         pop        ax                                      і
            і         sahf                                               і
            і         mov        ah,9                                    і
            і         jb        Glk                                      і
            і         mov        dx,offset mes1                          і
            і         int        21h                                     і
            і         mov        ax,4c00h                                і
            і         int        21h                                     і
            і Glk:                                                       і
            і         mov        dx,offset mes2                          і
            і         int        21h                                     і
            і         mov        ax,4c01h                                і
            і         int        21h                                     і
            і                                                            і
            і prv        label byte                                      і
            і         db 'dbtest',0ah,0dh,024h                           і
            і                                                            і
            і mes1        label byte                                     і
            і         db 'Ok',0ah,0dh,24h                                і
            і                                                            і
            і mes2        label byte                                     і
            і         db 'Trace',0ah,0dh,24h                             і
            і                                                            і
            і TEXT        ends                                           і
            і         end start                                          і
            АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

                                   рис. 8.2
вверх