Вопрос

Discussion in 'WASM.BEGINNERS' started by newMaximYCH, Feb 14, 2009.

  1. newMaximYCH

    newMaximYCH New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2007
    Messages:
    209
    Code (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

    Blog Posts:
    0
    Joined:
    Jul 23, 2008
    Messages:
    243
    Ну кидаешь ему строку он ее выводит. И чо
     
  3. newMaximYCH

    newMaximYCH New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2007
    Messages:
    209
    Куда кидать то? Я не понимаю смысла ES:BP. Каким образом?
     
  4. V1lko

    V1lko New Member

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

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

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

    newMaximYCH New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2007
    Messages:
    209
    fasm ругается на lea BP, msg
    Code (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

    Blog Posts:
    0
    Joined:
    Jan 15, 2009
    Messages:
    53
    Попробуй
    mov BP, offset Msg
    Или
    mov BX, offset Msg
    mov BP,BX
     
  7. newMaximYCH

    newMaximYCH New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2007
    Messages:
    209
    Неа, invalid operand
     
  8. newMaximYCH

    newMaximYCH New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2007
    Messages:
    209
    Нашел ошибку,
    Code (Text):
    1.   push ds
    2.   pop es
    3.   mov BP, msg
    msg то с маленькой буквы, я забыл
     
  9. G13

    G13 New Member

    Blog Posts:
    0
    Joined:
    Mar 24, 2006
    Messages:
    499
    lea BP,[msg]
     
  10. newMaximYCH

    newMaximYCH New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2007
    Messages:
    209
    Поправил, спасибо