Рубрики
Без рубрики

Программирование с низким уровнем для Кембриджа Уровень компьютерной науки – LMC VS 9608 Ассамблеи

Узнайте, как выполнить низкоуровневое программирование с использованием компьютерной науки Cambridge Kambridge на уровне 9608 набор языков сборки языка.

Автор оригинала: Robin Andrews.

Лучший способ узнать о программировании низкого уровня – это сделать! (По крайней мере, эмулируемая версия его с использованием инструмента, такого как фантастика Маленький мужской компьютерный симулятор, доступный здесь. )

Набор инструкций LMC проще для того, чтобы он использовал в Cambridge на уровне компьютерной науки 9608 Syllabus, но это достаточно похоже, чтобы сделать отличный первый шаг, и у вас также есть преимущество инструментов анимации и визуализации от симулятора.

Так что начните с инструкций LMC, которая выглядит так:

Пример программы, скажем, для добавления двух чисел выглядит так:

INP
STA X
INP
ADD X
OUT
HLT
X DAT

Эта статья не о изучении LMC SE – я охватил это в других статьях. Если вышеуказанный код выглядит непростой, попробуйте запустить его в симуляторе LMC и посмотрите, сможете ли вы следовать тому, что происходит. Если на этом этапе слишком сложно понять, вернитесь, когда вы изучали основы LMC немного больше.

Приведенный выше код в наборе инструкций Кембридж 9608 (см. Изображение ниже) выглядит так:

IN
STO X
IN
ADD X
OUT
HLT
X DAT

Сделайте преподавание или обучение LMC Cinch с этим полным и с любовью скомпилированным (!) Маленьким человеком компьютерным программированием обучающих пакетом для компьютерной науки GCSE и уровня.

  • Маленький мужчина компьютерное программирование Учебный пакет для компьютерных наук GCSE и уровень £ 15,00 купить сейчас

Как видите, единственные различия являются тривиальными вариациями правописания.

Разница более значительна в следующем примере. Эта программа LMC принимает ввод до ввода 0:

START   INP
        BRZ END
        OUT
        BRA START
END     HLT

Версия Cambridge 9608 использует альтернативную систему для разветвления. У нас есть JMP вместо BZA Для безусловных прыжков, но тогда у нас есть JPE и JPN для прыжка на основе результата предыдущего CMP (сравнение). Чтобы увидеть это в действии, посмотрите на код ниже.

START   INP
        CMP ZERO
        JPE STOP
        OUT
BRA     START
STOP    HLT
ZERO    DAT 0

Преобразование между инструкциями LMC и инструкциями Cambridge 9608 довольно прост, как только вы уверены в себе более простой версией LMC. Это может показаться дополнительной работой для изучения двух вариаций, но преимущества, безусловно, делают его того, – во-первых, вы можете использовать симулятор LMC, как уже упоминалось, а во-вторых, изучая различия и сходства, вы будете углубить ваше понимание всей темы.

Обратите внимание, что это одна из тем в информатике, которые требуют некоторых глубокое обучение Отказ Вы должны рассчитывать на то, чтобы потратить немного времени, чтобы похваться с ним и испытать некоторую первоначальную путаницу, которая уступит к различным моментам «ага».

Ох, и одна маленькая деталь, которая может помочь: вы не можете использовать Конец Как этикетка в сборке Кембридж 9608, как это ключевое слово!

Удачи!