2014-09-16 3 views
0

Я только начал курс информатики в старшей школе, и мы получили неопределенные инструкции по сборке и аккумулятору. Это часть программы, которая мне нужно проследить выход для (входные значения 40 и 24):Базовая программа аккумулятора

001 IN N1 
002 IN N2 
003 LDA N1 
004 MUL N2 
005 STA PR 
006 LDA N2 
007 CMP #0 
008 JEQ 011 

и идет дальше. Я понимаю, что происходит с 001-006, но после этого я застрял на CMP и JEQ. В 006 аккумулятор загружает N2, который равен 24, но следующим шагом является CMP, который, по моему мнению, заключался в сравнении двух значений с использованием вычитания. Я не уверен, что делать, когда есть только # 0. Для 008 JEQ означает прыжок, если он равен, поэтому я имею право предположить, что он просто говорит: «Если n2 равно N2, перейдите к 011, а затем продолжите оттуда»?

Благодаря

ответ

0

CMP в таком роде собрания, как правило, сравнивать значение аргумента,/и установить флаг /, если оно соответствует. Затем JEQ будет прыгать, если этот флаг установлен.

Если вы мне сказали, что ваш целевой процессор, я мог бы быть намного более точным об этом, и даже использовать правильную терминологию и т.д. =)

+0

Спасибо за ответ. Я не думаю, что мой учитель когда-либо рассказывал нам, что такое целевой процессор. Она просто представила эти операции по определению и сказала нам проследить программу. Итак, CMP сравнивает N2 с # 0? Что такое # 0? – SaleenS7

+0

Я верю, что # 0 - «немедленный ноль». # Означает число буквально, как оно (0), а не ссылку на какое-то другое место, чтобы найти значение. Итак, вы сравниваете с # 0 «нулевое число». – BadZen

Смежные вопросы