Автор оригинала: Robin Andrews.
Делать умножение с использованием Маленький человек компьютер Инструкции могут быть довольно задачей для новичков. Как только вы сможете это сделать, вы будете на пути к уровню мастерства, необходимые для таких экзаменов, как Компьютерная наука на уровне Отказ
Одна большая область сложности в письменном виде инструкции понимает, как работает процесс умножения. Многие люди получают до понимания того, что нам нужно использовать Повторное дополнение , но все еще путают детали.
Ключ здесь – понять или помнить, что в умножении каждый операнд имеет Разная роль Отказ Таким образом, хотя бы 5 * * 5, например, роли 4 и 5 различны в каждом случае.
Давайте посмотрим на вторую версию: 4 * 5. По соглашению, 4 здесь называется множитель и 5 называется Мультипликация Отказ Мультипликация является «вещь, которую нужно умножить», так что 4 * 5 теперь однозначно представляет собой 5 + 5 + 5 + 5 + 5.
В псевдокоде у нас есть:
Read input into R0 and R1
Set RESULT to 0
While R1 > 0
{
Subtract 1 from R1
Add R0 to RESULT
}
Output RESULT
Здесь R0 и R1 (Подумайте «Регистр 0» и «Зарегистрируйтесь 1») Воспроизвести совершенно разные роли. R0 многопользовательская и R1 Это множитель. С этой ясностью реализация становится намного легче понять. Вы должны попытаться сделать это сами, прежде чем смотреть на решение ниже. Вы узнаете гораздо больше, если вы на самом деле попробуйте инструкции как Runnable Code в симуляторе LMC, такие как Это отлично от Peter Higginson Отказ Удачи!
INP
STA R0
INP
STA R1
LOOP LDA R1
BRZ END
SUB ONE
STA R1
LDA RES
ADD R0
STA RES
BRA LOOP
END LDA RES
OUT
HLT
// Temporary storage
// R1 is multiplier
R1 DAT
// R0 is multiplicand
R0 DAT
RES DAT
// Constants
ONE DAT 1
Маленький мужской компьютерный программирование Учебный пакет для компьютерных наук GCSE и уровень
Вы можете проверить отличный ресурс для обучения или изучения компьютерного программирования, нажав на здесь или на изображении ниже.