• Sign Up
• Login
• API
• FAQ
• Tools
• Archive
daily pastebin goal
82%
SHARE
TWEET

# Untitled

a guest Jan 21st, 2019 63 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
1.     org \$c000
2.     REGBAS EQU \$1000 * Стартовый адрес блока регистров
3. TCNT  EQU \$0E *Счетчик (16-бит)
4. TOC1  EQU \$16 *OC1 регистр (16-бит)
5. TFLG1 EQU \$23
6. OC1F  EQU \$80
7. PPROG  EQU \$103b
8. *Начало лаб1
9. a equ 255
10. b equ 255
11. c equ 5
12. d equ 3
13.  ldaa #a
14.  ldab #a
15.  mul * (a*a) -> a^2 == d
16.  staa resa * save result high part in resa
17.  stab resb * save result low part in resa
18.  clra * clear a
19.  ldaa #a
20.  mul * (resb * a)->1. low and first part of middle of result == (a*a*a)
21.  stab resQubeLow
22.  staa resQubeMid
23.  ldaa resa * load in A register high part of expression (a*a)
24.  ldab #a * load in B register
25.  mul * (resa * a) ->2. high and second part of middle of result ==
26.  staa resQubeHigh * save high part of result
27.  ldaa resQubeMid * load first part of middle of result
28.  aba * adding first and second middle part
29.  staa resQubeMid * complite Qube(a*a*a) expression
30.  ldaa resQubeLow
31.  ldab #b
32.  aba
33.  staa resQubeLow
34.  ldaa resQubeMid
35.  adca resBuf *resBuf equal Null
36.  staa resQubeMid * Step 1. resQubeHigh + resQubeMid + resQubeLow equal (a^3 + b)
37.  ldaa #d * load 2 expression (b - 2)
38.  staa resBuf
39.  ldaa #b
40.  suba resBuf
41.  staa resB_sub_2 * Step 2. resB_sub_2 equal paramTwo (a^3 + b)/param2 - (a+c)
42.  clra
43.  clrb
44.  ldab #a
45.  addd #c
46.  std resA_add_C * Step 3. resA_add_C equal paramThree (a^3+b)/(b-2) - param3
47.  clra
48.  ldab resB_sub_2
49.  xgdx
50.  clra
51.  ldab resQubeHigh
52.  idiv
53.  xgdx
54.  stab resQubeHigh
55.  xgdx
56.  tba
57.  ldab resQubeMid
58.  std resDivision
59.  clra
60.  ldab resB_sub_2
61.  xgdx
62.  ldd resDivision
63.  idiv
64.  xgdx
65.  stab resQubeMid
66.  xgdx
67.  tba
68.  ldab resQubeLow
69.  std resDivision
70.  clra
71.  ldab resB_sub_2
72.  xgdx
73.  ldd resDivision
74.  idiv
75.  xgdx
76.  stab resQubeLow
77.  ldaa resQubeMid
78.  ldab resQubeLow
79.  subd resA_add_C
80.  staa resQubeMid
81.  stab resQubeLow
82. *Конец лаб1
83. memory:  STD XW
84.     LDY #\$b600 *Очистка памяти(четных строк)
85.     LDAA #%00000110
86.     STAA PPROG
87.     STAB 0,Y
88.     LDAA #%00010111
89.     STAA PPROG
90.     JSR DLY10
91.     CLR PPROG
92.
93.     LDY #\$b610 *Очистка памяти(нечетных строк)
94.     LDAA #%00000110
95.     STAA PPROG
96.     STAB 0,Y
97.     LDAA #%00010111
98.     STAA PPROG
99.     JSR DLY10
100.     CLR PPROG
101. *Запись остатка
102.     LDD XW
103.     LDY #\$b600 *Адрес программируемого байта
104.     LDAA #%000100010 *Конфигурация регистра PPROG
105.     STAA \$103B *Программирования регистра PPROG
106.     STD 0,Y *Запись байта по адресу программируемого байта
107.     LDAA #%00000011
108.     STAA \$103B *Подача напряжения программирования
109.     JSR DLY10 *Вызов процедуры задержки на 10 мс
110.     CLR \$103B * Выключение высокого напряжения программирования
111. INITDELAY LDY #REGBAS Указатель на блок регистров
112.     LDAA #\$80
113.     STAA TFLG1,Y
114.     RTS
115. DLY10 JSR INITDELAY *Вызов процедуры инициализации
116.     LDD TCNT,Y
117.     ADDD #20000
118.     STD TOC1,Y
119. LP1 BRCLR TFLG1,Y OC1F LP1
120.     RTS
121. XW FCC "00"
122. resa zmb 1
123. resb zmb 1
124. resBuf zmb 1
125.
126. resB_sub_2 zmb 2
127. resA_add_C zmb 2
128. resQubeLow zmb 1
129. resQubeMid zmb 1
130. resQubeHigh zmb 1
131. resDivision zmb 2
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy.

Top