Все по теме - ТУТ. Кому нужно пособие - рекомендую "Ассемблер. Самоучитель" автор: Крупник. также, есть на торрентах.
А вот к нему файлы ( листинги, компиляторы и FAR)
Ассемблер и Машинно-зависимые языки
Сообщений 1 страница 7 из 7
Поделиться104-10-2013 17:37
Поделиться204-11-2013 13:10
Таблица соответствия чисел в различных системах:
=======================================================
Онлайн перевод чисел тут
=======================================================
Очень понятно о сложении в 16-ричной системе тут или ниже:
Сначала вспомним, как выполняется сложение в традиционной десятичной системе счисления.
Пусть надо сложить два числа: 748 + 254.
Складываем, начиная с самой правой позиции. 8+4 =12. Результат больше 10, поэтому переносим 1 в следующий слева разряд, вычитаем 10 из 12 и записываем в первой позиции 2. Переходим к следующей слева позиции.
Складываем 4 и 5. Получаем 9. Да еще была 1 из предыдущего разряда – всего 10. Результат равен 10. Вычитаем 10 и в данной позиции записываем 0. Переносим 1 в следующий разряд. Переходим к следующей слева позиции.
Складываем 7 и 2. Получаем 9. Да еще была 1 из предыдущего разряда – всего 10. Результат равен 10. Вычитаем 10 и в данной позиции записываем 0. Переносим 1 в следующий разряд. Переходим к следующей слева позиции.
Складывать уже нечего, но был перенос 1 из предыдущего разряда. Записываем окончательный результат: 1002
Теперь попробуем сложить два числа в шестнадцатеричной системе счисления: 2A3C + 7B97. При сложении все время будем смотреть в приведенную выше Таблицу соответствия.
Складываем, начиная с самой правой позиции: С + 7. Вспоминаем, что С – это 12. 12 + 7 = 19. Так как результат больше 16, то переносим 1 в следующий разряд, Потом из 19 вычитаем 16 и получаем 3. Записываем эту цифру в первой справа позиции. Переходим к следующей позиции.
Складываем 3 и 9. И еще 1 из предыдущей позиции. Всего 13. В шестнадцатеричной системе это цифра D. Записываем D в этой позиции. Переноса нет, потому что сумма меньше 16. Переходим к следующей слева позиции.
A + B. 10+11 = 21. Больше 16, поэтому вычитаем 16, переносим 1 в следующий разряд, а тут записываем цифру 5 (21 – 16 =5). Переходим к следующей слева позиции.
2+7+1 = A. Переноса нет. Записываем окончательный результат A5D3
Сложим два двоичных числа 10111 и 11011.
1) Начинаем справа: 1+1 = 2. Результат равен основанию системы счисления (т.е. 2), поэтому 1 в следующий разряд, а 2-2 =0.
2) 1+1+1(от переноса) = 3. 1 в следующий разряд и 3-2 = 1.
3) 1+0+1(от переноса) =2. 1 в следующий разряд, а 2-2 =0.
4) 0+1+1(от переноса) =2. 1 в следующий разряд, а 2-2 =0.
5) 1+1+1(от переноса) = 3. 1 в следующий разряд и 3-2 = 1.
6) Складывать уже нечего, но есть 1 от переноса. Пишем эту 1 и получаем окончательный результат: 1100102.
Поделиться306-24-2013 22:29
Кинул на диск то, что делали сегодня на лабах
Добавлено спустя 2 дня 2 часа 35 минут 15 секунд:
Как делать лабы по Ассемблеру.
1. копируем в корень с: папку dosdisk (присылали на почту всем, лежит на яндекс-диске!)
c:\dosdisk\
2. В папку c:\dosdisk\lab1\ кладем написанный \скопированный ранее файл с кодом *.asm. Впрочем, если такового нет, то там есть шаблонный файл lab.asm.
2. Запускаем VC.COM из папки c:\dosdisk\VC
3. С помощью этого менеджера переходим в папку c:\dosdisk\lab1\ и редактируем свой файл ( например lab.asm).
Редактирование: F4
Сохранение F2
Закрытие файла F10
Затем сохраняем и закрываем этот файл.
Ставим курсор на tasm.exe и жмем Ctrl+Enter
Затем ставим курсор на отредактированный файл и жмем Ctrl+Enter
В командной строке менеджера появляется строка: "tasm.exe lab.asm". Жмем Enter.
Если не появляется в этой же папке одноименный файл с расширением *. obj, то жмем Ctrl+o и читаем в какой строке кода у нас ошибка.
Если появился файл *. obj, то:
Ставим курсор на tlink.exe и жмем Ctrl+Enter
Затем ставим курсор на появившийся файл *. obj и жмем Ctrl+Enter
В командной строке менеджера появляется строка: " tlink.exe lab.obj ". Жмем Enter.
Появляется lab.exe. Жмем Enter. Проверяем работает ли.... если нет, то читай с начала.)
Могу кинуть на диск свой файл. Задание: прибавить слово бай к любому введенному. Пример: Пример бай.
Монтаж папки vc, находящейся в корне с: в виде диска с: mount c c:\vc
Поделиться406-25-2013 12:57
Перечень вопросов к итоговому контролю знаний
по курсу «Машино-ориентированные языки»
1. Типовая архитектура микропроцессорных систем. Понятие процессора, оперативной памяти, внешних устройств, шины данных, шины адреса.
2. Архитектура микропроцессора i8086. Основные регистры микропроцессора и их назначение. Понятие регистров, сегментных регистров, регистра флагов.
3. Группы команд микропроцессора i8086. Назначение команд и их примеры.
4. Понятие программного стека. Особенности организации. Команды и регистры для работы со стеком.
5. Сегментная организация памяти. Понятие сегмента памяти. Формирование физического адреса в реальном режиме микропроцессора.
6. Понятие внешнего устройства. Команды для работы с внешними устройствами.
7. Команды пересылки данных. Особенности команд.
8. Арифметические и логические команды процессора.
9. Команды манипулирования битами. Особенности команд.
10. Команды передачи управления. Организация программных циклов на языке Ассемблер.
11. Команды обработки строк. Особенности итераторов и флага направления.
12. Аппаратные и программные прерывания. Программные прерывания как системные вызовы MS-DOS.
13. Привилегированные команды процессора. Функционирования механизма защиты процессора. Кольца защиты.
14. Макроподстановки языка Ассемблера. Условное ассемблирование.
15. Этапы создания программы. Компиляция и компоновка программ. Библиотеки компоновки *.lib.
16. Математический сопроцессор (FPU). Формат представления чисел. Регистры FPU. Группы команд математического сопроцессора, примеры.
17. Понятия расширения команд процессоров MMX, AMD3D, SSE
18. Структура программы под Windows. Модель памяти, системные вызовы. Понятие функции окна.
выбираем себе вопросы. Нужно сделать ответы и кинуть на диск
Беру себе 4 и5 вопросы...
Поделиться506-27-2013 16:03
Кароче сделал, что смог. Можно было бы дополнить. 4 вопроса не успел...Кто заинтересован - звоните. ICQ number is 395696897
89275213494
Поделиться607-07-2013 11:31
у меня есть протоколы по 2-м первым лабораторкам с правильными листингами
Поделиться707-08-2013 16:36
у меня есть протоколы по 2-м первым лабораторкам с правильными листингами
В студию! (в смысле на яндекс-диск)))