Difference between revisions of "Uknc start disasm"
From Felixl.com
Jump to navigationJump to search (→160300 - 160406: Старт ПП) |
|||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | == 160300 - 160406: Старт ПП == | ||
<pre> | <pre> | ||
;--- Старт ПП | ;--- Старт ПП | ||
Line 5: | Line 6: | ||
160304 005000 CLR R0 | 160304 005000 CLR R0 | ||
160306 010406 MOV R4, SP | 160306 010406 MOV R4, SP | ||
− | 160310 100465 BMI 160464 | + | 160310 100465 BMI 160464 ; Если стек расположен в отрицательных адресах - то это ЦПУ иначе - ППУ |
160312 032737 BIT #000020, @#177716 | 160312 032737 BIT #000020, @#177716 | ||
160314 000020 | 160314 000020 | ||
Line 26: | Line 27: | ||
160366 000100 | 160366 000100 | ||
160370 077001 SOB R0, 160370 ; Цикл | 160370 077001 SOB R0, 160370 ; Цикл | ||
− | 160372 012737 MOV #100000, @#177716 | + | 160372 012737 MOV #100000, @#177716 ; Запуск ЦПУ |
160374 100000 | 160374 100000 | ||
160376 177716 | 160376 177716 | ||
Line 35: | Line 36: | ||
;--- | ;--- | ||
</pre> | </pre> | ||
+ | |||
+ | == 160410 - 160462: Процедура теста ПЗУ == | ||
<pre> | <pre> | ||
160410 - Начало теста ПЗУ | 160410 - Начало теста ПЗУ | ||
Line 40: | Line 43: | ||
160462 RTS PC ; Возврат; R0 - результат | 160462 RTS PC ; Возврат; R0 - результат | ||
</pre> | </pre> | ||
+ | == 160474 - 160572 == | ||
<pre> | <pre> | ||
− | + | ;--- Начало теста ОЗУ ПП, первые 16384 байт, и их очистки | |
− | + | 160474 005001 CLR R1 | |
− | 160534 - | + | 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 | ||
+ | ;--- | ||
+ | </pre> | ||
+ | == 172676 - 172762 == | ||
+ | <pre> | ||
+ | ;--- Продолжение после перехода с 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 | ||
+ | ;--- | ||
</pre> | </pre> | ||
+ | |||
+ | == 172252 - 173354: Подготовка образа ПЗУ для ЦП == | ||
<pre> | <pre> | ||
;--- Процедура - подготовка образа ПЗУ для ЦП | ;--- Процедура - подготовка образа ПЗУ для ЦП |
Latest revision as of 20:32, 16 March 2007
Contents
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 ;---