Формирование массива из 10 двухбайтных чисел. Блоки дополнений, страница 4

CMP AL, 10h                                  ;

JS M10                                       ;

SUB AL, 7h                                   ;

; Конец Переводим прочитанный символ в 16ый код

; Заносим прочитанный символ в массив a

M10:          ADD [SI], AL                                      ;

; Конец Заносим прочитанный символ в массив a

; Чтение из файла символа

MOV AH, 3Fh                  ;

INT 21h                             ;

; Конец Чтение из файла символа

; Чтение из файла символа

MOV AH, 3Fh                  ;

INT 21h                             ;

; Конец Чтение из файла символа

ADD SI, 2

DEC i

JNZ M11

; Закрытие файла

MOV AH, 3Eh         ;

INT 21h             ;

; Конец Закрытие файла

; К О Н Е Ц   П Е Р В О Г О   Б Л О К А   Д О П О Л Н Е Н И Й

LEA SI, a

LEA DI, b

MOV CX, 10

M1:            MOV AX, [SI]

CMP AX, 0

JS M2

MOV [DI], AX

ADD DI, 2

M2:            ADD SI, 2

DEC CX

JNZ M1

; В Т О Р О Й   Б Л О К   Д О П О Л Н Е Н И Й

; Открытие файла output.txt

MOV AL, 01h                    ;

MOV AH, 3Ch                    ;

LEA DX, z                      ;

INT 21h                        ;

MOV BX, AX                     ;

; Конец Открытие файла output.txt

LEA SI, a

LEA DI, b

MOV i, 10

M16:          ADD DI, 1

MOV AX, [DI1]

SUB AX, 0000h

JZ M17

; Запись 1го символа в файл

MOV AL, [DI]                    ;

SHR AL, 4                       ;

CMP AL, 0Ah                     ;

JS M12                          ;

ADD AL, 7h                      ;

M12:          ADD AL, 30h                     ;

MOV [SI], AL                    ;

MOV AH, 40h                     ;

MOV CX, 1                       ;

MOV DX, SI                      ;

INT 21h                         ;

; Конец Запись 1го символа в файл

; Запись 2го символа в файл

MOV AL, [DI]                    ;

SHR AL, 4                       ;

SAL AL, 4                       ;

MOV DL, [DI]                    ;

SUB DL, AL                      ;

MOV AL, DL                      ;

CMP AL, 0Ah                     ;

JS M13                          ;

ADD AL, 7h                      ;

M13:          ADD AL, 30h                     ;

MOV [SI], AL                    ;

MOV AH, 40h                     ;

MOV DX, SI                      ;

INT 21h                         ;

; Конец Запись 2го символа в файл

SUB DI, 1

; Запись 3го символа в файл

MOV AL, [DI]                    ;

SHR AL, 4                       ;

CMP AL, 0Ah                     ;

JS M14                          ;

ADD AL, 7h                      ;

M14:          ADD AL, 30h                     ;

MOV [SI], AL                    ;

MOV AH, 40h                     ;

INT 21h                         ;

; Конец Запись 3го символа в файл

; Запись 4го символа в файл

MOV AL, [DI]                    ;

SHR AL, 4                       ;

SAL AL, 4                       ;

MOV DL, [DI]                    ;

SUB DL, AL                      ;

MOV AL, DL                      ;

CMP AL, 0Ah                     ;

JS M15                          ;

ADD AL, 7h                      ;

M15:          ADD AL, 30h                     ;

MOV [SI], AL                    ;

MOV AH, 40h                     ;

MOV DX, SI                      ;

INT 21h                         ;

; Конец Запись 4го символа в файл

; Запись в файл символов " h"

MOV AL, 68h                      ;

MOV [SI], AL                     ;

MOV AH, 40h                      ;

MOV DX, SI                       ;

INT 21h                          ;

MOV AL, 20h                      ;

MOV [SI], AL                     ;

MOV AH, 40h                      ;

MOV DX, SI                       ;

INT 21h                          ;

; Конец Запись в файл символов " h"

ADD DI, 2

DEC i

JNZ M16

; Закрытие файла

M17:          MOV AH, 3Eh         ;

INT 21h             ;

; Конец Закрытие файла

; К О Н Е Ц   В Т О Р О Г О   Б Л О К А   Д О П О Л Н Е Н И Й

MOV ax, 4c00h

INT 21h

exampl endp

_TEXT ENDS

_DATA SEGMENT USE16 PARA PUBLIC 'DATA'

a DW 10 DUP(?)

b DW 10 DUP(?)

i DW 10

s DB 'input.txt$'

q DW 0000h

z DB 'output.txt$'

_DATA ENDS

END START

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

КРАСНОЯРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ

УНИВЕРСИТЕТ

Лабораторная работа №1

Выполнил:

студент гр. Р53-3

Колегов А.Н.

Проверил:

Сушкин И.Н.

Красноярск

 2006

Блок-схема: