Помогите с прогой для i8080

Тема в разделе "WASM.BEGINNERS", создана пользователем swat24, 5 июн 2008.

  1. swat24

    swat24 New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2008
    Сообщения:
    2
    Помогите.Нужна на понедельник прога моделирующая работу мультиплексора 2-1 и двумя входами стробирования Е0 и Е1, начальный адрес программы 0А00
    входящее слово |DI0|DI1|X|A|XX|E0E1| по адресу 09BE
    исходящее |X|X|D0|X|X|D1|X|X| по адресу 09BF
     
  2. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    а чем отличается D0 от D1?
     
  3. swat24

    swat24 New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2008
    Сообщения:
    2
    при подачи на вход А - 0, на выходе будет D0, пр подачи на А -1 , на выходе будет D1
     
  4. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
    swat24
    IF (E0 AND E1 ) THEN { если мультиплексор выбран}
    BEGIN
    D0 := DI0 AND (NOT A)
    D1 := DI0 AND A
    END ?
    если у i8080 синтаксис такой же как у i8086, тогда
    Код (Text):
    1. mov al,E0
    2. and al,E1
    3. jz exit
    4. mov bl,A
    5. mov al,DI0
    6. and al,bl
    7. mov D1,al
    8. mov al,DI0
    9. not bl
    10. and al,bl
    11. mov D0,al
     
  5. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    у мультиплексора 2-1 2 входа (насколько я понимаю это DI0 и DI1) и 1 выход (например, D0), а также адресный вход А, который указывает с какого входа сигнал проходит на выход, и могут быть разрешающие входы (судя по условию) E(nabled)0 и Е1, допустим, если хотя бы один из них равен нулю - выход тоже равен нулю независимо от остальных входов. На некоторых мультиплексорах бывает дополнительный инверсный выход, у которого значение всегда противоположно прямому выходу. будем считать, что D0 - прямой выход, а D1 - инверсный. это условие. ну а решение тут не такое простое - я чуть позже подумаю.
     
  6. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
    shoo
    Судя по тому, что написано в
    требуется промоделировать работу демультиплексора, но боюсь в i8080 другой синтаксис, т.е. не MOV, а MVI не jz а brainz и т.д.
     
  7. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    что-то типа этого:
    Код (Text):
    1.     ORG 0A00H
    2.    
    3.     LDA 09BEH
    4.     MOV B,A
    5.     RAR
    6.     JNC E0      ; Е1=0
    7.     RAR
    8.     JNC E0      ; Е0=0
    9.     MOV A,B
    10.     ANI 10H     ; ПРОВЕРЯЕМ АДРЕСНЫЙ ВХОД
    11.     MOV A,B
    12.     JZ  A0
    13.     RAL         ;
    14. A0:
    15.     RAL         ; CF=DI1 ДЛЯ А=1 ИЛИ CF=DI0 ДЛЯ А=0
    16.     MVI A,20H   ; D0=1 D1=0
    17.     JC  DONE
    18. E0:
    19.     MVI A,4     ; D0=0 D1=1
    20. DONE:
    21.     STA 09BFH
    22.     HLT         ; ИЛИ RET И Т.П.
    -----------
    выкинул ненужную операцию
     
  8. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    человек нечетко представляет задачу, а это самое главное ;)