Написать процедуру преобразования исходного массива в массив с упакованным BCD форматом. Помогите! - Assembler
Формулировка задачи:
Помогите с задачкой. в понедельник сдавать надо. Задан байтовый массив из n элементов ( n 10 элементов) в неупакованном BCD формате. Написать процедуру преобразования исходного массива в массив с упакованным BCD форматом. Помогите!
Решение задачи: «Написать процедуру преобразования исходного массива в массив с упакованным BCD форматом. Помогите!»
textual
Листинг программы
; masm dos com # .286 .model tiny .code org 100h start: mov SI,offset BCDneup ; адрес начала неуп. BCD mov DI,offset BCDup ; адрес начала уп. BCD mov CX,num ; число циклов call PrPreobr ; вызвать процедуру ret ; выход из программы PrPreobr proc ; процедура a1: lodsw ; поместить в AХ неуп. BCD, SI увеличить на два ror AX,8 shl AL,4 shr AX,4 stosb ; убрать пару упакованных чисел по адресу в DI, DI увеличить на один loop a1 ; и так столько раз, пока CX не обнулится ret ; возврат из процедуры PrPreobr endp BCDneup db 01,02,03,04,05,06,07,08,09,00 ; неуп. BCD num = ($ - BCDneup)/2 BCDup dw num dup(0) ; уп. BCD end start
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д