2016-09-19 3 views
-3

С суммой квадратов a^2 + b^2 ==? Я пытаюсь написать прямой код для этого на ассемблере HMMM (Harvey Mudd Miniature Machine) (работает в моей IDLE IDE). Прямо сейчас у меня естьСумма квадратов домашней работы

0 read r1 #read number given 
1 read r2 #read number given 
2 mul r1 r1 r1 #multiply number times itself 
3 mul r2 r2 r2 #multiply number times itself 
4 add r3 r1 r2 #add the two numbers 
5 write r3 #write the new number 

Это домашнее задание для школы. Мой учитель сказал, что онлайн-помощь в порядке, пока я цитирую, откуда пришла помощь.

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

+0

Вы можете запустить свой код? Какие входы и выходы? – Mick

+0

Если вам нужна документация по HMMM, вам может понадобиться команда halt. – Mick

+2

Обратитесь к вашему инструктору или в TA за помощью в отношении использования компьютера. Если у вас возникли проблемы даже с тем, чтобы инструменты работали, тогда слишком много делается для того, чтобы это был один полезный вопрос о SO. –

ответ

2

Ну, ваш код работает (с добавлением команды halt), поэтому для этого 9/10. Я не мог понять, как использовать IDLE, поэтому я просто запустил ассемблер и симулятор HMMM из командной строки Windows. Это то, что я получил:

D:\Users\Mick\Development\Eclipse\HMMM>hmmmAssembler.py 
Enter input file name: sum_squares.ha 

---------------------- 
| ASSEMBLY SUCCESSFUL | 
---------------------- 

0 : 0000 0001 0000 0001  0 read r1 #read number given 
1 : 0000 0010 0000 0001  1 read r2 #read number given 
2 : 1000 0001 0001 0001  2 mul r1 r1 r1 #multiply number times itself 
3 : 1000 0010 0010 0010  3 mul r2 r2 r2 #multiply number times itself 
4 : 0110 0011 0001 0010  4 add r3 r1 r2 #add the two numbers 
5 : 0000 0011 0000 0010  5 write r3 #write the new number 
6 : 0000 0000 0000 0000  6 halt 


D:\Users\Mick\Development\Eclipse\HMMM>hmmmsimulator.py 
Enter debugging mode? no 
Enter number: 2 
Enter number: 3 
13 

D:\Users\Mick\Development\Eclipse\HMMM> 

HTH :)

+0

Спасибо! Я действительно обнаружил, что это сработало, как только я ввел его в онлайн-ассемблер, которому я просто должен был сделать setn (затем число) дважды, чтобы дать код, который мои желательные номера затем остановят. – Taylor

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