Помогите новичку.

Тема в разделе "WASM.BEGINNERS", создана пользователем IIEIIEJI, 24 окт 2008.

  1. IIEIIEJI

    IIEIIEJI New Member

    Публикаций:
    0
    Регистрация:
    22 окт 2008
    Сообщения:
    1
    Проблема в следующем:
    MOV CX,0102
    PUSH CX
    MOV CX,0004
    CALL (АДРЕС НАЧАЛА ПРОСТЫНИ ПРОГРАММ)
    LOOP АДРЕС САLL
    НАЧАЛО ПРОСТЫНИ
    PUSH CX
    POP CX
    POP CX
    RET
    При втором POP он вытаскивает не то значение которое я занес в стек первым PUSHом а совсем какое-то левое
    Если уж это что-то очень глупое прошу простить, потомучто я совсем новичок!
     
  2. KondraT

    KondraT Member

    Публикаций:
    0
    Регистрация:
    22 янв 2006
    Сообщения:
    175
    Замени push/pop cx на push/pop ecx.

    НАЧАЛО ПРОСТЫНИ
    PUSH CX
    POP CX
    POP CX - здесь ты выталкиваешь из стека в CX word адреса возврата из call.
    RET
     
  3. Aspire

    Aspire New Member

    Публикаций:
    0
    Регистрация:
    19 май 2007
    Сообщения:
    1.028
    Ну да. Если два попа у тебя внутри функции.