
- •Лабораторная работа № 1
- •1. Цель и задача работы
- •2.1. Архитектура компьютера
- •2.2. Описание частей программы на языке ассемблера
- •2.3. Процедуры формирования исполняемой программы
- •3. Методика выполнения работы
- •4. Порядок выполнения работы
- •Контрольные вопросы
- •Лабораторная работа № 2 режимы адресации
- •1. Цель и задача работы
- •2. Основные теоретические сведения
- •3. Методика выполнения работы
- •4. Порядок выполнения работы
- •Контрольные вопросы
- •Варианты заданий
- •Лабораторная работа № 3 программирование ветвлений
- •1. Цель и задача работы
- •2. Основные теоретические сведения
- •2.1. Команды условного перехода
- •2.2. Команда безусловного перехода
- •3. Методика выполнения работы
- •4. Порядок выполнения работы
- •Контрольные вопросы
- •Варианты заданий
- •Лабораторная работа № 4 команды цикла и их использование в программах обработки
- •1. Цель и задача работы
- •2. Основные теоретические сведения
- •2.1. Арифметические операции над целыми числами
- •2.2. Организация циклов
- •3. Методика выполнения работы
- •4. Порядок выполнения работы
- •Контрольные вопросы
- •Варианты заданий
- •Лабораторная работа № 5 команды ввода-вывода на экран дисплея и их использование в программах обработки
- •1. Цель и задача работы
- •2. Основные теоретические сведения
- •2.1. Метод подъема
- •2.2. Команды прерывания
- •3. Методика выполнения работы
- •4. Порядок выполнения работы
- •Контрольные вопросы
- •Варианты заданий
- •Приложение в
Приложение в
Имя |
Директива определения |
значения |
комментарий |
BYTE1 |
DB |
? |
Без указания значения |
BYTE2 |
DB |
48 |
Десятичная константа |
BYTE3 |
DB |
30Н |
16-теричная константа |
BYTE4 |
DB |
01111010В |
Двоичная константа |
BYTE5 |
DB |
10 DUP(0) |
Десять нулевых значений |
BYTE6 |
DB |
‘Input simbol’ |
Строка символов |
BYTE7 |
DB |
‘12345’ |
Строка цифровых символов |
BYTE8 |
DB |
01, ‘Jan’, 02, ‘Feb’, 03, ‘mar’, 04, . . . . |
Таблица месяцев года, состоит и зномера месяца и его сокращенного названия |
WORD1 |
DW |
0fff0h |
16-теричная константа |
WORD2 |
DW |
01111010В |
Двоичная константа |
WORD3 |
DW |
BYTE3 |
Адрес переменной |
WORD4 |
DW |
2,3,4,5,6 |
Таблица из 5 констант |
WORD5 |
DW |
8 DUP(0) |
Восемь нулевых значений |
DWORD1 |
DD |
? |
Без значения |
DWORD2 |
DD |
41562 |
Десятичное значение |
DWORD3 |
DD |
48Н, 24Н, СА |
16-теричные константы |
DWORD4 |
DD |
WORD1 |
Адрес слова в виде сегмент:смещение |
Приложение Г
Формат арифметических команд
Функция команды |
Формат |
Команды сложения Приемник=приемник +источник |
ADD приемник, источник |
Приемник=приемник +источник +CF(перенос) |
ADC приемник, источник |
Корректировка неупакованного BCD-числа |
AAA |
Корректировка упакованного BCD-числа |
DAA |
Инкремент: приемник=приемник+1 |
INC приемник |
Команды вычитания Приемник=приемник-источник |
SUB приемник, источник |
Приемник=приемник -источник -CF(заем) |
SBB приемник, источник |
Корректировка неупакованного BCD-числа |
AAS |
Корректировка упакованного BCD-числа |
DAS |
Декремент: приемник=приемник-1 |
DEC приемник |
Изменение знака: приемник= – приемник |
NEG приемник |
Сравнить и установить флаги приемник – источник |
CMP приемник, источник |
Команды умножения Умножение целых чисел без знака |
MUL источник |
Умножение целых чисел со знаком |
IMUL источник |
Корректировка неупакованного BCD-числа |
AAM |
Команды деления Деление целых чисел без знака |
DIV источник |
Деление целых чисел со знаком |
IDIV источник |
Корректировка неупакованного BCD-числа |
AAD |
Команды расширения знака Преобразовать байт в регистре AL в слово в регистре АХ |
CBW |
Преобразовать слово в регистре AX в двойное слово в регистрах DX:АХ |
CWD |
CSEG SEGMENT PARA PUBLIC ‘CODE’
ASSUME CS:CSEG, DS:DSEG, SS:STACK
Установить
индекс-ные регистры
PUSH
DS
SUB AX,AX
Инициализация
счет-чика внешнего цикла
MOV
AX,DSEG
MOV DS,AX
XOR
SI,SI
Запоминание
счет-чика внешнего цикла
XOR
BX,BX
MOV CX, LEN_MAS/LEN_STR
Инициализация
счет-чика внутрен. цикла
VN_CYCL: PUSH CX
MOV
CX, LEN_STR
Установить
указатель на начало строки
XOR SI,SI
Добавить значение
очередного элемента к сумме
MOV AL, MAS[BX][SI]
ADD SUM[DI],AL
Перейти к следую-щему
эл-ту строки
INC SI
НЕТ LOOP VNUTR_ CYCL
ДА
Восстановление
счетчика внешнего цикла
POP CX
Перейти к следу-ющей
строке
ADD BX, LEN_STR
LOOP VN_
CYCL
RET
OUR_PROG ENDP
CSEG ENDS
НЕТ ДА END OUR_PROG