Вычислить Значение Выражения

Тема в разделе "Другие", создана пользователем KAD15, 6 дек 2012.

  1. KAD15

    KAD15 Гость

    Дано:
    Y = (a+b)/(c*d)^2
    Помогите пожалуйста найти ошибки!!!!
    Код ASM.
    Решение:
    программа с использованием абсолютной адресации:
    in 0
    stor a,A
    in 1
    stor a,B
    in 2
    stor a,C
    in 3
    stor a,D

    load b,A
    adm b,B
    load b,C
    mum b,D
    stor b,tmp
    mum b,tmp
    load a,tmp
    dvm b,tmp

    mov a,b
    out 4
    stop

    A:.ds 1
    B:.ds 1
    C:.ds 1
    D:.ds 1
    tmp:.ds 1
    end

    программа с использованием относительной адресации:
    .base b
    start: mvi b,start

    in o
    stor a,A
    in 1
    stor a,B
    in 2
    stor a,C
    in 3
    stor a,D

    push b
    push a
    load a, A
    adm a,B
    load a,C
    push b
    load b,D
    mur a,a
    mov a,b
    pop b
    push b
    mur b,b
    dvm a,1(sp)

    mov a,b
    out 4
    stop
    A: .ds 1
    B: .ds 1
    C: .ds 1
    D:.ds 1
    .end

    c) программа с использованием только регистров и стековой памяти
    in 0
    mov b,a
    in 1
    adm b,a
    in 2
    push a
    in 3
    push b
    mum a,b
    mur a,a
    dvm a, 1(sp)
    mov a, b
    out 4
    stop
    .end
     
Загрузка...

Поделиться этой страницей