вывод на екран спомощью функции 2h..

Тема в разделе "WASM.BEGINNERS", создана пользователем Axotnik, 17 май 2007.

  1. Axotnik

    Axotnik New Member

    Публикаций:
    0
    Регистрация:
    8 май 2007
    Сообщения:
    48
    наодо вывести на екран с помощью функций ДОС ---2h свою фамилию на екран...
    и еще как можна вивести свою фамилию через команду mov в цыкле на екран.путем прямого вывода в видеопамять..?помогите разобратьссся плиз...
     
  2. Vov4ick

    Vov4ick Владимир

    Публикаций:
    0
    Регистрация:
    8 окт 2006
    Сообщения:
    581
    Адрес:
    МО
    INT 21 - DOS 1+ - WRITE CHARACTER TO STANDARD OUTPUT
    AH = 02h
    DL = character to write
    Return: AL = last character output
    ^C/^Break are checked, and INT 23 executed if pressed

    Видеопамять устроена так: сначала идёт символ, потом его атрибут (всё по 1 байту). Её сегментный адрес обычно 0B800h
     
  3. Axotnik

    Axotnik New Member

    Публикаций:
    0
    Регистрация:
    8 май 2007
    Сообщения:
    48
    вы не понялли...два вопросса:
    1.надо вывести на екран с помощью функций ДОС ---2h свою фамилию на екран..
    2.как можна вивести свою фамилию через команду mov в цыкле на екран.путем прямого вывода в видеопамять....
    пожалуста коментарии в цыкле...и желательно код для ---ехе программ..
     
  4. AndreyATC

    AndreyATC New Member

    Публикаций:
    0
    Регистрация:
    16 май 2007
    Сообщения:
    60
    ответ на вопрос 1:
    Код (Text):
    1. text   db 'Привет)))',10,13
    2. ...
    3. mov ah,02h
    4. mov cx,11   ;длина строки вывода
    5. lea  di,text
    6. L_T:
    7. mov dl,[di]
    8. int   21h
    9. inc  di
    10. loop L_T
    11. ...
    вот в принцыпе и все)
     
  5. Axotnik

    Axotnik New Member

    Публикаций:
    0
    Регистрация:
    8 май 2007
    Сообщения:
    48
    пасибо а на второй вопросс...
     
  6. AndreyATC

    AndreyATC New Member

    Публикаций:
    0
    Регистрация:
    16 май 2007
    Сообщения:
    60
    Axotnik
    а с вторым вопросом лень играца)))
     
  7. AndreyATC

    AndreyATC New Member

    Публикаций:
    0
    Регистрация:
    16 май 2007
    Сообщения:
    60
    видео память располагается начиная с B800:0000.
    туда и прокопируй свою строку!
     
  8. CroX

    CroX New Member

    Публикаций:
    0
    Регистрация:
    9 сен 2006
    Сообщения:
    37
    Код (Text):
    1. org 100h
    2. mov ax,0B800h
    3. mov es,ax
    4. mov si,offset text
    5. xor di,di
    6. repe movsb
    7. ret
    8. text db "H",7,"e",7,"l",7,"l",7,"o",7
     
  9. AndreyATC

    AndreyATC New Member

    Публикаций:
    0
    Регистрация:
    16 май 2007
    Сообщения:
    60
    Код (Text):
    1. text   db 'Привет)))',10,13
    2. ...
    3. mov cx,11   ;длина строки вывода
    4. lea   si,text
    5. mov ax,0B800h
    6. mov es,ax
    7. xor di,di
    8. mov  
    9. L_T:
    10. mov al,[si]
    11. mov es:[di],al
    12. mov al,7
    13. mov es:[di+1],al
    14. add di,2
    15. inc  si
    16. loop L_T
    17. ...
    примерно так:)
     
  10. Axotnik

    Axotnik New Member

    Публикаций:
    0
    Регистрация:
    8 май 2007
    Сообщения:
    48
    Не знаб то шо вы мне пишете не работает...не знаю почему у кода.
    text db 'Привет)))',10,13
    ...
    mov cx,11 ;длина строки вывода
    lea si,text
    mov ax,0B800h
    mov es,ax
    xor di,di
    mov
    L_T:
    mov al,[si]
    mov es:[di],al
    inc di
    inc si
    loop L_T

    ошибка в строке mov



    в коде org 100h
    mov ax,0B800h
    mov es,ax
    mov si,offset text
    xor di,di
    repe movsb
    ret
    text db "H",7,"e",7,"l",7,"l",7,"o",7
    ничего не віводиться
     
  11. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    Axotnik
    :-D Не сомневаюсь. Если у остальных мувов аргументы поубирать, там тоже ошибка будет.
    Под виндой уж точно не выведется.
     
  12. matich

    matich New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2007
    Сообщения:
    72
    попробуй в начало проги добавить

    mov ax, 0x0003
    int 0x10

    заработает =)


    FASM. извините за неоптимальный код =)
    Код (Text):
    1. org 100h
    2.  
    3.   mov ax, 0003h
    4.   int 10h
    5.  
    6.   mov ax,0B800h
    7.   mov es, ax
    8.   lea si, [text]
    9.   xor di, di
    10.  
    11. output:
    12.   mov al, [si]
    13.   cmp al, 0
    14.   je exit
    15.   mov [es:di], al
    16.   add di, 2
    17.   inc si
    18. jmp output
    19.  
    20. exit:
    21.  mov ah, 10h
    22.  int 16h
    23.  int 20h
    24.  
    25. text db "HELLO",0
     
  13. Vov4ick

    Vov4ick Владимир

    Публикаций:
    0
    Регистрация:
    8 окт 2006
    Сообщения:
    581
    Адрес:
    МО
    1 Попробуй перед rep положить в cx длину строчки раз уж на то пошло.
    2 Зачем repE ?
    3 Настоятельно советую набрать в поисковике "ASMDOS1.DOC" (c кавычками). Ответы на все твои вопросы там есть. Ибо нечего дёргать людей из-за незнания элементарных основ.

    ЗЫ Товарищи, пусть человек сам думать научится. а то так и будет копипастером.
     
  14. Axotnik

    Axotnik New Member

    Публикаций:
    0
    Регистрация:
    8 май 2007
    Сообщения:
    48
    Код:
    org 100h

    mov ax, 0003h
    int 10h

    mov ax,0B800h
    mov es, ax
    lea si, [text]
    xor di, di

    output: mov al, [si]
    cmp al, 0
    je exit
    mov [es:di], al
    add di, 2
    inc si
    jmp output

    exit:
    mov ah, 10h
    int 16h
    int 20h
    вот в етом коде тоже ошибка
    в строке
    output:
    --operator ignored----что ето такое
     
  15. matich

    matich New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2007
    Сообщения:
    72
    Axotnik,
    вот бинарик, загрузи его в иду и посмотри на код.
     
  16. Axotnik

    Axotnik New Member

    Публикаций:
    0
    Регистрация:
    8 май 2007
    Сообщения:
    48
    "ASMDOS1.DOC" дайте ссилку на него потому что что не скачаю а там только половина ждо 232 и всё а всего их 480
     
  17. Axotnik

    Axotnik New Member

    Публикаций:
    0
    Регистрация:
    8 май 2007
    Сообщения:
    48
    а код в файле где?
     
  18. matich

    matich New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2007
    Сообщения:
    72
    Вот код. Компилить FASM'ом
     
  19. Axotnik

    Axotnik New Member

    Публикаций:
    0
    Регистрация:
    8 май 2007
    Сообщения:
    48
    а у меня тасм стоит...
     
  20. Axotnik

    Axotnik New Member

    Публикаций:
    0
    Регистрация:
    8 май 2007
    Сообщения:
    48
    а коментарии не можеш написать