1. Архитектура персонального компьютера. Назначение регистров микропроцессора.
2. Структура памяти и методы адресации. Способы адресации данных и переходов.
3. Сегментная организация памяти. Понятия физического и логического адреса.
4. Объявление и инициализация данных.
5. Использование логических и сдвиговых операций.
6. Стандартные директивы определения сегментов.
7. Упрощенные директивы определения сегментов.
8. Организация и использование стека.
9. Структура программ типа .com и .exe.
10. Организация обслуживания прерываний. Типы прерываний. Таблица векторов прерываний.
11. Подпрограммы. Передача параметров. Ближние и дальние процедуры.
12. Повторяющиеся блоки и макросы.
13. Вывод информации на экран. Видеорежимы. Видеопамять
14. Строковые команды. Префиксы повторения.
15. Организация циклов, условных и безусловных переходов
16. Мультимодульные программы.
17. Обработчики прерываний и резидентные программы.
18. Структура резидентной программы.
19. Интерфейс модулей, написанных на языке ассемблера с модулями, написанными на языке С.
20. Вызов из программы, написанной на языке С , процедур, написанных на ассемблере.
21. Вызов из ассемблерной программы функций на языке С.
22. Использование встроенного ассемблера.
23. Написать программу транспонирования матрицы, заданной в кодовом сегменте (в сегменте данных).
24. Найти в строке символ, введенный с клавиатуры, вывести на экран номер его позиции в строке.
25. Умножение длинных чисел. Числа ввести с клавиатуры
26. Обработка переполнения при делении чисел. Числа ввести с клавиатуры
27. Выполнить сортировку символов строки, заданной в кодовом сегменте (в сегменте данных), методом пузырька, выбора. Строку ввести с клавиатуры.
28. Выполнить транспонирование битовой матрицы, используя операции сдвига.
29. Выполнить сортировку элементов главной или побочной диагонали матрицы, заданной в сегменте данных или кода. Матрицу чисел ввести с клавиатуры, результат вывести на экран.
30. Найти суммы элементов четных (нечетных) строк матрицы. Матрицу чисел ввести с клавиатуры, результат вывести на экран.
31. Ввести с клавиатуры массив чисел. Найти в нем минимальное и максимальное значение. Вывести их на экран.
32. В сегменте данных расположены числа в формате двойного слова. С клавиатуры вводится число и определяется, имеется ли это число в сегменте данных.
33. Ввести с клавиатуры массив чисел. Отсортировать массив методом пузырька (выбора и т.д.). Вывести результат.
34. Написать программу вывода символов строки в обратном порядке. Строку ввести с клавиатуры, дополнительных строк не использовать.
35. Ввести с клавиатуры массив чисел. Найти суммы положительных и отрицательных чисел. Вывести результат.
36. Дан массив строк. Найти строку наибольшей длины, вывести ее на экран. Массив строк ввести с клавиатуры.
37. Выполнить перевод числа из одной системы счисления в другую. Данные вводить с клавиатуры.
38. В матрице найти сумму элементов строк, столбцов. Программа типа EXE. Или COM. Матрицу чисел ввести с клавиатуры, результат вывести на экран.
39. Преобразовать строковую запись в число. Строку ввести с клавиатуры, Результат вывести.
40. Отсортировать элементы главной (побочной) диагонали матрицы (строк, столбцов) заданной в сегменте данных (кодовом менте). Матрицу чисел ввести с клавиатуры, результат вывести на экран.
41. Ввести с клавиатуры матрицу чисел. Найти суммы элементов главной и побочной диагоналей и вывести их на экран.
42. Работа с окнами в текстовом режиме.
43. Сложение и вычитание длинных чисел. Числа вводить с клавиатуры, результат вывести на экран.
44. Вывести на экран ASCII символы по 16 в строке. Использовать прямой доступ к видеопамяти.
45. Переслать строку из сегмента данных в сегмент кода (или наоборот). Строку ввести с клавиатуры, результат вывести.
46. Ввести с клавиатуры массив символов, выделить из него числа, найти их сумму
47. Ввести с клавиатуры две строки. Используя процедуру, сравнить строки, результат вывести на экран.
48. В массиве чисел, определенном в сегменте данных, отрицательные значения заменить нулями, а положительные просуммировать.
49. Подсчитать количество четных элементов массивва чисел и найти их сумму. Массив задан в сегменте данных.
50. В массиве чисел, определенном в сегменте данных, подсчитать количество отрицательных, положительных и нулевых элементов.
51. В массиве чисел, определенном в сегменте данных, элементы, кратные пяти, заменить единицами, подсчитать их количество и записать в память.
52. Определить, входит ли в строку, определенную в сегменте данных, подстрока, введенная с клавиатуры. Результат работы программы – текст соответствующего сообщения.
53. Выполнить реверс слов строки, определенной в сегменте данных (кода). Результат вывести.
54. Отсортировать слова в строке (по длине слова, по алфавиту).
55. Удалить из строки заданное слово.
56. Удалить из строки слова, содержащие заданный символ.
57. Удалить из строки слова, являющиеся числами..
58. В массиве подсчитать число элементов, лежащих в заданном диапазоне.
59. Арифметические операции со знаковыми и беззнаковыми числами.
60. Процедуры в ассемблере, передача параметров, возврат значений.
61. Операции с файлами: создание, открытие, закрытие.
62. Операции с файлами: чтение и запись данных.