Доставка цветов в Севастополе: SevCvety.ru
Главная -> Появление первого микропроцессора

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 [93] 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116

F8BB CnsriFA FSEE Crii7FB

FSCl CD79FA F8C4 3fi F8C5 CD96FA F8C3 ?E F8C9 CnOSFB

F8CC CBBFF8 F8CF DADBF8

F8D2 7B F8B3 EiOF F8B5 C2CiF8 Г8В8 C3BBF8 F8DB CD8DFA F8IIE C9

? ВЫВОД СОДЕРЖИМОГО ПАМЯТИ НА КОНСОЛЬ 11.икд5! CALL КОИС i ВЫВОД ВК.ПС

CALL BUBHL ; ВЫВОД НА КОНСОЛЬ <HrL> S ВИБОЯ НА КОНСОЛЬ СОДЕРЖИМОГО ЯЧЕЙКИ ПАМЯТИ

ИИКЛб!

CALL ВВ

CALL

CALL

ВЫВС1 * 1

вывл

АуН ВЫВА

ВЫВОД ":" ВЫВОД ПРОБЕЛА

; вывод <А)

; ПРОВЕРКА НА ОКОНЧАНИЕ ВИВОДА ОБЛАСТИ ПАМЯТИ CALL ИНКНВ

JC ПЕР2 ; ЕСЛИ ВЫВОД ОКОНЧЕН

f ПРОВЕРКА НА ОКОНЧАНИЕ ВЫВОДА СТРОКИ мои A,L

ПЕР2!

CALL

OFH ЦИКЛб ЦИКЛЗ KOHC

ЕСЛИ ВЫВОД СТРОКИ НЕ ОКОНЧЕН НА ВЫВОД НОВОЙ СТРОКИ ВЫВОД BKfHC

ИНКНВ!

t ПОДПРОГРАННА СРАВНЕНИЯ РЕГИСТРОВЫХ ПАР <H,L> И <Б»Е>. 5 ВЫХОДНЫЕ ПАРАНЕТРЫ:ЕСЛИ <H,L)=0. ТО <CY)=lf <Z>=1; ЕСЛИ ; (H,L) = <DjE),TO <CY)=0,<Z)=i;ECЛИ (h.DXDvE) jTO <CY>=1, ; <Z)=0; ЕСЛИ <H,L>((B,E),TO (CY)=0,(Z)=0. .;Kxx«Kx«kx»«);k«xK«x«k««k«««««K»x««x«KXKxx*««x«X)HfXKXXxx«

! ЕСЛИ <H,L) <ВуЕ>

FBDF 23

INX H

; ПРОВЕРКА (HyL) HA

F8E0 7C

HOV A.H

F8E1 B5

ORA L

F8E2 37

F8E3 C8

? СРАВНЕНИЕ <H.L) И

FBE4 7B

мои A,E

F8E5 95

SUB L

F8E6 7A

HOU A.B

F8E7 9C

SBB H

F8E8 C9

Вначале с помощью программы ВВ2Б производится прием двух параметров: адресов нижней и верхней границ отображаемой области памяти. Дальнейшая работа программы организована в виде двух вложенных итеративных циклов. Вывод одной строки обеспечивает внутренний цикл, на каждой итерации которого с помощью соответствующих подпрограмм выводятся разделители и содержимое очередного байта. Завершение работы внутреннего цикла происходит тогда, когда содержимое младшего полубайта адреса текущей выводимой ячейки памяти становится равным нулю. Во внешнем цикле вьшолняются переход на новую строку и вывод текущего значения адреса отображаемого байта. Выход из внешнего цикла осуществляется в том случае, когда значение текущего



адреса достигнет верхней границы отображаемой области памяти. Подпрограмма ИНКНО выполняет операции, необходимые для ведения адресных указателей. В этой подпрограмме содержимое регистровой пары (Н, L) ин-крементируется и сравнивается с содержимым регистровой пары (D, Е) и нулевым значением. В результате сравнения вырабатываются соответствующие значения выходных параметров.

6.6.4. ДИРЕКТИВА ЗАПОЛНЕНИЯ ОБЛАСТИ ПАМЯТИ

