Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Розробка на мові асемблера алгоритму контролю на парність масиву даніх

Реферат Розробка на мові асемблера алгоритму контролю на парність масиву даніх





p> BegOffs DW (?); Качан перевірочного масиву

Result DW (?); Результат обчислення

FuncNum DB (?); Звертаючись Операція

_Data ENDS

; ********************************************** ***

; Сегмент програми

; ********************************************** ***

. CODE

; ********************************************** ***

call cls; Очищення екранах

call SetDATSeg; Завантаження адреси сегмента змінніх

call SetArrSeg; Установлення покажчика сегменту масиву

; Головне меню

Mnu: call SelectFunction; Вибір Операції

call cls; Очищення екранах

mov AL, FuncNum;

Mnu1: cmp AL, 1; Визначення парності

jne Mnu2

; Установка параметрів

mov DX, OFFSET TestTab; Зміщення качану масиву

mov BX, 30; Розмір перевіряється блоку даніх

; Call TestOdd

call CalcCRC

mov Result, AX; Збереження результату

; *******************************

Mnu2: cmp AL, 2; Візначіті парність І порівняті з перед.

jne Mnu3

mov DX, OFFSET TestTab; Зміщення качану масиву

mov BX, 30; Розмір блоку даніх

call CalcCRC

cmp Result, AX

je Mnu2End

; Результат не співпав. Дані спотворені. Видати ПОВІДОМЛЕННЯ про Помилка

mov DX, OFFSET ErrorResult

mov AH, 9h

int 21h; Висновок ПОВІДОМЛЕННЯ про помилки

mov DX, OFFSET ByeStr; Висновок запрошення

mov AH, 9h

int 21h

mov AH, 0Ch

mov AL, 01h

int 21h; Очікування натіскання будь-якої клавіші

Mnu2End:

call cls

jmp Mnu

; *******************************

Mnu3: cmp AL, 3; Спотворення масива (перший байт)

jne Mnu4

mov DI, OFFSET TestTab

mov AX, ES: [DI]

xor AX, 1; Інвертуємо молодший біт

mov ES: [DI], AX

; *******************************

Mnu4: cmp AL, 4; Вихід з програми

jne Mnu

; *******************************

jmp Exit

; Завершення програми

; Exit:

; Прізупініті перед виходом

mov DX, OFFSET ByeStr;? Натісніть клавішу?? p> mov AH, 9h

int 21h

mov AH, 0Ch

mov AL, 01h

int 21h

Exit:; Вихід

mov AH, 4Ch

int 21h

; ********************************************** ***

; Друк нового рядка

NewStr:

mov AH, 02h

mov DL, 0Dh

int 21h

mov DL, 0Ah

int 21h

ret

; ********************************************** ***

include cls.prc

; ********************************************** ***

; Головне меню

SelectFunction:; 1.1.Вівод рядка меню

mov DX, OFFSET FSelMsg

mov AH, 9h

int 21h

; 1.2.Вібор Функції

mov FuncNum, 0

call input10; Прочітуємо номер пункту меню

mov FuncNum, AL; Зберігаємо номер обраної Функції

ExitSF: ret

; ********************************************** ***

; Підпрограма введення числі

input10:

push BX; Зберігаємо регістрі

push DX

push CX

mov DX, 0; Обнуляємо Регистр зберігання результату

InputChar:

clc

mov AH, 0Ch

mov AL, 1

int 21h; Прочітуємо символ з місяцем

cmp AL, 13d

je ExitI10; Если его код 13? Кінець Введення

cmp AL, 0 "

jb ErrInput; Если код менше коду символи 0 помилка введенню

cmp AL, '9 '

jg ErrInput; Если код больше кодом символу 9 помилка введенню

clc

sub AX, 30h; Отрімуємо з кодом символу число

mov CX, 0

mov CL, AL

mov AX, DX

mov BX, 10

mul BX; множимо на 10 Вже Накопичення результат

add AX, CX; Додаємо зовсiм Небагато

mov DX, AX; Зберігаємо результат

jmp InputChar

ErrInput

Stc; У випадка помилки Введення встановлюємо прапор

ExitI10:

mov AX, DX; переносимості результат у Регистр повернення

pop CX

pop DX

pop BX; Відновлюємо регістрі

ret

; ********************************************** ***

; Установка покажчика на сегмент змінніх

SetDATSeg:

push AX

mov AX, _Data

mov DS, AX

pop AX

ret

; ********************************************** ***

; Установка покажчика на перевірочній масив

SetArrSeg proc

push AX

mov AX, DataSeg

mov ES, AX

pop AX

ret

SetArrSeg endp

; ********************************************** ***

; Процедура обчислення CRC16

; ES - сегмент масиву

; DX - адресою качану масиву

; BX - довжина блоку даніх

; AX - результат обчислень

...


Назад | сторінка 6 з 7 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Розробка фірмового стилю і створення фільму-презентації музичного колективу ...
  • Реферат на тему: CASE-технології в моделюванні даних інформаційної системи Call-центру
  • Реферат на тему: Маркетингова діяльність Call-центру Окі-Токі ТОВ "Масском"
  • Реферат на тему: Проектування програми з аналізу масиву
  • Реферат на тему: Розробка програми обробки масиву даних з побудовою діаграми (предметна обла ...