Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
1. ПОСТАНОВКА ЗАДАЧИ.
Имеется два 10-ти байтных числа в шестнадцатеричной системе
счисления.
Задание:
а) выполнить сложение двух десятибайтовых чисел;
б) выполнить перевод полученного числа в четверичное число
в) в случае возникновения ошибки при сложении закончить
программу с кодом ошибки FFh, в противном случае закончить
её с кодом 00h;
Для завершения программы используется функция 4Ch прерывания 21h. В AL заносится код ошибки, а в AH номер функции.
2. КРАТКОЕ ОПИСАНИЕ АЛГОРИТМА.
В программе, для перевода семеричного числа из строки в
двоичное число, используется схема Горнера. Для этого в программе
используются процедуры TRANS и PLUS. В ней реализованы следующие
алгоритмы:
а) сложение десятибайтового числа с однобайтовым;
б) деление десятибайтового числа на однобайтовое;
3. ТЕКСТ ПРОГРАММЫ.
.8086
.MODEL TINY
ASSUME CS: CODE, DS: CODE
data segment
NUM1 DT 0ABCFFFFFFFFFFFFFFFFFH
NUM2 DT 1h;
RES DB 40 DUP(?),'$'
data ends
ORG 100H
CODE SEGMENT
BEGIN:
JMP START
PLUS PROC
CLC
CLD
XOR BX,BX
MOV CX,10
MOV DI,OFFSET NUM1
MOV SI,OFFSET NUM2
L2: LODSB
ADC AL,[DI]
STOSB
LOOP L2
JNC OK
MOV SI,0
OK: RET
PLUS ENDP
TRANS PROC
MOV SI,OFFSET NUM1
MOV DI,OFFSET RES+39
MOV CX,10
MOV DX,4
TL1: PUSH CX
LODSB
MOV CX,DX
TL2: CLC
MOV AH,0
DIV DL
ADD AH,30H
MOV [DI],AH
DEC DI
LOOP TL2
POP CX
LOOP TL1
RET
TRANS ENDP
START:
mov AX,data
mov DS,AX
CALL PLUS
CALL TRANS
MOV AH,09
MOV DX,OFFSET RES
INT 21h
mov ah,10h
int 16h
int 20h
CODE ENDS
END BEGIN
4. РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ И ХАРАКТЕРИСТИКИ
РАБОТЫ ПРОГРАММЫ.
В результате тестирования программы на различных тестовых примерах были получены правильные результаты. Проверка на переполнение проводится корректно. Примеры не претендуют на полноту проверки, но на всех примерах в программе не было выявлено ошибки.
СРС №2
Дата публикования: 2015-10-09; Прочитано: 243 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!