
- •Робота з компілятором ср/м
- •Інструментальні засоби динамічного відлагодження програм
- •Програмні засоби організації програми
- •Текст програми
- •Результати виконання програми
- •Міністерство освіти та науки України Національний університет “Львівська політехніка” Інститут комп’ютерних наук та інформаційних технологій
- •Способи адресації операндів і команди пересилання даних однокристального мп кр580
- •Теоретичні відомості Способи адресації в мп кр580
- •2.2. Команди пересилання даних мп кр580
- •Наприклад :
- •2.3. Стек і команди роботи зі стеком в однокристальному мп кр580
- •Карта пам'яті
- •Текст програми
- •Результати виконання програми
- •Теоретичні відомості
- •2. Короткі теоретичні відомості
- •Карта пам'яті
- •Текст програми
- •Результати виконання програми
- •Теоретичні відомості
- •2. 6. С умова адреси - умовний виклик підпрограми.
- •2. 8. R умова - умовне повернення з підпрограми.
- •2. 10. Організація підпрограм.
- •Карта пам’яті Текст програми
- •Результати виконання програми:
- •Теоретичні відомості
- •Арифметична операція множення
- •Арифметична операція ділення
- •Словесний опис алгоритму
- •Приклад множення чисел
- •Запис початкових даних
- •Додання
- •Другого множника
- •Зсув першого множника
- •Результати виконання програми
- •Міністерство освіти та науки України Національний університет “Львівська політехніка” Інститут комп’ютерних наук та інформаційних технологій
- •Теоретичні відомості
- •Арифметична операція додавання чисел в bcd кодах
- •2.2 Арифметична операція віднімання чисел в bcd кодах
- •2.3 Арифметична операція додавання/віднімання знакових чисел в bcd кодах
- •Перетворення чисел двійково-десяткового формату в двійковий формат і з двійкового формату в bcd-коди.
- •Карта пам'яті
- •Код програми
- •Зміст файлу lr6.Prn
- •Результати виконання програми
- •Теоретичні відомості
- •Додавання та віднімання багаторозрядних чисел цілого типу
- •Множення та ділення багаторозрядних чисел цілого типу
- •Арифметичні операції над дійсними числами
- •3.1 Арифметичні операції над числами в форматі з фіксованою комою
- •Арифметичні операції над числами в форматі з плаваючою комою
- •Код програми
- •Зміст файлу lr7.Prn
- •Результати виконання програми
Текст програми
org 100h
mvi B, 88
mov A, B
sta 210h
mvi A, 24
sta 211h
add B
sta 212h
nop
hlt
Зміст файлу “lr1.prn”
0100 ORG 100h ;перехід на початкову адресу 100h
0100 0654 MVI B, 88 ;внесення в регістр B числа 88
0102 78 MOV A, B ;внесення в акумулятор числа з регістру B
0103 321002 STA 210H ;перенесення в комірку пам'яті з адресою 210h числа з акумулятора
0106 3E15 MVI A, 24 занесення в акумулятор числа 24
0108 321102 STA 211H ;перенесення в комірку пам'яті з адресою 210h числа з акумулятора
010B 80 ADD B ;додавання до акумулятора значення вміст регістру В
010C 321202 STA 212H ;перенесення в комірку пам'яті з адресою 210h числа з акумулятора
010F 00 NOP ;”холоста” операція процесора
Результати виконання програми
80MATE (tm) CP/M-80 Emulator 1.2
Copyright (c) 1984 Vertex Systems Inc.
SN #007#
60K TPA
Внутрішні команди CP/M
D:[cpm] dir
D| 1 ASM | 1 COM | 1 HEX | 1 PRN
D| 1 SYM | 2 ASM | 2 COM | 2 HEX
D| 2 PRN | 2 SYM | 8080LIST TXT | C EXE
D| CPM-DDTR TXT | CPM-KOMR TXT | D COM | L COM
D| M COM
D:[cpm] Type 1.asm
org 100h
mvi b,88
mov a,b
sta 210h
mvi a,24
sta 211h
add b
sta 212h
nop
hlt
D:[cpm] ren 11.asm=1.asm
D:[cpm] ren 1.asm=11.asm
D:[cpm] save 2 e.ext
D:[cpm] era e.ext
Команди від лагодження програми
D:[cpm] D
DDT VERS 1.0
-D
0100 01 BC 0F C3 3D 01 20 20 20 20 20 20 20 20 20 20 ....=.
0110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0130 44 44 54 20 56 45 52 53 20 31 2E 30 24 31 00 02 DDT VERS 1.0$1..
0140 C5 C5 11 30 01 0E 09 CD 05 00 C1 21 07 00 7E 3D ...0.......!..~=
0150 90 57 1E 00 D5 21 00 02 78 B1 CA 65 01 0B 7E 12 .W...!..x..e..~.
0160 13 23 C3 58 01 D1 C1 E5 62 78 B1 CA 87 01 0B 7B .#.X....bx.....{
0170 E6 07 C2 7A 01 E3 7E 23 E3 6F 7D 17 6F D2 83 01 ...z..~#.o}.o...
0180 1A 84 12 13 C3 69 01 D1 2E 00 E9 0E 10 CD 05 00 .....i..........
0190 32 5F 1E C9 21 66 1E 70 2B 71 2A 65 1E EB 0E 11 2_..!f.p+q*e....
01A0 CD 05 00 32 5F 1E C9 11 00 00 0E 12 CD 05 00 32 ...2_..........2
01B0 5F 1E C9 21 68 1E 70 2B 71 2A 67 1E EB 0E 13 CD _..!h.p+q*g.....
-D210
0210 0E 1E CD 05 00 F5 79 CD 8F 06 F1 C9 FE 20 C8 FE ......y...... ..
0220 09 C8 FE 2C C8 FE 0D C8 FE 7F CA 24 05 C9 0E 0D ...,.......$....
0230 CD 15 00 0E 0A CD 15 00 C9 CD 8C 06 FE 0D CA 18 ................
0240 05 CD 1C 00 CA 39 00 0E 04 21 7A 06 36 20 23 0D .....9...!z.6 #.
0250 C2 4C 00 0E 05 21 7A 06 77 CD 8C 06 CD 1C 00 CA .L...!z.w.......
0260 6A 00 23 0D CA 18 05 C3 58 00 3A 7A 06 FE 20 C9 j.#.....X.:z.. .
0270 D6 30 FE 0A D8 C6 F9 FE 10 D8 C3 18 05 CD 98 06 .0..............
0280 3D C2 18 05 EB 4E 23 46 79 05 04 C9 CD 7D 00 C2 =....N#Fy....}..
0290 18 05 C9 17 17 17 E6 38 C9 17 17 17 17 E6 30 C9 .......8......0.
02A0 EB 2A 7A 06 EB 7B BE C2 AF 00 23 7A BE C8 2B 2B .*z..{....#z..++
02B0 2B 0D C2 A5 00 0D C9 06 04 D5 11 7A 06 1A BE C2 +..........z....
02C0 CA 00 23 13 05 C2 BD 00 D1 C9 23 05 C2 CA 00 11 ..#.......#.....
-F210,220,0
-D210,220
0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0220 00 .
-IFILE.EXT
-R
-L210
0210 NOP
0211 NOP
0212 NOP
0213 NOP
0214 NOP
0215 NOP
0216 NOP
0217 NOP
0218 NOP
0219 NOP
021A NOP
-L101,102
0101 CMP H
0102 RRC
0103
-S210
0210 00
0211 00
0212 00 .
-A102
0102
-M101,102,210
-d210,21F
0210 BC 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
-G
DDT VERS 1.0
-G101
DDT VERS 1.0
D:[cpm] d
DDT VERS 1.0
-G101,102
*0102
-G101,102,210
*0102
-G102
DDT VERS 1.0
D:[cpm] d
DDT VERS 1.0
-G102,111
DDT VERS 1.0
D:[cpm] d
DDT VERS 1.0
-X
C0Z0M0E0I0 A=00 B=0000 D=0000 H=0000 S=0100 P=0100 LXI B,0FBC
-XA
A=00
-XP
P=0100
-U1
C0Z0M0E0I0 A=00 B=0000 D=0000 H=0000 S=0100 P=0100 LXI B,0FBC*0103
-T2
C0Z0M0E0I0 A=00 B=0FBC D=0000 H=0000 S=0100 P=0103 JMP 013D
C0Z0M0E0I0 A=00 B=0FBC D=0000 H=0000 S=0100 P=013D LXI SP,0200*0140
-T
C0Z0M0E0I0 A=00 B=0FBC D=0000 H=0000 S=0200 P=0140 PUSH B*0141
Робота з програмою
D:[cpm] d 1.com
NEXT PC
0180 0100
-f210,21A,0
-d210,21A
0210 00 00 00 00 00 00 00 00 00 00 00 ...........
-x
C0Z0M0E0I0 A=00 B=0000 D=0000 H=0000 S=0100 P=0100 MVI B,59
-t
C0Z0M0E0I0 A=00 B=0000 D=0000 H=0000 S=0100 P=0100 MVI B,59*0102
-t
C0Z0M0E0I0 A=00 B=5900 D=0000 H=0000 S=0100 P=0102 MOV A,B*0103
-t
C0Z0M0E0I0 A=59 B=5900 D=0000 H=0000 S=0100 P=0103 STA 0210*0106
-d210,21A
0210 59 00 00 00 00 00 00 00 00 00 00 Y..........
-t
C0Z0M0E0I0 A=59 B=5900 D=0000 H=0000 S=0100 P=0106 MVI A,09*0108
-t
C0Z0M0E0I0 A=09 B=5900 D=0000 H=0000 S=0100 P=0108 STA 0211*010B
-d210,21a
0210 59 09 00 00 00 00 00 00 00 00 00 Y..........
-t
C0Z0M0E0I0 A=09 B=5900 D=0000 H=0000 S=0100 P=010B ADD B*010C
-t
C0Z0M0E0I1 A=62 B=5900 D=0000 H=0000 S=0100 P=010C STA 0212*010F
-d210,21A
0210 59 09 62 00 00 00 00 00 00 00 00 Y.b........
-t
C0Z0M0E0I1 A=62 B=5900 D=0000 H=0000 S=0100 P=010F NOP *0110
-t
C0Z0M0E0I1 A=62 B=5900 D=0000 H=0000 S=0100 P=0110 HLT
*Execution halted
ВИСНОВОК: Виконавши послідовність команд компіляції, лінкування і налагодження програми, я навчився працювати з компілятором СР/М для МП Intel 8080 (КР580ВМ80А).