2014-11-06 2 views
0

Я пытаюсь написать время цикла, в то время как N> 5.тестирование в цикле While (MARIE)

В то время как я понимаю просто сделать точку цикла и прыгает обратно к нему, как я должен написать skipcond тест для N> 5?

Я рассмотрел еще один вопрос MARIE относительно циклов, но не получил от него ответа.

EDIT: Забыл упомянуть, что моя идея состояла в том, чтобы вычесть 5 из N, затем skipcond 800, чтобы узнать, правда это или нет. Это правильный способ сделать это?

ответ

1

Вот что такое петля while, близкая к вашей & выглядит как в marie, посмотрите, смотрите ли вы на это, помогите вам или разместите то, что у вас есть, и я помогу вам. Что касается вашего вопроса, то вычитая 5 из N после записи Loop, Load N, должно работать нормально.

X := 1; 
    while X < 10 do 
X := X + 1; 
    endwhile; 

----- Marie Код выше

ORG 100 
Load One 
Store X /Initialize X 
Loop, Load X /Load loop constant 
Subt Ten /Compare X to 10 
SkipCond 000 /If AC<0 (X is less than 10), continue loop 
Jump Endloop /If X is not less than 10, terminate loop 
Load X /Begin body of loop 
Add One /Add 1 to X 
Store X /Store new value in X 
Jump Loop /Continue loop 
Endloop, Halt /Terminate program 
X, Dec 0 /Storage for X 
One, Dec 1 /The constant value 1 
Ten, Dec 10 /The loop constant 
Смежные вопросы