Директива F заполняет ячейки памяти, адреса нижней и верхней границы которой задаются первым и вторым параметрами директивы, константой, значение которой указывается в третьем параметре:

КИГ:

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

;««кк»1(«хкх«хх«кх«х»>1ХМ);к««кк«««кх«хк«кккх««хх«хх»»х»х«« ! ВВОД С КОНСОЛИ ПАРАМЕТРОВ ДИРЕКТИВЫ

F8E9 ОЕОЗ

«УХ

(С)-КОЛИЧЕСТВО ПАРАМЕТРОВ

FSEB CBF5FA

CALL

BE2E

F8EE С1

<С)-КОД ЗАПОЛНЕНИЯ

F8EF В1

<ВуЕ)-ВЕРХНЯЯ ГРАНИЦА ПАМЯТИ

F8F0 Е1

<HyL)-НИЖНЯЯ ГРАНИЦА ПАМЯТИ

; ЗАПОЛНЕНИЕ

ПАМЯТИ

F8F1 71

11ИКЛ7: МОУ

F0F2 CDDFF8

. CALL

ИНКНВ

ПРОВЕРКА НА ОКОНЧАНИЕ РАБОТЫ

F8F5 B2F1F8

и.ИКЛ7

ЕСЛИ НЕ КОНЕЦ

F8FS С9

Вначале программа принимает три параметра, а затем с помощью итеративного цикла организуется заполнение памяти. Благодаря использованию подпрограммы ИНКНО тело цикла содержит всего три команды.

6.6.5. ДИРЕКТИВА ПЕРЕМЕЩЕНИЯ СОДЕРЖИМОГО

ПАМЯТИ

ОБЛАСТИ

Директива М обеспечивает перемещение содержимого области памяти, границы которой определяются первым и вторым параметрами, в другую область памяти, начиная с адреса, задаваемого третьим параметром:



ККМ:

; ПОППРОГРАНМА ОБРАБОТКИ ДИРЕКТИВЫ li. i ввод С КОНСОЛИ IlAPAhETPOB ДИРЕКТИВЫ

F8F9 ОЕОЗ

C»3

F8FB CDF5FA

CALL

ВВ2Б

F8FE С1

i <В.С)-НИЖНЯЯ ГРАНИЦА ПРИЕННИКА

F8FF В1

; <В,Е)-ВЕРХНЯЯ ГРАНИЦА ИСТОЧНИКА

F900 Е1

; <H,L>-HИSИЯЯ ГРАНИЧА ИСТОЧНИКА

i НЕПОСРЕДСТВЕННАЯ ПЕРЕСЫЛКА

F901 7Е

ЦИКЛ8: ИОи

F902 02

STAX

F903 03

F904 CBBFF8

CALL

ИНКНВ

t ПРОВЕРКА НА ОКОНЧАНИЕ

F907 B201F9

ЦИКЛЗ

; ЕСЛИ НЕ ОКОНЧЕНО

F90A С9

Структура программы аналогична структуре предыдущей программы. В теле цикла содержатся команды, осуществляющие пересылку текущего байта и модификацию области памяти приемника. Модификация области памяти источника и проверка на достижение им верхней границы выполняются посредством обращения к программе ИНКНО.

6.6.6. ДИРЕКТИВА МОДИФИКАЦИИ СОДЕРЖИМОГО ОБЛАСТИ

ПАМЯТИ

Директива S выполняется в диалоговом режиме и совмещает функции отображения и модификации содержимого области памяти. После ввода единственного параметра, который является адресом начала области памяти, на консоль выдаются содержимое первой ячейки этой области и символ «-». В ответ пользователь может ввести число, последние две цифры которого будут записаны в эту ячейку. Ввод числа должен заканчиваться вводом терминатора. Если запись в данную ячейку не требуется, необходимо сразу после вывода символа «-» ввести терминатор. В обоих случаях после ввода терминатора на консоль выводятся содержимое следующего байта и символ «-», затем описанные действия пользователь может повторить. Для прекращения работы директивы S необходимо в качестве терминатора использовать символ ВК. Программа, выполняющая директиву, имеет следующий вид:



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 [93] 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116



0.0122
Яндекс.Метрика