2012-03-09 3 views
1

Мы работаем со сборкой. Я потерян. Это практика вопрос о учебном пособии:Теория сборки


Использования гипотетических машин (3-адрес, 2-адрес, 1-адрес и 0-адрес) и следующих команды:

load= puts value in address 
add = + 
mult = * 
sub = - 
lda=load in accumulator 
sta = loads from accumulator to memory 
push=copies to the stack 
pop=copies from the stack 

Показать на каждой машине инструкции для выполнения следующей задачи:

F=E+(A-C) – (B*E) 

А. Может некоторые один объясняет, как эти 4 разных типа машины отличаются в терминах кода? B. Может ли кто-нибудь показать мне, как сделать один из четырех, чтобы начать?

+2

Какое отношение это имеет к сборке x86? –

+0

Мне было интересно то же самое. Думаю, это теория сборки? Вид? Я не проектировал класс, это точно. – Aerovistae

+0

Ну, вы, вероятно, не должны иметь теги x86 или x86-64, так как они не имеют никакого отношения к вашему вопросу. –

ответ

2
3-Addr. (Result and ops from memory) 
mult b, b, e 
sub f, a, c 
sub f, f, b 
add f, e, f 

2-Addr (Shared result and one op) 
mult b, e 
sub a, c 
load f, e 
add f, a 
sub f, b 

1-Addr (Accu only) 
lda b 
mult e 
sta b 
lda a 
sub c 
sta a 
lda e 
add a 
sub b 
sta f 

0-Addr (Stack only) 
push e 
push a 
push c 
sub 
add 
push b 
push e 
mult 
sub 
pop f 
+0

Несколько лет спустя, оглядываясь назад на мои старые вопросы, я хотел сказать, что это объяснение был ДЕЙСТВИТЕЛЬНО полезен для меня в то время. Большое спасибо. – Aerovistae

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