Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Программирование на языке ассемблер

Автор:   •  Декабрь 7, 2022  •  Лабораторная работа  •  2,011 Слов (9 Страниц)  •  176 Просмотры

Страница 1 из 9

Федеральное государственное автономное

общеобразовательное учреждение

высшего образования

«СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»

Кафедра радиоэлектронных систем

Дисциплина: Цифровые устройства и микропроцессы

ЛАБОРАТОРНАЯ РАБОТА №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

...

Скачать:   txt (8.1 Kb)   pdf (96.1 Kb)   docx (28.4 Kb)  
Продолжить читать еще 8 страниц(ы) »
Доступно только на Essays.club