LINUX.ORG.RU

MIX


0

2

Здравствуйте! Есть здесь люди знакомые с трехтомником Кнута? В общем вопрос по арифметике. Имеются примеры

SUB 1000
- |1234|0 |0|9| rA до операции
- |2000|150 |0| Ячейка 1000
-----------------------------
+ | 766|149 |?| rA после операции

MUL 1000(1:1)
- | | | | 112 | rA до операции
? |2|?|?| ? |?| Ячейка 1000
-----------------
- | | | | |0| rA после операции
- | | | |224| rX после операции

DIV 1000
- | | | | |0| rA до операции
+ |1235 |0|3|1| rX до операции
- | 0| 0|0|2|0| Ячейка 1000
---------------------
+ |0 |617 |?|?| rA после операции
- |0 |0 |0|?|1| rX после операции


В общем не понятно как здесь выполняются арифметические операции. Если кто-нибудь знает как здесь все устроено поделитесь. Что нужно? Нужно описание в понятной форме как появились знаки вопроса. Скорее всего знаки вопроса у Кнута потому что эти числа могут быть любые или результат зависит от разрядности байта.



Последнее исправление: jeep (всего исправлений: 1)

Ответ на: комментарий от J-man

Очень честно отвечаю : ОН мне нахер не нужен. Но если так-то посудить, до почти все ассемблеры одинаковы. Я так не сильно спец в ассемблерах, но вообще говоря, какие операции реализуются в железе в блоке микропрограмного управления. почти одни и те же операции - арифметика, сдвиги, джампы, ввод вывод, итд. Есть отличия в разрядности, в количестве регистров и их разрядностей, итд Но это, как мне кажется, не существенно сточки зрения модели.

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

jeep
() автор топика
Ответ на: комментарий от jeep

по мне так сейчас асм вообще изучать смысла нет, лучше в совершенстве овладеть каким-нибудь достаточно низкоуровневым языком типа С

J-man
()
Ответ на: комментарий от J-man

Конечно, правильно все думаешь. Но асм помогает понять как работает компьютер. В общем-то чем мастер от инженера отличается? Мастер просто делает то как ему показали + некоторый опыт. Инженер принимает решение как сделать на основе знаний о том как все устроено. Это грубо говоря. Здесь можно спорить и устроить дискуссию, что это не так и мастер крут. И я даже соглашусь, но я рассчитываю что мысль была понята и мы не будем тут разводить подобных дискуссий.

Вывод: знать ассемблер полезно, но совсем не обязательно.

jeep
() автор топика

Любой ананимус в душе надеется что профессор кнут устроится в интел и устроит экстерминатус платформе x86

ACR
()
Ответ на: комментарий от J-man

Конкретный ассемблер изучать не обязательно (хоть и желательно), а вот абстрактный, тот же MIX, каждому не помешает.

anonymous
()
SUB 1000
- 12 34 00 00 09 rA
- 20 00 01 50 00 1000
================
+ 07 66 01 49 91 rA

MUL 1000(1:1)
- 00 00 00 01 12 rA
+ 02 00 00 00 00 1000
================
- 00 00 00 00 00 rA
- 00 00 00 02 24 rX

DIV 1000
- 00 00 00 00 00 rA
+ 12 35 00 03 01 rX
- 00 00 00 02 00 1000
================
+ 00 06 17 50 01 rA
- 00 00 00 01 01 rX

имхо

anonymous
()
Ответ на: комментарий от J-man

Кто ж тогда будет писать загрузчики, драйверы, генераторы кода в компиляторах прошивки для микроволновок в конце концов?

Ну и знать, как все устроено специалисту надо.

nanonymous
()

очень сорри за офтопег

очень сорри за офтопег. пишу здесь ибо тему перенесли в толксы -_-
http://www.linux.org.ru/jump-message.jsp?msgid=5654001&cid=5654194

если кому не вломы тыкните ссылку на сей пост isden'у

охохо! ульяновский политех, ФИСТ? :)

ололо. ульновский УлГУ, ФИТТ :3

anonymous
()
Ответ на: комментарий от anonymous

Тут нужно было не подставить правильные цифры, а объяснить знаки вопроса. Знаки вопроса там стоят правильно.

jeep
() автор топика
Ответ на: комментарий от nanonymous

В общем все затеяно, только ради того чтобы разобраться в устройстве ассемблеров. Хотелось бы все таки знать ответ на вопрос.

jeep
() автор топика
Ответ на: очень сорри за офтопег от anonymous

Прошу заметить!!! Все пишут в коментах по этой ссылке, что он не нужен, однако все зачем-то его когда-то использовали, хотя бы один раз. А значит и разобрались.

jeep
() автор топика
Ответ на: комментарий от jeep

Я кнутов не читал и этот об этом ващем mix'е узнал из этой темы, но то что знаки вопроса являются какбы домашним заданием которое нужно решить (вместо "?" вписать циферки) - это [b]очевидно[/b].
Например с операцией вычитания можете где угодно и как угодно посчитать: -1234000009 - 2000015000 = 766014991. аналогично и с двумя другими. Всё что нужно для понимания (хотя бы такой банальщины) есть в википедии.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.