1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

Проблемы с выводом символов на экран

Тема в разделе "WASM.OS.DEVEL", создана пользователем beginnerga, 1 дек 2019.

  1. beginnerga

    beginnerga New Member

    Публикаций:
    0
    Регистрация:
    1 дек 2019
    Сообщения:
    7
    Программа очищает экран (заполняет розовым), но не выводит символы. Скажите, в чём дело
    P.S. Я новичок
    P.S.S. Пишу на FASM
    Код:
    Код (ASM):
    1.           org 7C00h
    2.           use16
    3.           ;------------------------;
    4.           mov ax,0300h             ;
    5.           int  10h                 ;
    6.           ;------------------------;
    7.  
    8.           ;------------------------;
    9.           mov ax,0500h             ;
    10.           int 10h                  ;
    11.           ;------------------------;
    12.  
    13.           ;------------------------;
    14.           mov bx,0                 ;
    15.           mov dl,0                 ;
    16.           mov dh,25                ;
    17.           mov ah,02h               ;
    18.           int 10h                  ;
    19.           ;------------------------;
    20.  
    21.           cli
    22.           cld
    23.  
    24.           xor ax, ax
    25.           mov ds, ax
    26.           mov es, ax
    27.           mov ss, ax
    28.           mov sp, 0x8000
    29.           sti
    30.  
    31.           ;------------------------;
    32.           mov  cx,2000             ;
    33.           mov  al,' '              ;
    34.           mov  ah,[FON]            ;
    35.           ;------------------------;
    36.           mov  EDI,0B8000h         ;
    37.           ;------------------------;
    38. .CICL:    test cx,cx               ;
    39.           jz  .ENDCI               ;
    40.           MOV [ES:EDI],al          ;
    41.           inc  EDI                 ;
    42.           MOV [ES:EDI],ah          ;
    43.           inc  EDI                 ;
    44.           dec  cx                  ;
    45.           jmp .CICL                ;
    46. .ENDCI:   ;------------------------;
    47.           mov  al,'+'              ;
    48.           mov  ah,[FON]            ;
    49.           ;------------------------;
    50.           mov  EDI,0B8000h         ;
    51.           ;------------------------;
    52.           MOV [ES:EDI],al          ;
    53.           inc  EDI                 ;
    54.           MOV [ES:EDI],ah          ;
    55.           ;------------------------;
    56.           jmp $
    57.           FON      : DB 01010101b;
    58.  
    59. times 0x200 - 2 - ($ - $$) db 0x90
    60. db  055h, 0AAh
     
  2. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.327
    Адрес:
    Fryazino
    А зачем вы розовым по розовому выводите?
     
    Indy_ нравится это.
  3. beginnerga

    beginnerga New Member

    Публикаций:
    0
    Регистрация:
    1 дек 2019
    Сообщения:
    7
    Попробовал другим цветом, вывелось. Спасибо за ответ!
     
  4. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    2.783
    Pavia,

    Так же как и незачем маскировать IF при сбросе сегментов, а загрузка стека и так маскирует прерывания. Копипаста(константы не именованы), врядле тс дальтоник :yes: