Программирование на языке ассемблер
Автор: RGRHE • Декабрь 7, 2022 • Лабораторная работа • 2,011 Слов (9 Страниц) • 168 Просмотры
Федеральное государственное автономное
общеобразовательное учреждение
высшего образования
«СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»
Кафедра радиоэлектронных систем
Дисциплина: Цифровые устройства и микропроцессы
ЛАБОРАТОРНАЯ РАБОТА №4
Программирование на языке ассемблер
Вариант 9
Преподаватель _________ Козлов И. О.
подпись, дата
Студенты ВЦ19-02АСУ _________
подпись, дата Дмитриев С. Е.
Красноярск 2019
Задание: Сформировать массив из 10 однобайтных чисел, все положительные числа переписать на место первого массива так, чтобы на выходе результат был записан в текстовом файле.
CSEG SEGMENT PARA 'CODE' USE16 ;начало сегмента памяти CSEG
ASSUME CS:CSEG, DS:DSEG, ES:DSEG ;установка связи между сегментными регистрами и именами соответствующих сегментов
PRIMER PROC NEAR ;объявление процедуры PRIMER
START: MOV AX, DSEG ;точка входа в программу
MOV DS,AX ;запись данных из регистра АХ в регистр DS
MOV ES,AX ;запись данных из регистра АХ в регистр ES
;--- ПРОГРАММА ОПРЕДЕЛЕНИЯ ОТРИАТЕЛЬНОСТИ ЧИСЛА ---
;---------------- НАЧАЛО ПРОГРАММЫ ----------------
;=====СОЗДАНИЕ ФАЙЛА=====
;=====ОПРЕДЕЛЕНИЕ ОТРИЦАТЕЛЬНОСТИ ЧИСЕЛ В МАССИИВЕ=======
LEA DI,A ;в регистр DI загружаются адреса массива A
MOV AX,3D02H
LEA DX,path1
INT 21H
MOV A1,AX ;сохранение идентификатора файла
mov A2,Dl
MOV CX,10
MOV A5,CX
M12:
MOV A5,CX
MOV AH,3FH ;чтение из файла
MOV BX,A1 ;запись идентификатора файла
MOV CX,1 ;длина строки
LEA DX,A2 ;загрузка в DX адреса ячейки памяти,указывающей на путь и имя файла
INT 21H
;чтение первого разряда однобайтного числа;
MOV AL,A2
CMP AL,40H
JNS M2
SUB AL,30H
JMP M3
M2: SUB AL,37H
M3: MOV DL,AL
SHL DL,4
MOV A3,DL ;запись первого разряда в масссив A3
MOV AH,3FH
MOV BX,A1
MOV CX,1
LEA DX,A2
INT 21H
;чтение второго разряда однобайтного числа;
MOV AL,A2
CMP AL,40H
JNS M4
SUB AL,30H
JMP M5
M4: SUB AL,37H
M5: MOV DL,A3
ADD DL,AL ;сложение первого и второго разряда
MOV [DI],DL
ADD DI,1
MOV AH,3FH
MOV BX,A1
MOV CX,1
LEA DX,A2
INT 21H
MOV CX,A5
...