|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Assm - [решено] Задачи на ассемблере |
|
|
Assm - [решено] Задачи на ассемблере
|
Старожил Сообщения: 175 |
Доброго времени суток.Очень нуждаюсь в вашей помощи.Преподаватель задал выполнить практическую работу.Пожалуйста помогите разобраться.
Задание 1. Даны числа а=1234h и b=4321h (числа в 16ричном системе счисления) Нужно выполнить над ними :сложение,вычитание,конъюнкцию и дизъюнкцию. Еще необходимо определить флаги,вот только где их посмотреть я работаю во встроенном ассемблере в Borland Delphi 7 Сложение: 1234h+4321h=5555h Вычитание: 1234h-4321h=FFFF FFFF FFFF CF13 Конъюнкция : У меня результат получился 544h Дизъюнкция : Результат 21031h. Задание 2. Это задание мне вообще никак не понятно,прошу если есть возможность поделитель ссылой на ресурс где это описано. Задание 3. P.S не подумайте что я прошу все решить за меня или что то на подобии.Я прошу либо объяснить на каком нибудь примере как это хотя бы делается,потому читал учебник Assembler(В.Юров) но ничего сегментацию понять не могу. Преподаватель либо не совсем адекватный,либо сам ничего не понимает.Проблема сдачи практических у всей группы. |
|
Отправлено: 20:50, 03-03-2010 |
Ветеран Сообщения: 3320
|
Профиль | Отправить PM | Цитировать Snake750
1.Сложение без вопросов. Для вычитания формат записи ответа лучше свести до CF13 или CF13h. (h означает что число в 16ричной системе) А вот здесь как раз весьма актуально, что нужно смотреть флаги. Так как при отнятии от меньшего большего произошёл перенос, о чём сигнализирует установка флага в 1 (на скриншоте ниже это флаг с). Кстати, если бы было переполнение, в результате суммирования результат был больше FFFF, этот же флаг (более известен как бит переноса) точно так же бы сигнализировал про переполнение. ![]() Иллюстрация операции вычитания в Boralnd TASM Конъюнкция - логическое "И" (AND) или логическое умножение для данных значений (1234h и 4321h) даёт другой результат - 0220h Дизъюнкция - логическое "ИЛИ" (OR) или логическое сложение - 5335h А тут ещё проще. 2.Например Адресация памяти в реальном режиме Адресация памяти в защищённом режиме P.S. Для задач такого класса рекомендую почитать Абеля. Вместо встроенного в Borland Delphi 7 ассемблера рекомендую воспользоваться Borland TASM'ом. http://www.wasm.ru/toollist.php?list=7 (см. TASM 5+) Там и флаги можно смотреть. |
Отправлено: 01:56, 04-03-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 175
|
Профиль | Отправить PM | Цитировать Admiral, вы на счет задания 3 ничего подсказать не можете.вообще понять не могу что там надо сделать.
|
Отправлено: 02:05, 04-03-2010 | #3 |
Старожил Сообщения: 175
|
Профиль | Отправить PM | Цитировать Admiral, объясните пожалуйста как вы получили в дизъюнкции и конъюнкции такие результаты.Я проходил курс дискрентной математики,но там мы не производили операции с 16 ричными числами(в основном 0 и 1 )
|
Отправлено: 18:28, 04-03-2010 | #4 |
Старожил Сообщения: 175
|
Профиль | Отправить PM | Цитировать Сразу спрошу тут.Скачал TASM 5+.Разархивировал.Получил вот такую структуру:
В каталоге BIN позапускал все exe-файлы,ни один не работает(запуск и закрытие происходит).Подскажите пожалуйста как запустить данную программу. |
|
Отправлено: 01:49, 05-03-2010 | #5 |
Ветеран Сообщения: 3320
|
Профиль | Отправить PM | Цитировать Snake750 по 3му могу дать ссылку на общие сведенья
http://ru.wikipedia.org/wiki/Регистр процессора Для проведение дизъюнкции и конъюнкции Цитата:
К сожалению тот архив не содержит 16 битные версии Tasm, Tlink и самое главное - Td, скриншот которого содержится в посте №2. Такие файлы содержит например папка с Borland Pascal. Если последнего нету в наличии, то упомянутые файлы можно скачать отдельно, например отсюда http://faculty.kfupm.edu.sa/EE/basha.../downloads.htm Данные файлы нужно разместить в папке BIN Для начала в блокноте набирается код ассемблерной программы. Далее в консоли по очереди даются команды |
|
Отправлено: 12:02, 05-03-2010 | #6 |
Старожил Сообщения: 175
|
Профиль | Отправить PM | Цитировать Admiral, По третьему заданию я наше только то что CS — указатель на кодовый сегмент. Связка CS:IP указывает на адрес в памяти следующей команды.
Зная что CS=2135h, IP=24ADh Адрес следующей команды равен =2135+21AD=45E2h. А для чего тогда даны значения регистров BP=1350 DS=46A8 AX=1820 я не понял.Обьясните пожалуйста что с ними можно еще сделать чтобы найти адрес,или я уже нашел его? |
Отправлено: 17:47, 05-03-2010 | #7 |
Старожил Сообщения: 175
|
Профиль | Отправить PM | Цитировать Записать логический и физический адрес первых 5 ячеек 13-го сегмента.
Если я правильно понял то вся память разбита на 20 разрядные сегменты в диапазоне от 00000 до FFFFF. Мой сегмент получается будет 00013? Тогда как определить его логический адрес?Откуда взять смешение |
Отправлено: 18:07, 05-03-2010 | #8 |
Старожил Сообщения: 175
|
Профиль | Отправить PM | Цитировать Я нашел вот такой софт,посмотрите пожалуйста,то ли это что мне нужно.
Emu8086 http://www.emu8086.com/ |
Отправлено: 00:36, 07-03-2010 | #9 |
Ветеран Сообщения: 3320
|
Профиль | Отправить PM | Цитировать Snake750, не пользовался этим ПО. Судя по скриншоту и краткому описанию это то, чего можно достичь в Tasm\Tlink\Td, но через графический интерфейс.
|
Отправлено: 03:11, 07-03-2010 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Assm - Простые проги на ассемблере под dos | Dimaev | Программирование и базы данных | 2 | 08-05-2009 11:18 | |
Assm - Помогите решить задание на ассемблере | Wild_cat | Программирование и базы данных | 3 | 10-03-2009 09:49 | |
графика на ассемблере под дос | JCooper | Программирование и базы данных | 8 | 21-09-2004 09:46 | |
программа на Ассемблере | himik | Программирование и базы данных | 9 | 22-11-2003 04:40 | |
Аналитические задачи | noname00.pas | Программирование и базы данных | 4 | 12-12-2001 15:04 |
|