Как работать с программой? - Assembler/MASM
Формулировка задачи:
Ребята, пожалуйста, помогите.
Преподаватель сказал, что работать только через MASM. Включил готовую (*.exe) в cmd, но пустая строка...
Наверное, неправильно написал. Уже 1 мес. мучаюсь с этой программой.
Name Var17 .286 Data Segment ;Cегмент данных Arr1ASC DB 1,2,0,4,5,6,7,8,9,0 ;Описание входных Arr2ASC DB 1,3,2,8,0,7,4,4,5,5,6,1,7,0,8,6,9,9,0,7 ;массивов Arr1BCD DB 5 DUP(?) ;Описание выходных Arr2BCD DB 10 DUP(?) ;массивов Data EndS Stack Segment ;Cегмент стека DW 16 DUP(?) StkTop Label word ;Фиксация вершины пустого стека Stack EndS Code Segment ;Сегмент программного кода Assume CS:Code, DS:Data, SS:Stack ;Описание подпрограммы Preobr Proc push bp mov bp,sp ;Привязка к вершине стека mov cx,[bp+4] ;Чтение параметров mov di,[bp+6] ;из стека mov si,[bp+8] M1: mov al,[si+1] ;Чтение десятичного ASCII-байта shl al,4 ;Сдвиг на 4 разряда влево or al,[si] ;Сборка BCD-байта из двух ASCII-байт mov [di],al ;Запись BCD-байта в выходной массив inc di ;Модификация адреса элемента выходного массива add si,2 ;Модификация адреса элемента входного массива loop M1 ;Цикл по всем элементам входного массива pop bp ret 6 ;Возврат с исключением параметров из стека Preobr Endp ;Макроуровень программы Start: mov ax,Data ;Системная подготовка: mov ds,ax ;инициализация pегистpа mov ax,Stack ;сегментных mov ss,ax ;региcтров lea sp,StkTop ;и указателя стека ;передача параметров первого массива push offset Arr1ASC ;массив десятичных ASCII-байтов push offset Arr1BCD ;массив BCD-байтов push length Arr1BCD ;длина массива десятичных ASCII-байтов call Preobr ;обработка массива ;передача параметров второго массива push offset Arr2ASC ;массив десятичных ASCII-байтов push offset Arr2BCD ;массив BCD-байтов push length Arr2BCD ;длина массива десятичных ASCII-байтов call Preobr ;обработка массива Code EndS End Start
Решение задачи: «Как работать с программой?»
textual
Листинг программы
call Preobr ;обработка массива mov ax,4c00h int 21h Code EndS
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д