Расхождение в выполнении проги в дебаггере и откомпилированного ехе

Тема в разделе "WASM.BEGINNERS", создана пользователем V1T, 2 июн 2008.

  1. V1T

    V1T New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    2
    Пишу калькулятор с графическим интерфейсом под ДОС c использованием мыши. Компилирую TASM 3.1 (пакет ALAB, cooтветсвенно Turbo Debugger). Используется сопроцессор. Такая проблема. Создал процедуру обработки ошибок(errcheck в коде) (например деление на 0). Обработка основана на получении слова состояния сопроцессора(fstsw) и проверки 3 бита слова на равенство 1(как раз для примера деления на 0). Для теста поставил если флаг ze=1 то выход из программы. Т.е. если пользователь поделил на 0, программа завершается. Компилирую екзешник. В режиме отладки по шагам все работает как надо, проверяется флаг, выходит из программы. При запуске ехе программа никак не реагирует на деление на 0. Не могу понять в чем проблема....

    Код (Text):
    1. .486p
    2. model use16 huge
    3. .stack 100h
    4.                    
    5. .data                        
    6. x dw 0  ;koordinaty lev verxnego ugla dlya knopok
    7. y dw 0   ;koordinaty lev verxnego ugla dlya knopok
    8. lenx dw 0 ; dlina knopki po x
    9. leny dw 0 ; dlina knopki po y
    10. xx db 0  ;posiciya x dlya vyvoda simvola na knopke
    11. yy db 0  ;posiciya y dlya vyvoda simvola na knopke
    12. bnflag db 0 ; flag knopki = 4 esli popali  ; mozhna ubrat'
    13. mousex dw 0;koordinaty x pri nazhatii myshki              
    14. mousey dw 0;koordinaty y pri nazhatii myshki              
    15. floatfl db 0;flag vvoda = 1 esli byla nazhata "."            
    16. num dw 0 ;identifikator nazhatoi klavishi                
    17. bttn db 0;hranit simvol, izobrazhennyy na klavishe        
    18. ten dw 10;dlya vychisleniya desyatyx dolei                
    19. op db 0 ; zdes' hranitsa vypolnyaemoe deystvie            
    20. divide db 0;kol-va nazhatiy klavishy /                    
    21. mult db 0;kol-va nazhatiy klavishy *                      
    22. minus db 0;kol-va nazhatiy klavishy -                    
    23. plus db 0;kol-va nazhatiy klavishy +                      
    24. equal db 0;kol-va nazhatiy klavishy =                    
    25. sw dw 0;status word
    26. errpos db 00h                                            
    27.                  
    28. trash dd 0;peremennaya dlya sbrosa nenuzhnyx chisel      
    29. tmp dd 0  
    30. tmp2 dd 0                                        
    31. errmsg1 db 'Dividing by zero$',0Ah,0Dh
    32.  
    33. .code                                            
    34.                                                  
    35. start:                                            
    36.    mov   ax,@data                                
    37.    mov   ds,ax                                    
    38.              
    39.    mov   ax,0012h                                
    40.    int   10h                                      
    41.                                          
    42.    finit      
    43.    fldz                      
    44.                        
    45.                                                  
    46.    mov ax,1            
    47.    int 33h                              
    48.    call intrfc        
    49.                        
    50.    c:                                          
    51.    call onclick                                
    52.    call errcheck
    53.    mov bnflag,0                                
    54.    jmp c        
    55.                                                
    56.   exit:                
    57.    mov   ax,4C00h
    58.    int   21h                                                        
    59.                                                                  
    60. intrfc proc                                                                    
    61.    ;rasstoyanie mezhdu knopkami po y 12
    62.    ;rasstoyanie mezhdu knopkami po x 12      
    63.    ;knopka 20x20                                    
    64.    ;rasstoyanie mezhdu simvolami po xx 02h    
    65.    ;rasstoyanie mezhdu simvolami po yy 04h
    66.    ;----1-----;
    67.    mov bttn,'1'                      
    68.    mov x,60                                    
    69.    mov y,60                          
    70.    mov xx,04h                        
    71.    mov yy,08h                        
    72.    mov lenx,20                      
    73.    mov leny,20                      
    74.    call kvadrat                      
    75.    call button                      
    76.    ;----4-----;
    77.    mov bttn,'4'
    78.    mov x,60                          
    79.    mov y,92                              
    80.    mov xx,06h                                      
    81.    mov yy,08h                        
    82.    mov lenx,20                              
    83.    mov leny,20                      
    84.    call kvadrat                              
    85.    call button                            
    86.    ;----7------;
    87.    mov bttn,'7'
    88.    mov x,60                                    
    89.    mov y,124    
    90.    mov xx,08h      
    91.    mov yy,08h                        
    92.    mov lenx,20                      
    93.    mov leny,20                      
    94.    call kvadrat                      
    95.    call button                    
    96.    ;----2------;
    97.    mov bttn,'2'
    98.    mov x,92                          
    99.    mov y,60                              
    100.    mov xx,04h                                      
    101.    mov yy,0Ch
    102.    mov lenx,20                              
    103.    mov leny,20                      
    104.    call kvadrat                              
    105.    call button                            
    106.    ;----5------;
    107.    mov bttn,'5'
    108.    mov x,92                                    
    109.    mov y,92    
    110.    mov xx,06h      
    111.    mov yy,0Ch    
    112.    mov lenx,20                      
    113.    mov leny,20                      
    114.    call kvadrat                      
    115.    call button                                      
    116.    ;----8------;
    117.    mov bttn,'8'
    118.    mov x,92                          
    119.    mov y,124                            
    120.    mov xx,08h                                      
    121.    mov yy,0Ch    
    122.    mov lenx,20                              
    123.    mov leny,20                      
    124.    call kvadrat                              
    125.    call button                                      
    126.    ;----3------;
    127.    mov bttn,'3'
    128.    mov x,124                                    
    129.    mov y,60    
    130.    mov xx,04h      
    131.    mov yy,10h    
    132.    mov lenx,20                      
    133.    mov leny,20                      
    134.    call kvadrat                      
    135.    call button                                      
    136.    ;----6------;
    137.    mov bttn,'6'
    138.    mov x,124                          
    139.    mov y,92                              
    140.    mov xx,06h                                      
    141.    mov yy,10h  
    142.    mov lenx,20                              
    143.    mov leny,20                      
    144.    call kvadrat                              
    145.    call button                              
    146.    ;----9------;
    147.    mov bttn,'9'
    148.    mov x,124                                    
    149.    mov y,124    
    150.    mov xx,08h      
    151.    mov yy,10h    
    152.    mov lenx,20                      
    153.    mov leny,20                      
    154.    call kvadrat                      
    155.    call button            
    156.    ;----0------;
    157.    mov bttn,'0'
    158.    mov x,60                          
    159.    mov y,156                            
    160.    mov xx,0Ah                                      
    161.    mov yy,08h
    162.    mov lenx,20                              
    163.    mov leny,20                      
    164.    call kvadrat                              
    165.    call button                      
    166.    ;----.------;
    167.    mov bttn,'.'
    168.    mov x,92                                    
    169.    mov y,156    
    170.    mov xx,0Ah      
    171.    mov yy,0Ch    
    172.    mov lenx,20                      
    173.    mov leny,20                      
    174.    call kvadrat                      
    175.    call button            
    176.    ;----=------;
    177.    mov bttn,'='
    178.    mov x,124                          
    179.    mov y,156                            
    180.    mov xx,0Ah                                      
    181.    mov yy,10h
    182.    mov lenx,20                              
    183.    mov leny,20                      
    184.    call kvadrat                              
    185.    call button                      
    186.    ;----+------;
    187.    mov bttn,'+'
    188.    mov x,156                                    
    189.    mov y,60    
    190.    mov xx,04h      
    191.    mov yy,14h    
    192.    mov lenx,20                      
    193.    mov leny,20                      
    194.    call kvadrat                      
    195.    call button            
    196.    ;----minus------;
    197.    mov bttn,'-'
    198.    mov x,156                          
    199.    mov y,92                              
    200.    mov xx,06h                                      
    201.    mov yy,14h
    202.    mov lenx,20                              
    203.    mov leny,20                      
    204.    call kvadrat                              
    205.    call button                      
    206.    ;----*------;
    207.    mov bttn,'*'
    208.    mov x,156                                    
    209.    mov y,124    
    210.    mov xx,08h      
    211.    mov yy,14h    
    212.    mov lenx,20                      
    213.    mov leny,20                      
    214.    call kvadrat                      
    215.    call button            
    216.    ;----/------;
    217.    mov bttn,'/'
    218.    mov x,156                          
    219.    mov y,156                            
    220.    mov xx,0Ah                                      
    221.    mov yy,14h
    222.    mov lenx,20                              
    223.    mov leny,20                      
    224.    call kvadrat                              
    225.    call button                      
    226.    ;-----X------;
    227.    mov bttn,'X'  
    228.    mov x,580      
    229.    mov y,28      
    230.    mov xx,02h      
    231.    mov yy,49h    
    232.    mov lenx,20                      
    233.    mov leny,20                      
    234.    call kvadrat                      
    235.    call button                      
    236.    ret                                            
    237. intrfc endp                                        
    238.                                                    
    239. button   proc                                                        
    240. ;-------vyvodim symvol(bttn) na knopku---------------------;        
    241. ;v   xx  -> stroka po x                                              
    242. ;v   yy  -> stolbec po y                                            
    243. ;v  bttn -> simvol na knopke                                        
    244.    pusha                                                            
    245.    mov   ah,02h    ; ustanavlivaet pozic kursora na dx              
    246.    mov   dh,xx                                                      
    247.    mov   dl,yy                                                      
    248.    int   10h                                                        
    249.    mov   ah,0Ah ; vyvod simvola v graf rezhime                      
    250.    mov   al,bttn ;simvol                                            
    251.    mov   bl,0Fh ;video atribut                                      
    252.    mov   cx,1   ;kol-vo                                              
    253.    int   10h                                                        
    254.    popa                                                              
    255.    ret                                                              
    256. button   endp                                                        
    257.                                                                      
    258. kvadrat proc                                                        
    259. ;-------risuem kvadrat knopki, gde x&y koordinaty levogo verxnego ugla----;
    260. ;v lenx  -> dlina po x knopki                                        
    261. ;v leny  -> dlina po y knopki                                        
    262. ;v   x   -> levaya verxnyaa x koordinata                            
    263. ;v   y   -> levaya verxnyaa y koordinata                            
    264.    pusha                                                            
    265.    mov   bx,lenx                                                    
    266.    add   bx,x                                                        
    267.    mov   lenx,bx                                                    
    268.    mov   bx,leny                                                    
    269.    add   bx,y                                                        
    270.    mov   leny,bx                                                    
    271.                                                                      
    272.    mov   dx,y                                                        
    273.    mov   cx,x                                                        
    274.                                                                      
    275.    mov   ax,0C0Fh                                                    
    276.   risX1:                                                            
    277.    int   10h                                                        
    278.    inc   cx                                                          
    279.    cmp   cx,lenx                                                    
    280.    jb    risX1                                                      
    281.    mov   cx,x                                                        
    282.    mov   dx,leny                                                    
    283.   risX2:                                                            
    284.    int   10h                                                        
    285.    inc   cx                                                          
    286.    cmp   cx,lenx                                                    
    287.    jb    risX2                                                      
    288.    mov   cx,x                                                        
    289.    mov   dx,y                                                        
    290.   risY1:                                                            
    291.    int   10h                                                        
    292.    inc   dx                                                          
    293.    cmp   dx,leny                                                    
    294.    jb    risY1                                                      
    295.    mov   cx,lenx                                                    
    296.    mov   dx,y                                                        
    297.   risY2:                                                            
    298.    int   10h                                                        
    299.    inc   dx                                                          
    300.    cmp   dx,leny                                                    
    301.    jb    risY2                                                      
    302.    mov   cx,lenx                                                      
    303.    mov   dx,leny                                                      
    304.    int   10h                                                          
    305.                                                                      
    306.    popa                                                              
    307.    ret                                                              
    308. kvadrat endp                                                        
    309.                                                                      
    310. numeric proc  
    311.    cmp floatfl,1
    312.    jne intinp  
    313.    call flinppr            
    314.    jmp n_end                          
    315.    intinp:                                        
    316.    call intinppr                                  
    317.    n_end:    
    318.    ret                                      
    319. numeric endp          
    320.                                              
    321.                                  
    322. flinppr proc    
    323.              
    324.              
    325.    ret          
    326. flinppr endp      
    327.              
    328.                  
    329. intinppr proc
    330.    fimul ten  
    331.    fiadd num          
    332.    ret          
    333. intinppr endp  
    334.                                      
    335.                                                    
    336.                                                    
    337. onclick proc far
    338. ;poluchenie koordinat myshi pri schelchke                            
    339.    pusha                                                            
    340.                                                                      
    341.    mov   ax,0005h                  
    342.    mov   bx,0                      
    343.    int   33h                                                          
    344.    cmp   ax,00000001b              
    345.    jne   c                          
    346.                        
    347.    mov   mousex,cx      
    348.    mov   mousey,dx                                                                  
    349.    call  coords        
    350.                        
    351.    popa                
    352.    ret                                                              
    353. onclick endp                                                        
    354.                                                                      
    355.                                                                      
    356. coords proc far                                      
    357. ;v mousex - x koord-ta click                          
    358. ;v mousey - y koord-ta click                          
    359.   l1:                                                
    360.   ;------1---------;                                  
    361.   mov bnflag,0        
    362.   cmp mousex,60d                                      
    363.   jl  l2        
    364.   inc bnflag                                          
    365.   cmp mousex,80d                                      
    366.   jg  l2                                              
    367.   inc bnflag                                          
    368.   cmp mousey,60d                                      
    369.   jl  l2                                              
    370.   inc bnflag                                          
    371.   cmp mousey,80d                                      
    372.   jg  l2                                              
    373.   inc bnflag                                          
    374.                                      
    375.   mov divide,0            
    376.   mov mult,0                            
    377.   mov minus,0
    378.   mov plus,0   ;sbros flagov operaciy              
    379.   mov num,1                              
    380.   call numeric  ;procedura opredelyaushaya vvod cifr
    381.   jmp  crdex          
    382.   l2:                                                
    383.   ;------2---------;                        
    384.   mov bnflag,0
    385.   cmp mousex,92d                              
    386.   jl  l3                            
    387.   inc bnflag                                          
    388.   cmp mousex,112d                    
    389.   jg  l3                            
    390.   inc bnflag                                          
    391.   cmp mousey,60d                                      
    392.   jl  l3                            
    393.   inc bnflag                                          
    394.   cmp mousey,80d                                      
    395.   jg  l3                                            
    396.   inc bnflag                                          
    397.                
    398.   mov divide,0            
    399.   mov mult,0          
    400.   mov minus,0                                      
    401.   mov plus,0                                      
    402.   mov num,2                                          
    403.   call numeric                                      
    404.   jmp  crdex                                          
    405.   l3:                                                
    406.   ;------3---------;                                
    407.   mov bnflag,0
    408.   cmp mousex,124d                                    
    409.   jl  l4                                            
    410.   inc bnflag                                          
    411.   cmp mousex,144d                                    
    412.   jg  l4                                            
    413.   inc bnflag                                          
    414.   cmp mousey,60d                                    
    415.   jl  l4                                            
    416.   inc bnflag                                          
    417.   cmp mousey,80d                                      
    418.   jg  l4                                            
    419.   inc bnflag                                          
    420.                                      
    421.   mov divide,0        
    422.   mov mult,0
    423.   mov minus,0
    424.   mov plus,0                                      
    425.   mov num,3                                          
    426.   call numeric                                      
    427.   jmp  crdex                                        
    428.   l4:                                                
    429.   ;------4---------;
    430.   mov bnflag,0
    431.   cmp mousex,60d
    432.   jl  l5        
    433.   inc bnflag                                          
    434.   cmp mousex,80d
    435.   jg  l5                                      
    436.   inc bnflag                                          
    437.   cmp mousey,92d
    438.   jl  l5                  
    439.   inc bnflag                                          
    440.   cmp mousey,112d                
    441.   jg  l5              
    442.   inc bnflag                                          
    443.                                      
    444.   mov divide,0
    445.   mov mult,0    
    446.   mov minus,0  
    447.   mov plus,0                                      
    448.   mov num,4      
    449.   call numeric
    450.   jmp  crdex  
    451.   l5:                                    
    452.   ;------5---------;
    453.   mov bnflag,0
    454.   cmp mousex,92d
    455.   jl  l6                            
    456.   inc bnflag                                          
    457.   cmp mousex,112d
    458.   jg  l6                                    
    459.   inc bnflag                                          
    460.   cmp mousey,92d                              
    461.   jl  l6              
    462.   inc bnflag                                          
    463.   cmp mousey,112d
    464.   jg  l6      
    465.   inc bnflag                                          
    466.                                      
    467.   mov divide,0
    468.   mov mult,0    
    469.   mov minus,0
    470.   mov plus,0                                      
    471.   mov num,5  
    472.   call numeric  
    473.   jmp  crdex  
    474.   l6:                                                
    475.   ;------6---------;                    
    476.   mov bnflag,0                          
    477.   cmp mousex,124d                                    
    478.   jl  l7                  
    479.   inc bnflag                                          
    480.   cmp mousex,144d                                    
    481.   jg  l7              
    482.   inc bnflag                                          
    483.   cmp mousey,92d                            
    484.   jl  l7          
    485.   inc bnflag                                          
    486.   cmp mousey,112d  
    487.   jg  l7          
    488.   inc bnflag                                          
    489.                                      
    490.   mov divide,0
    491.   mov mult,0
    492.   mov minus,0  
    493.   mov plus,0                                      
    494.   mov num,6  
    495.   call numeric            
    496.   jmp  crdex                            
    497.   l7:              
    498.   ;------7---------;      
    499.   mov bnflag,0                          
    500.   cmp mousex,60d                  
    501.   jl  l8              
    502.   inc bnflag                                          
    503.   cmp mousex,80d
    504.   jg  l8      
    505.   inc bnflag                                          
    506.   cmp mousey,124d
    507.   jl  l8        
    508.   inc bnflag                                          
    509.   cmp mousey,144d
    510.   jg  l8                                      
    511.   inc bnflag                                          
    512.                                      
    513.   mov divide,0
    514.   mov mult,0  
    515.   mov minus,0            
    516.   mov plus,0                                      
    517.   mov num,7    
    518.   call numeric            
    519.   jmp  crdex                                          
    520.   l8:                            
    521.   ;------8---------;  
    522.   mov bnflag,0
    523.   cmp mousex,92d                        
    524.   jl  l9        
    525.   inc bnflag                                          
    526.   cmp mousex,112d
    527.   jg  l9        
    528.   inc bnflag                                          
    529.   cmp mousey,124d
    530.   jl  l9                            
    531.   inc bnflag                                          
    532.   cmp mousey,144d
    533.   jg  l9                                    
    534.   inc bnflag                                          
    535.                          
    536.   mov divide,0                          
    537.   mov mult,0
    538.   mov minus,0              
    539.   mov plus,0                                      
    540.   mov num,8                                  
    541.   call numeric        
    542.   jmp  crdex                                          
    543.   l9:          
    544.   ;------9-------;
    545.   mov bnflag,0  
    546.   cmp mousex,124d
    547.   jl  l0                                
    548.   inc bnflag                                          
    549.   cmp mousex,144d  
    550.   jg  l0        
    551.   inc bnflag                                          
    552.   cmp mousey,124d
    553.   jl  l0        
    554.   inc bnflag                                          
    555.   cmp mousey,144d        
    556.   jg  l0                                
    557.   inc bnflag  
    558.                                      
    559.   mov divide,0        
    560.   mov mult,0                      
    561.   mov minus,0          
    562.   mov plus,0                                      
    563.   mov num,9                                  
    564.   call numeric
    565.   jmp  crdex                                          
    566.   l0:                                                
    567.   ;------0---------;                                
    568.   mov bnflag,0  
    569.   cmp mousex,60d              
    570.   jl  lclose
    571.   inc bnflag                                          
    572.   cmp mousex,80d              
    573.   jg  lclose                  
    574.   inc bnflag                                          
    575.   cmp mousey,156d        
    576.   jl  lclose                            
    577.   inc bnflag                                          
    578.   cmp mousey,176d          
    579.   jg  lclose          
    580.   inc bnflag                                          
    581.                                      
    582.   mov divide,0
    583.   mov mult,0
    584.   mov minus,0
    585.   mov plus,0                                      
    586.   mov num,0        
    587.   call numeric
    588.   jmp  crdex                                          
    589.   lclose:                              
    590.   ;------X---------;                          
    591.   mov bnflag,0                                        
    592.   cmp mousex,580d
    593.   jl  lplus    
    594.   inc bnflag                                          
    595.   cmp mousex,600d                        
    596.   jg  lplus                              
    597.   inc bnflag                                          
    598.   cmp mousey,28d          
    599.   jl  lplus                                      
    600.   inc bnflag                                          
    601.   cmp mousey,48d      
    602.   jg  lplus    
    603.   inc bnflag                                          
    604.   mov num,0                                  
    605.   jmp exit                                        
    606.   lplus:                                    
    607.   ;------+---------;                        
    608.   mov bnflag,0  
    609.   cmp mousex,156d
    610.   jl  lequal                                  
    611.   inc bnflag                                          
    612.   cmp mousex,176d                            
    613.   jg  lequal                                
    614.   inc bnflag                                          
    615.   cmp mousey,60d                            
    616.   jl  lequal                                
    617.   inc bnflag                                          
    618.   cmp mousey,80d                            
    619.   jg  lequal                                      
    620.   inc bnflag                                          
    621.                        
    622.   mov mult,0
    623.   mov divide,0
    624.   mov minus,0
    625.   mov equal,0;sbrasyvaem schetchik ravno                                          
    626.   mov op,'+'                                      
    627.   inc plus                              
    628.   cmp plus,1                            
    629.   jne crdex                              
    630.   fldz                                  
    631.   jmp  crdex                                
    632.   lequal:                                      
    633.   ;------=-------;                      
    634.   mov bnflag,0
    635.   cmp mousex,124d                            
    636.   jl  lminus                                
    637.   inc bnflag                                          
    638.   cmp mousex,144d                            
    639.   jg  lminus          
    640.   inc bnflag                                          
    641.   cmp mousey,156d      
    642.   jl  lminus          
    643.   inc bnflag                                          
    644.   cmp mousey,176d                                    
    645.   jg  lminus                                          
    646.   inc bnflag                                          
    647.                  
    648.   mov minus,0    
    649.   mov plus,0                                          
    650.   mov mult,0  
    651.   add equal,1    
    652.   cmp equal,1    
    653.   jne eq_1      
    654.   fxch st(1)    
    655.   eq_1:                  
    656.   cmp op,'+'                            
    657.   jne eq_2    
    658.   fadd st,st(1)            
    659.   call clean  
    660.   eq_2:                          
    661.   cmp op,'-'        
    662.   jne eq_3    
    663.   fsub st,st(1)
    664.   call clean  
    665.   eq_3:        
    666.   cmp op,'*'  
    667.   jne eq_4        
    668.   fmul st,st(1)  
    669.   call clean        
    670.   eq_4:        
    671.   cmp op,'/'            
    672.   jne crdex    
    673.   fdiv st,st(1)
    674.   call clean  
    675.                                          
    676.                
    677.   jmp crdex    
    678.                            
    679.   lminus:      
    680.   ;------minus-------;
    681.   mov bnflag,0                    
    682.   cmp mousex,156d  
    683.   jl  lmult    
    684.   inc bnflag                                          
    685.   cmp mousex,176d                            
    686.   jg  lmult    
    687.   inc bnflag                                          
    688.   cmp mousey,92d
    689.   jl  lmult    
    690.   inc bnflag                                          
    691.   cmp mousey,112d
    692.   jg  lmult    
    693.   inc bnflag                                          
    694.                  
    695.   mov mult,0                            
    696.   mov divide,0        
    697.   mov plus,0  
    698.   mov equal,0;sbrasyvaem schetchik ravno                                          
    699.   mov op,'-'  
    700.   inc minus          
    701.   cmp minus,1                    
    702.   jne crdex                              
    703.   fldz                                  
    704.   jmp  crdex                                
    705.   lmult:        
    706.   ;------*-----;
    707.   mov bnflag,0  
    708.   cmp mousex,156d
    709.   jl  ldivide  
    710.   inc bnflag                                          
    711.   cmp mousex,176d                            
    712.   jg  ldivide    
    713.   inc bnflag                                          
    714.   cmp mousey,124d
    715.   jl  ldivide                            
    716.   inc bnflag                                          
    717.   cmp mousey,144d
    718.   jg  ldivide              
    719.   inc bnflag                                          
    720.                      
    721.   mov plus,0                      
    722.   mov minus,0      
    723.   mov divide,0
    724.   mov equal,0;sbrasyvaem schetchik ravno
    725.   mov op,'*'    
    726.   inc mult    
    727.   cmp mult,1    
    728.   jne crdex                              
    729.   fldz                                  
    730.   jmp  crdex                                
    731.   ldivide:    
    732.   ;------/-----;
    733.   mov bnflag,0
    734.   cmp mousex,156d
    735.   jl  lnext                              
    736.   inc bnflag                                          
    737.   cmp mousex,176d                            
    738.   jg  lnext                
    739.   inc bnflag                                          
    740.   cmp mousey,156d    
    741.   jl  lnext                      
    742.   inc bnflag                                          
    743.   cmp mousey,176d
    744.   jg  lnext  
    745.   inc bnflag                                          
    746.                  
    747.   mov plus,0    
    748.   mov minus,0
    749.   mov mult,0  
    750.   mov equal,0;sbrasyvaem schetchik ravno                                          
    751.   mov op,'/'  
    752.   inc divide    
    753.   cmp divide,1
    754.   jne crdex                              
    755.   fldz                                  
    756.   jmp  crdex                                
    757.              
    758.                            
    759.              
    760.   lnext:            
    761.   crdex:                          
    762.   ret                    
    763. coords endp                                                                    
    764.                                                                      
    765. clean proc      
    766.    ;ochistka st(2)
    767.    fxch st(2)    
    768.    fstp trash    
    769.    fxch st(1)                                                      
    770.    ret                                                            
    771. clean endp                                                                    
    772.                                                                      
    773.                                                                  
    774. errcheck proc far                                          
    775. ;procedura obrabotki oshibok
    776.  fstsw sw
    777.            
    778.  mov ax,sw
    779.  and ax,100b
    780.  cmp ax,100b
    781.  jne err_1                          
    782.  jmp exit        
    783.          
    784.  err_1:  
    785.  
    786.                  
    787.                  
    788.    ret                    
    789. errcheck endp            
    790.                          
    791.                        
    792. end start
     
  2. wvlg

    wvlg New Member

    Публикаций:
    0
    Регистрация:
    25 сен 2007
    Сообщения:
    44
    ГГ. А ты в DOSE ее запускал, а??? :)
     
  3. V1T

    V1T New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    2
    в ДОСе не запускал ибо лень было искать драйвер мыши. Скопировал код проверки status word сопроцессора в отдельную программу и имитировал деление на 0, в результате работали и ехе файл и пошаговый режим. Здесь мне кажется дело в другом.
     
  4. wvlg

    wvlg New Member

    Публикаций:
    0
    Регистрация:
    25 сен 2007
    Сообщения:
    44
    Не совсем понял про программу и иммитацию. НО мне кажется дело как раз в обработчке. У ВЫНь свой в досе совсем все по-другому. Т.е. дело в оси. Точно ответить я не могу. Нужно знать как на это сработает обработчик ВЫНь, а как доса (хотя не знаю какие там в досе обработчики...). Хотя, м\б я вообще охинею несу:))

    А, к стати, м\б дело в том, что там другой код ошибки и флаг просто тупо не выставляется. В отладчике-то его б\з проблем поставить можно (что ты и сделал как я понял). А при исполнении программы не срабатывает- код другой
     
  5. Aspire

    Aspire New Member

    Публикаций:
    0
    Регистрация:
    19 май 2007
    Сообщения:
    1.028
    /offtop
    wvlg
    Какое интерсное сокращение б\з :/
     
  6. wvlg

    wvlg New Member

    Публикаций:
    0
    Регистрация:
    25 сен 2007
    Сообщения:
    44
    /offtop
    Aspire
    Код (Text):
    1. Какое интерсное сокращение б\з :/
    ГГ. Это как раз один из тех случаев, когда с головой ушел в форум. А ведь я это сообщение 3 раза прочел и 2 раза отредактировал и все равно не заметил:))