АЧМ - Алгоритмы и Численные Методы
Поиск  
АЧМ - Алгоритмы и Численные Методы  


Курс ассемблера Малой Машины

         Предлагаемый  курс содержательного программирования
     на "Малой машине" рассчитан на учеников,  не обладающих
     какими-либо специальными сведениями,выходящими за  пре-
     делы школьного курса, но предъявляет высокие требования
     к их логической культуре.
         Это курс "детского ассемблера" содержащий всего  16
     команд в цифровой записи, но дающий хоpошее представле-
     ние о том, как работает машина и как выглядит настоящий
     ассемблер.
         Блоки задач возрастающей сложности должны дать воз-
     можность  ученикам  разных  способностей  удовлетворять
     свои интеллектуальные запросы.
         Порядок изложения  задач  выбран с таким  расчетом,
     чтобы обучающемуся нужно было как можно меньше  запоми-
     нать и при этом он бы все время  имел интересные разно-
     уровневые задачи.
     Логическая схема ММ проста и ученик  может  видеть  ее,
     вызвав HELP программы моделирования ММ.
     Занятие 1.
	       Логическая схема ММ.
	       Память. Ячейки.
	       Числа.
	       Понятие о фиксированной и плавающей запятой.
	       Команда.
	       Арифметические команды.
	       Программируется задача: сложить 2 числа.

	       ___________________________________________
	      |Ассемблер     |АДРЕС  |КОД| 1 |  2   | 3   |
	      |_    _________|_______|___|_  | _____|_____|

		A+B=:C        200      04  300   301 | 400
		PECH 007;C;L  201      15  007   400 | 202
		STOP          202      17  000   000 | 000
		A	      300      04  220   000 | 000
		B	      301      04  260   000 | 000

		Задача на дом:
		y=17x^3+12x^2+4x+5   при x=1.0,10.0

      Занятие 2:
		Занятие начинается с разбора домашнего задания.
		Показывается,что можно уменьшить число действий
		за счет применения схемы Горнера.
		Вводится понятие блок-cхемы.Рисуется  схема для
		этой задачи. Пишется содержательная часть зада-
                чи. Объясняется, что представляет из себя прог-
                рамма моделирования ММ.
		Oб[ясняются  возможности  программы  на машине.
		Вводится команда пересылки:a=:b;k
		На дом: поменять местами  содержимое ячеек  А и
                В без рабочих ячеек.

		______________________________________________
		a+b=:a
		a-b=:b
		a-b=:a
		PECH 007;A;L
		PECH 007;B;L
      L:        STOP
      A		[5]
      B		[7]


      Занятие 3
		Вводятся команды:
		Aa=:c    ;сдвиг влево на 3 бита.
		075<->a=:c    ;сдвиг вправо на 3 бита.


       ЗАНЯТИЕ 8:
		 логические команды.
		 Занятие посвящается решению задач.
		 Задачи:
		 1.  Из команды  A+B=:C получить команду
		   C-A=:B и выполнить ее.
		 2. Посчитать число 1 и 0 в ячейке памяти.
		 3. Обратить ячейку памяти.
		Задача для успешно продвигающихся учеников:
		в ячейке ,начиная с к-ого бита в n битах заменить
		0 на 1 ,а 1 на 0.

      Занятие 9:
		Понятие о массиве . Oбратить внимание на то,что
		массив должен содержать числа одного типа.
		Рассмотреть переадресацию на задаче:
		сложить n элементов массива.
		Для этого ввести 2 команды.
		A + ,B =:C
		A - ,B =:C
		Решение эадачи   можно посмотреть в HELP программы
		моделирования.
		Раздать каждому ученику самостоятельную задачу типа:
		1.найти скалярное произведение двух векторов.
		2.дан массив из 2n ячеек.Поменять местами 1 и n
		,2 и 2n-1.....элементы массива.
		Требовать ручную отладку всех программ до выхода
		на машину.

       Занятие 10:
		  Двукратные циклы.
		  Что такое матрица.Расположение элементов матрицы
		  в памяти.
		  Тема рассматривается на задаче:
		  Посчитать сумму элементов каждого столбца матрицы,
		  имеющей M строк и N столбцов.
		  Показать,что счет внешнего цикла представляет из
		  себя внутренний цикл,в котором используется кано-
		  ническая схема.
		  Обратить внимание,что во внешнем цикле переадресо-
		  вываются восстановители внутреннего цикла.

		  На  циклы предлагаются задачи:
		  1.Задан одномерный массив,содержащий координаты галочек,
		  расположенных беспорядочно в некоторой матрице размера
		  М на N. Организовать два массива,членами которых были бы
		  соответственно: количество галочек в каждой строке матрицы
		  количество галчек в каждом столбце матрицы.

		  2. Заполнить квадратную матрицу простыми числами 
		  по спирали.

		  3. Найти все седловые точки матрицы ( минимальный элемент в
		  строке и одновременно маскимальный в столбце).

		  4. Найти все следы матрицы.
     Занятие 11:
			Вызов подпрограмм.
		  Вводится команда   ret=>beg;end,где
		  ret-----------адрес возврата
		  beg-----------адрес начала подпрограммы
		  end-----------адрес свободной ячейки выхода подпрограммы.
		  Об[ясняются принципы структурированного программирования.
		  Понятие управляющей программы.
		  Входная и выходная информация.
		  Передача информации между подпрограммами.
		  Локальные переменные.

		  Задачи:
		  Написать управляющую программу и подпрограмму
		  для:
		  1.Нахождение максимального элемента в каждой
		    строке матрицы.
		  2.Переписать программу заполнения квадратной матрицы
		  простыми числами по спирали.



	    --- Малый ассемблер  --
	       Руководство пользователя.


	       1.О МАЛОМ АССЕМБЛЕРЕ...
 -----------------------------------------------------------------

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

     Режимы pаботы :

             Малый Ассемблеp pаботает в двух pежимах: pедактиpования и
	 отладки пpогpамм. Оба pежима имеют функции pаботы с файлами.
         Доступные в данном pежиме команды находятся в веpхней стpоке 
	 экpана.

     Окна экpана :

         Во всех pежимах на экpане имеются 3 окна: ВЫВОД, ОПИСАНИЕ и
	 центpальное окно с текстом пpогpаммы.
	 Центpальное окно pазбито на 3 части:
	 МЕТКИ, где находятся метки,
	 ПРОГРАММА, с текстом пpогpаммы
	 КОДЫ, где  находится пpогpамма в кодах.

	 В окне ОПИСАНИЕ можно помещать описание программы.

	 В окно ВЫВОД направляется весь вывод процессора ММ

       РЕЖИМ РЕДАКТИРОВАНИЯ
 -------------------- -----------------------------------------------

     Возможности :

          Малый ассембер содержит простой редактор, позволяющий
          редактировать программы и хранить их на диске.

     Команды редактора:

          Клавиша   Функция         |    Клавиша   Функция
                                    |
          Ins       Вставка пустой  |    F2        Запись файла на диск
                    строки          |    F3        Считывание файла
          Del       Удаление строки |    F6        Новая программа
                    под курсором    |    F9        Трансляция программы в
          Tab       Переход из поля |              коды и переход в режим
                    программы в поле|              отладки если успешно
                    меток и обратно |    F10       Переход в окно опи-
          ESC       Выход в ДОС     |              сания программы и
          F1        Помощь          |              обратно

	     РЕЖИМ ВЫПОЛНЕНИЯ И ОТЛАДКИ
 ---------------------------- -----------------------------------------

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

     В левом верхнем углу экрана находится адрес текущей команды.
     Ячейки содержимое которых было изменено при выполнении программы
     выводятся красным цветом. Точки останова выводятся синим цветом.
     После полного выполнения программы ( до команды STOP ) возможен
     повторный ее запуск ( указатель инструкции устанавливается на 
     первую строку ).

     При попытке редактировать программу Малый Ассемблер переходит 
     в режим редактирования.

     Средства отладки

          Клавиша   Функция           Клавиша   Функция

          F1        Помощь          | F6        Новая программа
          F2        Запись файла    | F7        Просмотр значений
                    на диск         |           всех меток нахо-
          F3        Считывание файла|           дящихся после STOP
                    с диска         | F8        Шаг программы
          F4        Запуск          |
                    ( Останов при   |
                    команде STOP,   |
                    достижении точки|
                    останова или    |
                    нажатии любой   |
                    клавиши )       |
          F5        Установка/отмена|
                    точки останова  |

 © Антонова Марианна Константиновна

KDSW Logo  © Copyright 2005 KDSW Systems [ Kamaev Dmitry SoftWorks ]