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

Страницы работы

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

Содержание работы

Задание:

Сформировать массив из 10 двухбайтных чисел.

Переписать во второй массив все положительные числа.

Текст программы:

1

_TEXT SEGMENT PARA PUBLIC 'CODE'

ASSUME CS:_TEXT, DS:_DATA

.386

.387

exampl      PROC NEAR

ORG 00H

START:     MOV AX, _DATA

MOV DS, AX

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

;Очищение экрана

MOV CX, 50             ;

M3:            MOV AH, 02h           ;

MOV DL, 0Dh          ;

INT 21h                     ;

MOV DL, 0Ah          ;

INT 21h                     ;

DEC CX                    ;

JNZ M3                     ;

;Конец очищения экрана

;Загружаем в SI адрес a

LEA SI, a            ;

;Конец Загрузки в SI адрес a

MOV CX, 10

;Вывод строки 'введите элемент'

M4:            MOV AH, 09h                       ;

LEA DX, s                             ;

INT 21h                               ;

; Конец Вывода строки 'введите элемент'

MOV DX, 4

; Ждем ввод символа с клавиатуры

M5:            MOV AH, 1h                          ;

INT 21h                                   ;

; Конец "Ждем ввод символа с клавиатуры"

; Переводим введенный символ в 16ый код

CMP AL, 60h                                ;

JS M11                                          ;

SUB AL, 20h                                ;

M11:          SUB AL, 30h                                ;

CMP AL, 10h                                ;

JS M10                                          ;

SUB AL, 7h                                  ;

; Конец "Переводим введенный символ в 16ый код"

M10:          CMP DX, 4

JNE M6

; Если вводим первый символ, то заносим его в первую ячейку

ADD SI, 1                                                      ;

SAL AL, 4                                                      ;

MOV [SI], AL                                                ;

JMP M9                                                         ;

; Конец "Если вводим первый символ, то заносим его в первую ячейку"

M6:            CMP DX, 3

JNE M7

; Если вводим второй символ, то заносим его во вторую ячейку

ADD [SI], AL                                                 ;

JMP M9                                                          ;

; Конец "Если вводим второй символ, то заносим его во вторую ячейку"

M7:            CMP DX, 2

JNE M8

; Если вводим третий символ, то заносим его в третью ячейку

SUB SI, 1                                                       ;

SAL AL, 4                                                      ;

MOV [SI], AL                                                ;

JMP M9                                                         ;

; Конец "Если вводим третий символ, то заносим его в третью ячейку"

M8:            CMP DX, 1

JNE M9

; Если вводим четвертый символ, то заносим его в четвертую ячейку

ADD [SI], AL                                                      ;

ADD SI, 2                                                            ;

; Конец "Если вводим четвертый символ, то заносим его в четвертую ячейку"

M9:            DEC DX

JNZ M5

; Переход на другую строку

MOV AH, 02h                     ;

MOV DL, 68h                     ;

INT 21h                               ;

MOV DL, 0Dh                     ;

INT 21h                                ;

MOV DL, 0Ah                     ;

INT 21h                                ;

; Конец Перехода на другую строку

DEC CX

JNZ M4

; Переход на другую строку

MOV AH, 02h                     ;

MOV DL, 0Dh                     ;

INT 21h                               ;

INT 21h                                ;

MOV DL, 0Ah                     ;

INT 21h                                ;

; Конец Перехода на другую строку

; Вывод строки 'заданный массив'

MOV AH, 09h                         ;

LEA DX, w                              ;

INT 21h                                   ;

; Конец Вывода строки 'заданный массив'

; Переход на другую строку

MOV AH, 02h                   ;

MOV DL, 0Dh                   ;

INT 21h                       ;

MOV DL, 0Ah                   ;

INT 21h                       ;

; Конец Перехода на другую строку

LEA SI, a

MOV CX, 10

M17:          ADD SI, 1

; Вывод на экран первого символа

MOV BH, [SI]                       ;

SHR BH, 4                          ;

CMP BH, 0Ah                        ;

JS M18                             ;

ADD BH, 7h                         ;

M18:          ADD BH, 30h                        ;

MOV DL, BH                         ;

Похожие материалы

Информация о работе

Тип:
Отчеты по лабораторным работам
Размер файла:
75 Kb
Скачали:
0

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.