asm 16 разрядный ..при смене видеостраницы текст исчезает ..а почему ?

Тема в разделе "WASM.BEGINNERS", создана пользователем Les555, 16 сен 2010.

  1. Les555

    Les555 New Member

    Публикаций:
    0
    Регистрация:
    30 июн 2010
    Сообщения:
    15
    asm 16 разрядный ..при смене видеостраницы текст исчезает ..а почему ?

    Код (Text):
    1. dseg segment
    2.  
    3. assume es : dseg, ds : dseg, ss : dseg , cs : dseg
    4. org 100h
    5. sart:
    6. call m_clear
    7. call m_s_0
    8. mov ah ,09h
    9. mov dx , OFFSET my_st
    10. int 21h
    11.  
    12. call m_wait
    13. call m_s_1
    14. call m_wait
    15. call m_s_0
    16. call m_wait
    17. ret
    18. my_st db ' helo world $'
    19.  
    20.  
    21.  
    22. ;==================================
    23. m_wait   proc
    24. push ax
    25.  
    26. mov ah,10h
    27. int 16h
    28. pop ax
    29.  
    30. ret
    31. m_wait endp
    32.  
    33. ;===================================
    34.  
    35.  m_clear proc
    36.  push ax
    37.  mov ax,3
    38.                                                  
    39.  int 10h
    40.  pop ax                        
    41. ret
    42.  
    43.  m_clear endp
    44.  
    45. ;====================================
    46.  ;переключение в первую видеостраницу
    47.   m_s_1    proc
    48.   push ax
    49.   push bx
    50.   mov ah,05h
    51.   mov bh,1
    52.   int 10h
    53.   pop bx
    54.   pop ax
    55.  
    56.   ret
    57.   m_s_1 endp
    58.  
    59.  
    60. ;====================================
    61.  ;  переключение в нулевую видеостраницу
    62.   m_s_0 proc
    63.  
    64.   push ax
    65.   push bx
    66.   mov ah,05h
    67.   mov bh,0
    68.   int 10h
    69.   pop bx
    70.   pop ax
    71.   ret
    72.   m_s_0 endp
    73.  
    74. ;===================================
    75. dseg ends
    76. end sart
     
  2. Tronix

    Tronix Member

    Публикаций:
    0
    Регистрация:
    10 сен 2010
    Сообщения:
    122
    У Ральфа Брауна написано, что номер страницы передается в AL, а не в BH. http://www.ctyme.com/intr/rb-0091.htm Мож изза этого косячки =]

    UPD:За давностью не помню, но наверное 1 страница и должна быть пустая. Сначала туда надо копирнуть нулевую видео-страницу.
     
  3. Les555

    Les555 New Member

    Публикаций:
    0
    Регистрация:
    30 июн 2010
    Сообщения:
    15
    Большое спасибки. действительно не bh , но аl :)
     
  4. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    [offtop]
    еще не удивляйтесь, если после m_wait, m_s_0 и m_s_1 у вас будут портиться регистры bp, si, di
    [/offtop]