Kod boshlanishi


Download 40.59 Kb.
Sana18.06.2023
Hajmi40.59 Kb.
#1583110
Bog'liq
Biz belgilarni sikl yordamida chiqarishimiz mumkin


Biz belgilarni sikl yordamida chiqarishimiz mumkin, bu bajarilish vaqtini tezlashtiradi va kodni kamaytiradi.
Avval displeyda ko'rsatilgan belgilar sonini hisoblab chiqamiz. "Mirvohidov Mirtohir" = 19 ← 13h
Belgilar jadvalidan foydalanib, birinchi navbatda, 0x2000 manzilidan boshlab, belgilar kodlarini to'ldiring.
Kod boshlanishi:
Keling, birinchi belgining manzilini darhol aniqlaylik. Buning uchun biz LXI B buyrug'idan foydalanamiz - u "B, C" juftlashtirilgan registriga yozadi. Birinchi registrning manzili 0x2000. Keyin MVI D buyrug'i yordamida "D" registriga belgilar sonini yozamiz. Keling, "0Eh" ni yozamiz
Tsiklning boshlanishi.
MVI A buyrug'i yordamida belgining rang kodini akkumulyatorga o'rnatamiz.Mening holimda "25". Uni OUT N buyrug'i yordamida displeyga yuboramiz va port raqamini = 00 belgilaymiz. Endi biz akkumulyatorga belgilar kodini yozamiz - u "B, C" juftlashtirilgan registrida joylashgan, biz LDAX B buyrug'idan foydalanamiz. OUT N buyrug'i yordamida uni displeyga yuboring va port raqamini = 00 ko'rsating. INX B oshirish buyrug'i yordamida "B, C" juftlangan registridagi manzil qiymatini oshiramiz. Keyin DCR L buyrug'i yordamida L registridagi qolgan belgilar sonining qiymatini kamaytiramiz. Biz sikl uchun shartni JNZ buyrug'i yordamida o'rnatamiz - ya'ni L registridagi qolgan belgilar sonining qiymati nolga teng bo'lgunga qadar sikl belgilangan manzildan ishlaydi. JNZ 0500 (tsikl boshlash manzili 0x0005).
Z bayrog'i yonishi bilan sikl tugaydi va keyingi HLT buyrug'i ishga tushadi.
Dasturning oxiri.

  1. Блок схема


ИСТИНА

СТАРТ

D  13h

A  25h

MONITOR (00)  A

A  (BC)

MONITOR (00)  A

BC  [ABC0h]



(BC) + 1

(D) – 1

ОСТАНОВКА

D ≠ 0 – ?

ЛОЖЬ



  1. Programma kodi




АДРЕСА

МЕТКА

МНЕМОКОД

КОД

КОММЕНТАРИИ

0000




LXI B 2000h

01 00 20

M (BC) ← 2000h

0003




MVI D 13h

16 13

D ← 13 0900

0005

М1

MVI A 25h

3E 25

A ← 25h

0007




OUT 00

D3 00

PORT [00h] ← A

0009




LDAX B

0A

M (BC) ← 2000h

000A




OUT 00

D3 00

PORT [00h] ← A

000C




INX B

03

M (BC) ← BC+1

000D




DCR D

15

D ← D-1

000E




JNZ 0005h (М1)

C2 05 00

if (! Z ) PC ← 0005h

0011




HLT

76

Конец программы

Download 40.59 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling