Вопрос

Тема в разделе "WASM.BEGINNERS", создана пользователем newMaximYCH, 14 фев 2009.

  1. newMaximYCH

    newMaximYCH New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2007
    Сообщения:
    209
    Код (Text):
    1.   mov al, 0        ;; Write string
    2.   mov bh, 1
    3.   mov dh, 3
    4.   mov dl, 2
    5.   mov cx, 25
    6.   ;; ...
    7.   int 10h
    В списке прерываний вижу
    Этого момента я не совсем дополнял. Буду благодарен кто пояснит.
     
  2. jaja

    jaja New Member

    Публикаций:
    0
    Регистрация:
    23 июл 2008
    Сообщения:
    243
    Ну кидаешь ему строку он ее выводит. И чо
     
  3. newMaximYCH

    newMaximYCH New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2007
    Сообщения:
    209
    Куда кидать то? Я не понимаю смысла ES:BP. Каким образом?
     
  4. V1lko

    V1lko New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2009
    Сообщения:
    53
    В ЕS нужно указать сегмент данных, в BP указать смещение строки относительно начала сегмента. По этому так и пишут ES:BP.
    Попробуй что-то вроде:

    Push DS
    Pop ES
    lea BP,sString
    ...
    Дальше вызов прерывания.

    Инструкция lea BP, sString эквивалентна mov BP, offset sString.
     
  5. newMaximYCH

    newMaximYCH New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2007
    Сообщения:
    209
    fasm ругается на lea BP, msg
    Код (Text):
    1.   start:
    2.  
    3.   mov al, 1        ;; Select page
    4.   int 10h
    5.   mov al, 0        ;; Write string
    6.   mov bh, 1
    7.   mov dh, 3
    8.   mov dl, 2
    9.   mov cx, 25
    10.   push ds
    11.   pop es
    12.   lea BP, msg
    13.   int 10h
    14.  
    15.   msg: db 'Test', 0
     
  6. V1lko

    V1lko New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2009
    Сообщения:
    53
    Попробуй
    mov BP, offset Msg
    Или
    mov BX, offset Msg
    mov BP,BX
     
  7. newMaximYCH

    newMaximYCH New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2007
    Сообщения:
    209
    Неа, invalid operand
     
  8. newMaximYCH

    newMaximYCH New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2007
    Сообщения:
    209
    Нашел ошибку,
    Код (Text):
    1.   push ds
    2.   pop es
    3.   mov BP, msg
    msg то с маленькой буквы, я забыл
     
  9. G13

    G13 New Member

    Публикаций:
    0
    Регистрация:
    24 мар 2006
    Сообщения:
    499
    lea BP,[msg]
     
  10. newMaximYCH

    newMaximYCH New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2007
    Сообщения:
    209
    Поправил, спасибо