close

Вход

Забыли?

вход по аккаунту

?

ПРИЛОЖЕНИЕ А сырцы (2)

код для вставкиСкачать
ПРИЛОЖЕНИЕ А
1. jmp begin
2. equ PZUK 7FFFh ; конечный адрес ПЗУ
3. equ OZU 8000h ; начало ОЗУ
4. equ OZUK FFFFh ; конец ОЗУ
5. equ MTEST AAh ; константа тестирования ОЗУ
6. equ IND0 00111111b 7. equ IND1 00000110b
8. equ PCI0 00h ; регистр УСАПП (данные)
9. equ PCI1 10h ; регистр УСАПП (управление)
;тест арифметического устройства в ЦПУ
10. CPUTEST:
11. mvi A, 077h
12. mvi B, 062h
13. sub B
14. mvi C, 036h
15. add C
16. rrc
17. rlc
18. mvi D, 04Bh
19. sub D
20. jz ECT
21. call OSHIBKA
22. ECT:
23. ret
;тест ПЗУ
24. PZUTEST:
25. mvi A, 0
26. lxi H, 0
27. lxi B, PZUK
28. ALLPZU:
29. xra M
30. inx H
31. dcx B
32. jnz ALLPZU
33. mov B, A
34. mov A, M
35. sub B
36. jz EPT
37. call OSHIBKA
38. EPT:
39. ret
;тест ОЗУ
40. OZUTEST:
41. lxi H, OZU
42. lxi B, 06000h
43. mvi A, MTEST
44. ALLOZU:
45. mov M, A
46. mov D, M
47. sub D
48. jnz OZUERR
49. mvi A, MTEST
50. dcx B
51. jnz ALLOZU
52. jz EOT
53. OZUERR:
54. call OSHIBKA
55. EOT:
56. ret
;программирование последовательного интерфейса
57. INIT:
58. mvi A,40h ;программный сброс
59. out PCI1
60. mvi A, 4Dh ;01001101b - асинхронный режим
61. out PCI1
62. ret
;ввод данных с С2 63. VVOD:
64. lxi H,OZU ; установка текущей ячейки ОЗУ
65. REPEAT_READ:
66. mvi A,06H ; сигнал готовности к приему 67. out PCI1
68. in PCI1 ; готовность передатчика
69. ani 80H
70. jz END_TRANS
71. WAIT_TO:
72. in PCI2 ; проверка готовности буфера
73. ani 01H
74. jz WAIT_TO
75. in PCI0 ; получение байта данных
76. mov M,A ; запись в память 77. inx H 78. mvi A,D0H ; (D000-1) - конечный адрес ОЗУ (для данных), D000 - DFFF для стека 79. cmp H
80. jz END_MEM
81. jmp REPEAT_READ
82. END_MEM:
83. dcx H
84. END_TRANS:
85. mvi M,AA55H ;запись в последнюю ячейку константы признака конца данных 86. ret
;обработка введенных данных
87. CALC:
88. lxi H,OZU
89. lxi B,0000h
90. mvi D,00h
91. mov A,M
92. OBRAB:
93. cmp B
94. jm MIN
95. RET1:
96. cmp C
97. jp MAX
98. RET2:
99. mov E,A
100. mov A,D
101. xra E
102. mov D,E
103. inx H
104. mov A,M
105. mvi E,AAh
106. cmp E
107. jnz OBRAB
108. inx H
109. mov A,M
110. mvi E,55h
111. cmp E
112. jz KON
113. dcx H
114. mov A,M
115. jmp OBRAB
116. MIN:
117. mov B,A
118. jmp RET1
119. MAX:
120. mov C,A
121. jmp RET2
122. KON:
123. ret
;вывод результатов вычислений на индикаторы
124. VYVOD:
125. mov A,B
126. lxi H,0001h
127. mvi B,8
128. LOOP1:
129. rar
130. mov E,A
131. mvi A,0
132. ral
133. jz V0
134. mvi A,IND1
135. out L
136. jmp M1
137. V0:
138. mvi A,IND0
139. out L
140. M1:
141. inx H
142. dcr B
143. jnz LOOP1
144. mov A,C
145. lxi H,0001h
146. mvi B,8
147. LOOP2:
148. rar
149. mov E,A
150. mvi A,0
151. ral
152. jz V0
153. mvi A,IND1
154. out L
155. jmp M1
156. V0:
157. mvi A,IND0
158. out L
159. M1:
160. inx H
161. dcr B
162. jnz LOOP2
163. mov A,D
164. lxi H,0001h
165. mvi B,8
166. LOOP3:
167. rar
168. mov E,A
169. mvi A,0
170. ral
171. jz V0
172. mvi A,IND1
173. out L
174. jmp M1
175. V0:
176. mvi A,IND0
177. out L
178. M1:
179. inx H
180. dcr B
181. jnz LOOP3
182. ret
;вывод сообщения об ошибке
183. OSHIBKA:
184. mov A,FFh
185. lxi H,00001h
186. mvi B,8
187. M2:
188. out L
189. inx H
190. dcr B
191. jnz M2
192. hlt
193. ret
194. begin:
;установка указателя стека
195. lxi H, OZUK
196. sphl
;тест системы
197. call CPUTEST
198. call PZUTEST
199. call OZUTEST
200. call INIT
201. LOOP:
202. call VVOD
203. call CALC
204. call VYVOD
205. jmp LOOP
Документ
Категория
Рефераты
Просмотров
5
Размер файла
16 Кб
Теги
сырцы, приложение
1/--страниц
Пожаловаться на содержимое документа