как спроектировать машину с нулевым адресом - PullRequest
4 голосов
/ 19 июля 2011

Кто-нибудь получил примеры использования стека с нулевым адресом? Я искал примеры микропроцессора с нулевым адресом, чтобы я мог разобраться с этим, но я не могу найти ни одного. Буду признателен за любую помощь в объяснении того, как разработать один.

Ответы [ 3 ]

4 голосов
/ 20 июля 2011

0-операнд (машины с нулевым адресом), так называемые стековые машины: все арифметические операции выполняются с использованием одной или двух верхних позиций в стеке;Для доступа к памяти используются команды с 1 и 2 операндами:

push a
push b
add
pop c

Просто смотрите,дизайн одного выглядит так, что до сих пор у всех, кого я видел, был MAR, который, если я не ошибаюсь, является регистром адреса памяти.

Так не значит ли это, что они не являются машинами с нулевым адресом?

3 голосов
/ 01 сентября 2011

Сегодня вы можете лучше понять концепции, если будете смотреть и экспериментировать с обычными виртуальными машинами. Например, JVM - это стековая машина, с которой легко экспериментировать с доступными инструментами для компиляции и манипулирования байт-кодом.

Smalltalk - это еще один пример, но языки на основе стеков, в общем, заслуживают внимания, и полученное понимание легко переносится на аппаратный уровень при необходимости.

2 голосов
/ 21 июля 2011

Я не уверен, поможет ли это вам, но:

http://i.stack.imgur.com/1rWv5.gif

Я получил его из руководства на сайте, где говорилось о машинах с нулевым операндом, не уверен, что егоправо

http://www.ece.cmu.edu/~koopman/stack_computers/chap3.html

...