Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
2.23 Mб
Скачать

Код програми

org 100h

lxi H, 301

mov A, H

sta 200h

mov A, L

sta 201h

xchg

mvi A, 210

sta 202h

mvi A, 31h

sta 203h

mvi A, 6Fh

sta 204h

mvi A, 91

sta 205h

mvi A, 117

sta 206h

mvi C, 1

mvi B, 8

checkBit:

lda 202h

ana C

stc

cmc

mov A, C

ral

mov C, A

jz ralE

dad D

ralE:

stc

cmc

mov A, E

ral

mov E, A

mov A, D

mvi D, 0

jnc ralD

mvi D, 1

ralD:

stc

cmc

ral

add D

mov D, A

dcr B

jnz checkBit

mov A, H

sta 207h

mov A, L

sta 208h

lda 203h

cma

mov D, A

lda 204h

cma

inrA

mov E, A

mvi H, 255

mvi L, 255

dad D

mvi D, 0

lda 205h

mov E, A

mvi A, 0

ral

mvi A, 0

divN:

dad D

inr A

jnc divN

dcr A

sta 209h

mov E, A

lda 207h

cma

mov H, A

lda 208h

cma

mov L, A

inr L

dad D

mov A, H

sta 20ah

mov A, L

sta 20bh

lda 206h

mov E, A

dad D

mov A, H

cma

sta 20ch

mov A, L

cma

inr A

sta 20dh

nop

hlt

Зміст файлу lr7.Prn

0100 ORG 100h ;перехід на початкову адресу 100h

0100 212D01 LXI H, 301 ;

0103 7C MOV A, H ;

0104 320002 STA 200H ;

0107 7D MOV A, L ;

0108 320102 STA 201H

010B EB XCHG

010C 3ED2 MVI A, 210

010E 320202 STA 202H

0111 3E31 MVI A, 31H

0113 320302 STA 203H

0116 3E6F MVI A, 6FH

0118 320402 STA 204H

011B 3E5B MVI A, 91

011D 320502 STA 205H

0120 3E75 MVI A, 117

0122 320602 STA 206H ;занесення даних

0125 0E01 MVI C, 1

0127 0608 MVI B, 8

CHECKBIT:

0129 3A0202 LDA 202H ;перевірка біту чи є одиниця

012C A1 ANA C

012D 37 STC

012E 3F CMC

012F 79 MOV A, C

0130 17 RAL

0131 4F MOV C, A

0132 CA3601 JZ RALE

0135 19 DAD D ;багаторозрядне додавання

RALE: ;зсув молодшого байту

0136 37 STC

0137 3F CMC

0138 7B MOV A, E

0139 17 RAL

013A 5F MOV E, A

013B 7A MOV A, D

013C 1600 MVI D, 0

013E D24301 JNC RALD

0141 1601 MVI D, 1

RALD: ;зсув старшого байту

0143 37 STC

0144 3F CMC

0145 17 RAL

0146 82 ADD D

0147 57 MOV D, A

0148 05 DCR B

0149 C22901 JNZ CHECKBIT ;повернення, якщо В не 0

014C 7C MOV A, H

014D 320702 STA 207H

0150 7D MOV A, L

0151 320802 STA 208H ;збереження результатів

0154 3A0302 LDA 203H

0157 2F CMA

0158 57 MOV D, A

0159 3A0402 LDA 204H

015C 2F CMA

INRA

015D 5F MOV E, A

015E 26FF MVI H, 255

0160 2EFF MVI L, 255

0162 19 DAD D

0163 1600 MVI D, 0

0165 3A0502 LDA 205H

0168 5F MOV E, A

0169 3E00 MVI A, 0

016B 17 RAL

016C 3E00 MVI A, 0

DIVN: ;операція ділення

016E 19 DAD D

016F 3C INR A

0170 D26E01 JNC DIVN ;ділити до поки прапорець непереносу не 1

0173 3D DCR A

0174 320902 STA 209H

0177 5F MOV E, A

0178 3A0702 LDA 207H

017B 2F CMA

017C 67 MOV H, A

017D 3A0802 LDA 208H

0180 2F CMA

0181 6F MOV L, A

0182 2C INR L

0183 19 DAD D ;багаторозрядне віднімання другого результату від першого

0184 7C MOV A, H

0185 320A02 STA 20AH

0188 7D MOV A, L

0189 320B02 STA 20BH

018C 3A0602 LDA 206H

018F 5F MOV E, A

0190 19 DAD D ;багаторозрядне віднімання 117 від результату

0191 7C MOV A, H

0192 2F CMA

0193 320C02 STA 20CH ;запис резудбтатів

0196 7D MOV A, L

0197 2F CMA

0198 3C INR A

0199 320D02 STA 20DH

019C 00 NOP

I019D 76 HLT