Ознакомление с работой на учебно-отладочном комплексе УМПК-48. Исследование организации и работы регистров, внутренней и внешней памяти данных ОЭВМ, страница 6

#- префикс непосредственного операнда;

@- префикс косвенной адресации;

data- 8-битное число (непосредственные данные);

(X)- содержимое регистра или ячейки с именем X;

((X))- содержимое ячейки памяти, адресуемое содержымым X.

Команды пересылки ОЭВМ ВЕ48:

MOV АДп-передать содержимое регистра в аккумулятор, п~0...7, условное обозначение операции: (A)<-(Rn);     ч

MOV ^п,А~передать содержимое аккумулятора в регистр, П-0...7, условное обозначение операции: (Rn)<-(A);

MOV А,#(1а1а-передать непосредственные данные в аккумулятор, обозначение операции: (A)<-(data);

MOV Rn,data-nepeflaTb непосредственные данные в регистр, п=0...7, обозначение операции: (Rn)<-(data);

MOV A,PSW передать содержимое регистра PSW в аккумулятор:

(A)<-(PSW);

MOV PSW,A-nepeдaть содержимое аккумулятора в регистр PSW:

(PSW)<-(A);

MOV А,@Кл-передать содержимое ячейки памяти с косвенной адресацией в аккумулятор, 1=0,1, условное обозначение операции:

(A)<-((Ri));

MOV @Кл,А-передать содержимое аккумулятора в ячейку памяти данных с косвенной адресацией, 1=0,1, обозначение операции: ((Ri))<-(A);

MOV @Ш,#сШа-передать непосредственные данные в ячейку памяти данных с косвенной адресацией, 1=0, i, обозначение операции:

((Ri))<-data;

MOVX А,@К1-передать содержимое ячейки внешней памяти данных с косвенной адресацией в аккумулятор, 1=0,1, условное обозначение операции: (A)<-((Ri));

MOVX @К1,А-передать содержимое аккумулятора в ячейку внешней памяти данных с косвенной адресацией, 1=0,1, обозначение операции: ((Ri))<-(A);

Команды обмена ОЭВМ ВЕ48:

ХСН АДп-обменять содержимое аккумулятора и регистра, п~0...7, условное обозначение операции: (A)<->(Rn);

ХСН А,@Кд-обменять-содержимое аккумулятора и ячейки памяти данных с косвенной адресацией, 1=0, К условное обозначение операции:

(A)<->«Ri));

XCHD A,@Ri-oбмeнять младшие тетрады аккумулятора и ячейки памяти данных с косвенной адресацией, 1=0,1;

SWAP А-обменять младшую и старшую тетрады содержимого аккумулятора: (А7А6А5А4)<->(АЗА2А 1 АО).

3. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

3.1.   Исследование   организации   внутренней   памяти   данных   ОЭВМ

3.1.1. Для изучения организации внутренней ПД предлагается с помощью программы задать содержимое регистров RO...R7 банков RBO и RB1, а затем изучить расположение банков регистров в ПД.

Занести в память команд следующую программу: Адрес Код  Метка  Команда    Коментарий 000    С5           SELRBO    ; включить банк RBO 001    В8 00        MOV RO,#OOH; заполнение регистров 003             В901       MOV R1,#01H; банка RBO

005             BA 02     MOV R2,#02H; константами

007             ВВОЗ     MOVR3,#03H;

009             ВС 04     MOVR4,#04H;

OOB           BD05      MOVR5,#05H;

OOD          BE 06     MOVR6,#06H;

OOF           BF 07     MOV R7,#07H;

011             D5           SELRB1    ; включить банк RB1

012             B8 10      MOV RO,#10H; заполнение регистров

014             B911    MOV R1,#11H; банка RB1

016             BA 12     MOV R2,#12H; константами

018             BB13   MOVR3,#13H;

01A            ВС 14     MOVR4,#14H;

01C             BD 15     MOVR5,#15H;

01E             BE 16     MOVR6,#16H;

020             BF17   MOVR7,#17H;

022             04 22 STOP: IMP STOP   ; зациклить в конце программы

Обратите внимание на строку программы с адресом 022Н, которая на языке ассемблера имеет вид: STOP: JMP STOP

При выполнении этой команды происходит безусловный переход на адрес 022Н, т.е. на адрес команды JMP. Таким образом происходит зацикливание ОЭВМ и как бы прекращение выполнения исследуемой программы. Такой метод останова выполнения программы использован потому, что в системе команд ОЭВМ ВЕ48 отсутствует команда останова, а в программе монитора нет директив останова выполнения программы по заданному адресу (сравните с монитором микроЭВМ УМК). В дальнейшем при самостоятельной разработке программ используйте этот метод останова программы.

3.1.2. Остановите выполнение программы директивой «Ст». Используя директиву «Рг», определите содержимое регистров RO...R7 обоих банков и убедитесь в правильном выполнении программы.