Вопрос № 104473: Здравствуйте граждане программеры,
У меня такая вот проблема. Дали на неделю задание по Ассемблеру, при этом лекций по синтаксису языка, его работе и т.п. не было вообще. Дали задание, пример программы и со словами сами разберётесь, велели до пон...Вопрос № 104480: Здравствуйте!Хочу начать изучение ассемблера.Пожалуйста подскажите какую литературу следует прочитать,
какие программы для этого нужны,и где всё это можно скачать? Зарание спасибо....
Вопрос № 104.473
Здравствуйте граждане программеры,
У меня такая вот проблема. Дали на неделю задание по Ассемблеру, при этом лекций по синтаксису языка, его работе и т.п. не было вообще. Дали задание, пример программы и со словами сами разберётесь, велели до понедельника сдать. Кое что я в интернете нарыл, но не всё, до конца так и не понял некоторые моменты. Я бы и сам разобрался, но времени очень мало и по другим предметам тоже задания дают, поэтому прошу мне помочь.
Итак, выдали мне задание, написать решение вот такого уравнения: http://wmzar.com/my_variant.bmp
В качестве примера дали программу вот такого уравнения: http://wmzar.com/primer.bmp (Код в приложении).
С принципом действия я кое как разобрался. Он пошаговый, единственное что я так и не понял, это работу функции «mul». Написано что она умножает аргумент на написанный в регистре, но где этот регистр.... и как туда записать 5, я не понял.... Вроде это переменная Ax...но у меня почему то не рабоате и как внести именно 5 в Ax если вначале другая цифра вносится.... В общем Ассемблер слишком сложен для самостоятельного изучения. В общем буду очень вам признателен, если вы напишите мне код моей программы. (это который
решение уравнения http://wmzar.com/my_variant.bmp). Програмка я так понимаю эелементарная должна быть.
Так же буду очень рад, если дадите ссылку на учебник по Ассемблеру, где всё доступно объясняется.
Отвечает: Farit
Здравствуйте, Стас Тельнов/[анти]КИЛЛЕР!
Mul это комманда умножения у которой второй сомножитель зависит от размера первого. если это байт тогда второй сомножитель находиться в регистре AL результат будет в AX, если слово тогда в AX результат в паре DX:AX, если двоиное слово в EAX результат в паре EDX:EAX у вас стойт mul bx поэтому второй сомножитель будет в AX а результат ищите в паре DX:AX (младшая часть в AX Старшая в DX . Чтобы вести 5 в AX mov AX, 5 если вам надо сохранить число которое у вас в АХ тогда до этой операций сохраните его в другом
регистре или памяти.
Из книг могу посоветовать Юров " Ассемблер Учебник для вузов" скачать в формате Word можно по ссылке http://depositfiles.com/files/1978951 весит чуть больше 1 мб.
В интернете можете поискать ее в формате PDF но весить она будет 14 мб
И еще одна книга в ней написано так что доступней некуда: "Изучаем Ассемблер" ссылка вот http://depositfiles.com/files/1967530
Удачи
Ответ отправил: Farit (статус: 1-ый класс)
Ответ отправлен: 06.10.2007, 18:25 Оценка за ответ: 5 Комментарий оценки: Большое вам спасибо за ссылки. Уже скачал, буду изучать)))
Отвечает: Sov
Здравствуйте, Стас Тельнов/[анти]КИЛЛЕР!
По моему пример который вам дали неправильно работает;)
x=2
y=4
если x<=y то z=x*y
Программа выдает результат 12;)
В приложении есть комментарии к примеру который вы привели и ваше задание
Рекомендую почитать учебник Зубкова. Он есть и в электронном виде и им удоюно пользоваться в качестве справочника.
Вот описание команды mul, взятое из этого учебника
Команда:
MUL источник
Назначение:
Умножение чисел без знака
Процессор:
8086
Выполняет умножение содержимого источника (регистр или переменная) и регистра AL, АХ, ЕАХ (в зависимости от размера источника) и помещает результат в АХ, DX:AX, EDX:EAX соответственно. Если старшая половина результата (АН, DX, EDX) содержит только нули (результат целиком поместился в младшую половину), флаги CF и OF устанавливаются в 0, иначе — в 1. Значение остальных флагов (SF, ZF, AF и PF) не определено.
Приложение:
Ответ отправил: Sov (статус: 7-ой класс)
Ответ отправлен: 06.10.2007, 18:46 Оценка за ответ: 5 Комментарий оценки: Огромное спасибо за приведённые коды программ... Мне тоже сначала показалось что не правильно работает, но я счёт это просто не пониманием мною работы программы. Большущее вам спасибо за коды программ, правда в моём варианте нужно было разделить х на 5*у, но это не важнол, уже сам вс исправил и вс работает! Большое вам спасибо ещё раз, вы меня просто спасли)))
Вопрос № 104.480
Здравствуйте!Хочу начать изучение ассемблера.Пожалуйста подскажите какую литературу следует прочитать,
какие программы для этого нужны,и где всё это можно скачать? Зарание спасибо.
Отвечает: Farit
Здравствуйте, Яблоков Максим Олегович!
Могу посоветовать книгу Крупника " Изучаем ассемблер " для начинающих я считаю эту книгу идееальной вот ссылка http://depositfiles.com/files/1967530
В ней приводятся примеры на myasm, где ее взять узнаете из книги .
В дальнейшем можно почитать книгу Юрова " Ассемблер для вузов " скачать в формате Word можно здесь : http://depositfiles.com/files/1978951
Файлы которые вам пригодяться можете найти в этих книгах и поискать в интернете
Ответ отправил: Farit (статус: 1-ый класс)
Ответ отправлен: 07.10.2007, 18:12
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Яблоков Максим Олегович!
Вам нужен
-компилятор с языка ассемблер (масм, тасм , фасм).
-редактор в котором набирать текст (можно PSPad editor).
Литература: Много различных книг, обратите внимание на С.Зубкова(есть примеры команд для различных компиляторов), В.Юрова, В.Пирогова. Ещё книги, Книги и инструменты, см "Архивы" (есть класика П.Абель и Masm 5.10).
Компиляторы для Dos:Masm 6.12, Tasm 4.1.
Компиляторы для Windows и различные инструменты на сайте:WASM.RU
Удачи!
--------- И только наступив на грабли мы приобретаем драгоценный опыт!