;-------------------------------------------------
; MAINPROGRAM
%INCLUDE "OPIS.INC" ; ПОДКЛЮЧЕНИЕ
%INCLUDE "LAB_IO.INC" ; ДОПОЛНИТЕЛЬНЫХ
%INCLUDE "INIT_BU.MAC" ; ТЕКСТОВЫХ ФАЙЛОВ
RAM EQU 0800H
ROM EQU 0000H
LEN_RAM EQU 0800H
ADDR1 EQU 0850H
ADDR2 EQU 0870H
POROG1 EQU 3FH
POROG2 EQU 78FFH
N EQU 1
STEP EQU 2
; BUFFERS
TEXTSIZE EQU 20H
DEFSEG DATA1,CLASS=DATA,START=RAM
SEG DATA1
BUF1: DS TEXTSIZE
ORG ADDR1
ADDR DS ADDR2-ADDR1
COUNT1 DS 1
MASS2 DS 10H
NAMBER1 DB 5FH,87H
NAMBER2 DB 44H,87H
; STACK
STACKSIZE EQU 32
DEFSEG STACK,CLASS=DATA,START=RAM+LEN_RAM-STACKSIZE
SEG STACK
STACKR: DS STACKSIZE
STPOINT EQU $ ;
; FLAGS
SEG DATA1
PASS1 DS 1
; MASKS FOR EXAMPLES
MASK11 EQU 00000011B ;
MASK12 EQU 01010000B ;
;
; PROGRAMM
Чет.
;
EXTERNDEQH ; ОБЪЯВЛЕНИЕ ВНЕШНЕГО ИМЕНИ,
; ПОДКЛЮЧАЕМОГО НА СТАДИИ КОМПОНОВКИ
SEGCODE
PROG:
;JMP ZAD2_1
;JMP ZAD2_2
;JMP ZAD4_1
;JMP ZAD4_2
;JMP ZAD8
;JMP ZAD10
JMP ZAD14
LXI SP,STPOINT
MVI A,0 ;ALL INPUT
OUT DB8355
DCR A
OUT DA8355 ;ALL OUTPUT
; MAIN
;
; INPUT TO PORT A 8355
LXI H,BUF1+TEXTSIZE-1
MVI M,0 ;END OF BUFFER
XCHG
LXI H,BUF1
LOOPIN:
IN PB8355
MOV M,A
INX H
CALLDEQH
JNZLOOPIN
1.1. Заполнить область RAM, начиная с адреса MASS1, натуральными числами от 0 до 50 и от 50 до 45.
ZAD1:
LXI H,MASS
MVI B,51
MVI C,46
LOOP_1:
MVI A,51
SUB B
MOV M,A
INX H
DCR B
JNZ LOOP_1
LOOP_2:
MVI A,4
ADD C
MOV M,A
INX H
DCR C
JNZ LOOP_2
2.1. В массиве чисел (формат байты/слова), расположенном между адресами ADDR1 (четное значение) и ADDR2, обнулить ячейки, содержащие четные числа (т.е. числа, имеющие младший бит младшего байта, равный нулю). Реализовать в виде подпрограммы.
1) Числа ADDR1 и ADDR2 – символические константы.
2) Значения ADDR1 и ADDR2 – содержимое ячеек памяти.
ZAD2_1:
LXI SP,STPOINT
LXI H,ADDR1
MVI B,ADDR2-ADDR1
MVI A,40
NEXT1:
MOV M,A
INR A
INX H
DCR B
JNZ NEXT1
CALL PODPR_1
PODPR_1:
LXI H,ADDR1
MVIB,ADDR2-ADDR1 ; БАЙТОВЫЙ ФОРМАТ
LOOP1_1:
MOV A,M
ANI 1
JNZ NO_ZERO_1
MVI M,0
NO_ZERO_1:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.