Маленький человечек компьютер: if(value==0){ some_statements;

Я лично пытаюсь выучить маленький человечек компьютер.

Я нашел проблему:

  1. Напишите программу LMC (Little Man Computer), чтобы выполнить следующую задачу.

    if (value == 0) {some_statements; } next_statement;

Мой текущий ответ:

    00 901  IN (value)
    01 399 STORE
    02 808 TEST
    03 901  IN (value)
    04 808 TEST
    05 000 STOP 

Я не верю, что это правильно... кто-нибудь может мне помочь? любая учебная информация будет оценена или направление. Спасибо.

1 ответ

Все, что делает компьютер - это следит за потоком кодов, таких как сложение, вычитание, сохранение и т. Д.

Один из кодов позволяет прыгать мимо другого кода. Вот как компьютер обрабатывает условные выражения на самом базовом уровне. Код BRZ будет переходить на указанную строку кода, если ваш аккумулятор установлен на 0.

10 Input to accumulater
20 BRZ 60                    < go to line 60 if accumulator is 0
30 do something //skip me
40 do something //skip me
50 HALT
60 do something else
70 do something else
80 BRZ 30

Если бы аккумулятор не был равен 0, он просто следовал бы и делал строки 30 и 40, а затем заканчивал в строке 50.

Другие вопросы по тегам