Написать процедуру преобразования исходного массива в массив с упакованным 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.5 из 5
Похожие ответы