Задание:
Сформировать массив из 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 ;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.