Uknc start disasm

From Felixl.com
Revision as of 19:31, 16 March 2007 by Felix (talk | contribs) (160300 - 160406: Старт ПП)
Jump to navigationJump to search

160300 - 160406: Старт ПП

;--- Старт ПП
  160300  013704  MOV	@#172660, R4
  160302  172660
  160304  005000  CLR	R0
  160306  010406  MOV	R4, SP
  160310  100465  BMI	160464
  160312  032737  BIT	#000020, @#177716
  160314  000020
  160316  177716
  160320  001404  BEQ	160332
  160332  012737  MOV	#000040, @#177716
  160334  000040
  160336  177716
  160340  004767  JSR	PC, 173252	; Вызов подпрограммы - подготовка образа ПЗУ для ЦП
  160342  012706
  160344  012737  MOV	#070045, @#177010
  160346  070045
  160350  177010
  160352  016437  MOV	000042(R4), @#177014
  160354  000042
  160356  177014
  160360  005037  CLR	@#177716
  160362  177716
  160364  012700  MOV	#000100, R0
  160366  000100
  160370  077001  SOB	R0, 160370	; Цикл
  160372  012737  MOV	#100000, @#177716 ; Запуск ЦПУ
  160374  100000
  160376  177716
  160400  004767  JSR	PC, 160410	; Вызов подпрограммы - тест ПЗУ
  160402  000004
  160404  000300  SWAB	R0
  160406  000432  BR	160474
;---

160410 - 160462: Процедура теста ПЗУ

160410 - Начало теста ПЗУ
...
160462		RTS	PC	; Возврат; R0 - результат

160474 - 160572

;--- Начало теста ОЗУ ПП, первые 16384 байт, и их очистки
  160474  005001  CLR	R1
  160476  013702  MOV	@#172674, R2
  160500  172674
  160502  010111  MOV	R1, (R1)
  160504  020111  CMP	R1, (R1)
  160506  001010  BNE	160530
  160510  005111  COM	(R1)
  160512  011103  MOV	(R1), R3
  160514  005103  COM	R3
  160516  020103  CMP	R1, R3
  160520  001003  BNE	160530
;--- 
  160522  005021  CLR	(R1)+		; Очистка после проверки
  160524  077212  SOB	R2, 160502
  160526  000402  BR	160534
;--- Считанное значение не равно записанному
  160530  052700  BIS   #000002, R0
;---
  160534  010401  MOV	R4, R1
  160536  012702  MOV	#000050, R2
  160540  000050
  160542  005021  CLR	(R1)+
  160544  077202  SOB	R2, 160542
  160546  013764  MOV	@#172672, 000014(R4)
  160550  172672
  160552  000014  
  160554  012764  MOV	#000200, 000020(R4)
  160556  000200
  160560  000020
  160562  012764  MOV	#125252, 000042(R4)
  160564  125252
  160566  000042
  160570  000167  JMP	172676
  160572  012102
;---

172676 - 172762

;--- Продолжение после перехода с 160570
  172676  012706  MOV	#002000, SP
  160572  012102
  172702  106300  ASLB	R0
  172704  106300  ASLB	R0
  172706  010046  MOV	R0, -(SP)
  172710  004767  JSR	PC, 173502
  172712  000566
  172714  012602  MOV	(SP)+, R2
  172716  013700  MOV	@#177060, R0
  172720  177060
  172722  020027  CMP	R0, #000002
  172724  000002
  172726  101005  BHI	172742
  172730  050002  BIS	R0, R2
  172732  001405  BEQ	172746
  172734  004767  JSR   PC, 172764
  172736  000024
  172740  000402  BR    172746
;---
  172742  004767  JSR   PC, 117136
  172744  124170
;---
  172746  012737  MOV	#000002, @#007042
  172750  000002
  172752  007042
  172754  106427  MTPS	#000000
  172756  000000
  172760  000167  JMP	174152
  172762  001166
;---

172252 - 173354: Подготовка образа ПЗУ для ЦП

;--- Процедура - подготовка образа ПЗУ для ЦП
  173252  012737  MOV	#070000, @#177010
  173254  070000
  173256  177010
  173260  012701  MOV	#160000, R1
  173262  160000
  173264  012700  MOV	#005305, R0
  173266  005305
  173270  012137  MOV	(R1)+, @#177014	; <-+
  173272  177014			;   |
  173274  005237  INC	@#177010	;   |
  173276  177010			;   |
  173300  077005  SOB	R0, 173270	; --+
  173302  012701  MOV	#173356, R1
  173304  173356
  173306  012700  MOV	#000044, R0
  173310  000044
  173312  012137  MOV	(R1)+, @#177014	; <-+
  173314  177014			;   |
  173316  005237  INC	@#177010	;   |
  173320  177010			;   |
  173322  077005  SOB	R0, 173312	; --+
  173324  013737  MOV	@#177716, @#177014
  173326  177716
  173330  177014
  173332  012701  MOV	#173466, R1
  173334  173466
  173336  012137  MOV	(R1)+, @#177010	; <-+
  173340  177010			;   |
  173342  012737  MOV	#000600, @#177014 ; |
  173344  000600			;   |
  173346  177014			;   |
  173350  005711  TST	(R1)		;   |
  173352  001371  BNE	173336		; --+
  173354  000207  RTS	PC
;---