ВВЕДЕНИЕ, АНАЛИЗ ЗАДАЧИ - Теория вычислительных процессов

Ассемблер программа верификация

Написать на языке ассемблер программу, реализующую вычитание двух целых упакованных 128- разрядных чисел.

Описать операционную семантику и провести верификацию связной совокупности команд в подпрограмме.

Построить сеть Петри для подпрограммы.

АНАЛИЗ ЗАДАЧИ

Для решения поставленной задачи с клавиатуры вводятся уменьшаемое и вычитаемое. Далее выполняется проверка положительности введенных чисел следующим образом:

1) Если уменьшаемое и вычитаемое - положительные числа, то

Выполняется проверка: какое из этих чисел больше.

- если уменьшаемое больше вычитаемого, то производится

Операция вычитания;

    - если вычитаемое больше уменьшаемого, то выводится "-" (признак отрицательности результата), уменьшаемое и вычитаемое меняются местами и производится операция вычитания; 2) Если уменьшаемое - положительное число, а вычитаемое - отрицательное (знак отбрасывается), то производится операция сложения; 3) Если уменьшаемое - отрицательное число, а вычитаемое - положительное, то выводится "-" и производится операция сложения; 4) Если уменьшаемое и вычитаемое - отрицательные числа(знаки отбрасываются), то выполняется проверка: какое из этих чисел больше. - если уменьшаемое больше вычитаемого, то выводится

"-" и производится операция вычитания;

- если вычитаемое больше уменьшаемого, то уменьшаемое и вычитаемое меняются местами и производится операция вычитания.

Описание переменных на ассемблере

Message1 db 'Vvedite pervoe chislo: ','$'

Message2 db 'Vvedite vtoroe chislo: ','$'

Message3 db 'Dla polucheniya rezultata nazmite Enter ',0dh,0ah,'$'

Message4 db 'ESC to exit or any key to continue...',0dh,0ah,'$'

Message5 db 0dh,0ah,'$'

Sign db 0 ; признак отрицательности

Sign1 db 0 ; первое число отрицательное

Sign2 db 0 ; второе число отрицательное

Flagbuf1 db 0 ; флаг работы с первым числом

Buf1 db 255 ; максимальная длина строки

Db 0 ; реальная длина

Db 255 dup(30h) ; буфер для строки

Length1 db? ; длина первого числа

Length2 db? ; длина второго числа

Choice db 0 ; выбор пользователя

Похожие статьи




ВВЕДЕНИЕ, АНАЛИЗ ЗАДАЧИ - Теория вычислительных процессов

Предыдущая | Следующая