Определение возраста человека на PICassembler

  • Вид работы:
    Практическое задание
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    24,50 kb
  • Опубликовано:
    2011-05-14
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Определение возраста человека на PICassembler

Министерство образования и науки Украины

Житомирский государственный технологический университет





ЛАБОРАТОРНАЯ РАБОТА

Определение возраста человека на PICassembler



Кафедра ПОВТ

Группа ПИ-40

ФИКТ

Выполнил

Проверил









Житомир

Содержание

1. Задание

. Разработка программы

.1 Выбор методов решения данной задачи

.2 Разработка алгоритма

. Распределение регистров

. Тестирование программы

. Листинг программы

Вывод

1. Задание


На языке PICAssembler написать программу, которая подсчитывает количество прожитых дней.

2. Разработка программы


2.1 Выбор методов решение данной задачи


В данной задаче используются 2 даты, по этому для их записи будем использовать правила записи дат: дд.мм.гггг. В данной программе исходными данными являются даты D1 и D2, которые задаются в двоично-десятичном коде. По этому для их записи выделяем 1 байт для дней, 1 байт для месяцев и 2 байта для года. Для поиска количества прожитых дней сначала обе даты переведем в количество дней, потом найдем разницу между этими количествами - это и будет количество прожитых дней. Для подсчета данной функции разработаем процедуры сложения, вычитания, умножение, деления, умножения и деления на 4.

Проект программы включает файлы: Проект:

·  Init.inc - в данном файле оглашаются все регистры и биты, которые используются в программе;

·  Clrreg.inc - в данном файле описывается процедура очистки памяти;

·        Baseprog.inc - в данном файле описаны основные процедуры, которые используются в программе;

·        DateWork.inc - в данном файле описаны процедуры, которые используются для переведения дат в количество дней;

·        Addition.inc - в данном файле описаны процедуры сложения;

·  Deduct.inc - в данном файле описаны процедуры вычитания;

·  Increase.inc - в данном файле описана процедура умножения;

·  HMDL.asm-это главный файл, который объединяет все функции в одно целое;

·        Input.sti - отладочный файл для введения данных.

Данную программу будем разрабатывать для микроконтроллера 16F84.

2.2 Разработка алгоритма


3. Распределение регистров


Распределение регистров указано на рис. 1

Рис. 1

·  10h-13h-в начале программы заносится I дата (в прямом коде);

·        20h-23h-на - в начале программы заносится II дата (в прямом коде);

·        14h-16h-используется для сохранения промежуточных данных при переводе I даты в количество дней и сохранения количества дней в I дате; 24h-26h - используется для сохранения промежуточных данных при переводе I даты в количество дней и сохранения количества дней в II дате;

·        3Ch-47h - используется для сохранения количества дней в разных месяцах, что необходимо для корректного перевода дат в количество дней;

·        0Сh-0Fh-вспомогательные регистры;

·        18h-1Ah, - 28h-2Ah, 38h-3Ah, 48h-4Ah, - используются для умножения количества годов в каждой дате на 365;

·        35h-36h-находится промежуточный результат;

·        34h-36h, 44h-46h, а также 3Сh-3Fh, 4Fh - регистры, которые используются для переведения результата с прямого кода в двоично-десятичную систему;

·        3Dh-3Fh - результат работы программы (количество прожитых дней) в двоично-десятичном коде;

 

4. Тестирование программы

программа алгоритм регистр файл листинг

Для проверки работы программы было введено несколько контрольных примеров. Результаты программы сопоставлялись с реальными.

Пример 1:

Введено следующие значения:=25.11.2009(10)=19.0B.07D9(h)

D2=21.03.1990(10)=15.03.07C6(h)

Результат работы программы: 1С15(h)=7189(10). Реальный результат - 7189.

Пример 2:

Введено следующие данные:

D1=30.10.2009(10)=1E.0A.07D9(h)

D2=30.12.1987(10)=1E.0C.07C3(h)

Результат работы программы: 1F27(h)=7975(10). Реальный результат - 7975.

Пример 3:

Введено следующие данные:=30.10.2009(10)=1E.0A.07D9(h)

D2=26.02.1991(10)=1A.02.07C7(h)

Результат работы программы: 1AA5(h)=6821(10). Реальный результат - 6821.

 

5. Листинг программы

 

Файл Init.inc

;Инициализация регистров-EQU-0X10-EQU-0X20EQU-0X0CEQU-0X0DEQU-0X0E

IC-EQU-0X0FEQU-0X3CEQU-0X4F

Файл Clrreg.inc

;ОЧИЩЕНИЕ ПАМЯТИMOVLW - 0X40 -

- MOVWF - IC -

MOVLW - 0X10

MOVWF - FSRCLRF-INDF

INCF-FSR,F

DECFSZ - IC,F

GOTO - CR

RETURN

Файл Baseprog.inc

;СЧИТЫВАЕНИ ВХОДНЫХ ДАННЫХ

DATEIN - MOVLW - D1

MOVWF - FSR

CALL-DATAIN

MOVLW - D1 -

MOVWF - FSR

CALL-TDATE

MOVLW - D2-

MOVWF - FSR-

CALL-DATAIN -

MOVLW - D2 -

MOVWF - FSR

CALL-TDATE-

- RETURN

;СЧИТЫВАНИЕ ДАТ С ФАЙЛА

DATAIN - MOVLW - 0X04 -

- MOVWF - IC - MOVF-PORTB,W -

MOVWF - INDF -

INCF-FSR,F -

DECFSZ - IC,F -

GOTO - NL

RETURN

;КОНВЕРТАЦИЯ ДАТ С ДОВИЧНО-ДЕСЯТИЧНОГО В ПРЯМОЙ КОД

TDATE - MOVLW - 0X10

SUBWF-INDF,W

BTFSS-STATUS,C -

GOTO-TMONS

MOVLW - 0X20

SUBWF-INDF,W

BTFSC-STATUS,C

GOTO-GO30-;СМ. ЛИСТ. 8

MOVLW - 0X06

SUBWF-INDF,F

GOTO-TMONS-;СМ. ЛИСТ. 8

- MOVLW - 0X30

SUBWF-INDF,W

BTFSC-STATUS,C

GOTO-GO31

MOVLW - 0X0C

SUBWF-INDF,F

GOTO-TMONS- MOVLW - 0X12

SUBWF-INDF,F- INCF-FSR,F

BTFSS-INDF,4

GOTO-TYEARS

BCF-INDF,4

MOVLW - 0X0A

ADDWF - INDF,F- INCF-FSR,F

MOVF-INDF,W -

MOVWF - RP -

MOVLW - 0X17 -

ADDWF - FSR,F -

MOVF-RP,W -

MOVWF - INDF -

MOVLW - 0X04 -

MOVWF - IC - - BCF-STATUS,C -

RRF-INDF,F-

DECFSZ - IC,F-

GOTO-YMR11-

MOVLW - 0X11 -

SUBWF-FSR,F -

MOVLW - 0X03 -

MOVWF - INDF -

INCF-FSR,F -

MOVLW - 0XE8 -

MOVWF - INDF -

MOVLW - 0X0A

MOVWF - ICV

CALL-MNOZH -

MOVLW - 0X64

MOVWF - INDF

MOVLW - 0X10

ADDWF - FSR,F

CLRF-INDF

DECF-FSR,F

CLRF-INDF

MOVLW - 0X16

SUBWF-FSR,F

MOVF-INDF,W -

MOVWF - RP -

MOVLW - 0X17 -

ADDWF - FSR,F -

MOVF-RP,W -

MOVWF - INDF -

MOVLW - 0X04 -

MOVWF - IC - - BCF-STATUS,C

RLF-INDF,F -

DECFSZ - IC,F -

GOTO-YML1 -

MOVWF - IC - - BCF-STATUS,C

RRF-INDF,F -

DECFSZ - IC,F -

GOTO-YMR12 -

MOVLW - 0X07

MOVWF - ICV

MOVLW - 0X10

SUBWF-FSR,F

CALL-MNOZH

MOVLW - 0X0A

MOVWF - INDF

MOVLW - 0X10

ADDWF - FSR,F

CLRF-INDF

DECF-FSR,F

CLRF-INDF

MOVLW - 0X15

SUBWF-FSR,F

MOVF-INDF,W

MOVWF - RP

MOVLW - 0X16

ADDWF - FSR,F

MOVF-RP,W

MOVWF - INDF

MOVLW - 0X04

MOVWF - IC- BCF-STATUS,C

RRF-INDF,F

DECFSZ - IC,F

GOTO-YMR21

MOVLW - 0X10

SUBWF-FSR,F

MOVLW - 0X04

MOVWF - ICV

CALL-MNOZH

MOVLW - 0X10

ADDWF - FSR,F

CLRF-INDF

DECF-FSR,F

CLRF-INDF

MOVLW - 0X15

SUBWF-FSR,F

MOVF-INDF,W

MOVWF - RP

MOVLW - 0X16

ADDWF - FSR,F

MOVF-RP,W

MOVWF - INDF

MOVLW - 0X04

MOVWF - IC- BCF-STATUS,C

RLF-INDF,F

DECFSZ - IC,F

GOTO-YML2

MOVWF - IC- BCF-STATUS,C

RRF-INDF,F

DECFSZ - IC,F

GOTO-YMR22

MOVLW - 0X02

MOVWF - IC

CALL-PLUS2

MOVLW - 0X12

ADDWF - FSR,F

MOVF-INDF,W

MOVWF - RP

CLRF-INDF

MOVLW - 0X26

SUBWF-FSR,F

MOVF-RP,W

MOVWF - INDF

MOVLW - 0X25

ADDWF - FSR,F

MOVF-INDF,W

MOVWF - RP

CLRF-INDF

MOVLW - 0X26

SUBWF-FSR,F

MOVF-RP,W

MOVWF - INDF

MOVLW - 0X17

ADDWF - FSR,F

- CLRF-INDF

RETURN

;ПЕРЕВОД ДАТ В КОЛИЧЕСТВО ДНЕЙ

CNTDAYS - CALL-REGMONS

MOVLW - D1+0X03

MOVWF - FSR

CALL-CDAYS

MOVLW - D2+0X03

- MOVWF - FSR

CALL-CDAYS

RETURN

;ПОДСЧЕТ КОЛИЧЕСТВА ПРОЖИТЫХ ДНЕЙ

LIVEDAY - MOVLW - 0X03

MOVWF - IC

MOVLW - D1+0X06

- MOVWF - FSR

CALL-MINUS3

;КОНВЕРТАЦИЯ РЕЗУЛЬТАТА ИЗ ШЕСТНАДЦАТИРИЧНОГО В ДВОИЧНО-ДЕСЯТИЧНЫЙ КОД

- MOVLW - RM

MOVWF - FSR

MOVLW - 0X14

MOVWF - IC- CLRF-INDF

INCF-FSR,F

DECFSZ - IC,F

GOTO-CLRMNS

MOVLW - 0X0A

SUBWF-FSR,F

MOVLW - 0X10

MOVWF - INDF

DECF-FSR,F

MOVLW - 0X27

MOVWF - INDF

MOVLW - 0X10

SUBWF-FSR,F -

STEP4 - MOVLW - 0X03-;ДЕЛИМ НА 10000

- MOVWF - IC

INCF-FSR,F

CALL-MINUS1

INCF-FSR,F

MOVF-INDF,F

BTFSS-STATUS,Z

GOTO-GOSTEP3

INCF-RPM,F

INCF-FSR,F

GOTO-STEP4- MOVLW - 0X03

MOVWF - IC

MOVLW - 0X02

ADDWF - FSR,F

CALL-PLUS1

MOVLW - 0X0C

ADDWF - FSR,F

CALL-ADDDCML

MOVLW - 0X0A

ADDWF - FSR,F

MOVLW - 0XE8

MOVWF - INDF

DECF-FSR,F

MOVLW - 0X03

MOVWF - INDF

MOVLW - 0X10

SUBWF-FSR,F- MOVLW - 0X03-;ДЕЛИМ НА 1000

MOVWF - IC

INCF-FSR,F

CALL-MINUS1

INCF-FSR,F

MOVF-INDF,F

BTFSS-STATUS,Z

GOTO-GOSTEP2

INCF-RPM,F

INCF-FSR,F

GOTO-STEP3- MOVLW - 0X03

MOVWF - IC

MOVLW - 0X02

ADDWF - FSR,F

CALL-PLUS1

MOVLW - 0X0C

ADDWF - FSR,F

CALL-ADDDCML

MOVLW - 0X0A

ADDWF - FSR,F

MOVLW - 0X64

MOVWF - INDF

DECF-FSR,F

CLRF-INDF

MOVLW - 0X10

SUBWF-FSR,F

STEP2 - MOVLW - 0X03-;ДЕЛИМ НА 100

- MOVWF - IC

INCF-FSR,F

CALL-MINUS1

INCF-FSR,F

MOVF-INDF,F

BTFSS-STATUS,Z

GOTO-GOSTEP1

INCF-RPM,F

INCF-FSR,F

GOTO-STEP2- MOVLW - 0X03

MOVWF - IC

MOVLW - 0X02

ADDWF - FSR,F

CALL-PLUS1

MOVLW - 0X0C

ADDWF - FSR,F

CALL-ADDDCML

MOVLW - 0X0A

ADDWF - FSR,F

MOVLW - 0X0A

MOVWF - INDF

MOVLW - 0X11

SUBWF-FSR,F- MOVLW - 0X03-;ДЕЛИМ НА 10

- MOVWF - IC

INCF-FSR,F

INCF-FSR,F

MOVF-INDF,F

BTFSS-STATUS,Z

GOTO-GOSTEP0

INCF-RPM,F

INCF-FSR,F

GOTO-STEP1- MOVLW - 0X03-;ПРИБАВЛЯЕМ ОСТАТОК

MOVWF - IC

MOVLW - 0X02

ADDWF - FSR,F

CALL-PLUS1

MOVLW - 0X0C

ADDWF - FSR,F

CALL-ADDDCML

MOVLW - 0X06

SUBWF-FSR,F

MOVF-INDF,W

MOVWF - RPM

MOVLW - 0X09

ADDWF - FSR,F

CALL-ADDDCML

RETURN

;ВСПОМОГАТЕЛЬНАЯ ПРОЦЕДУРА КОНВЕРТАЦИИ- MOVLW - 0X04

- MOVWF - ICV- MOVLW - 0X03

MOVWF - IC- RLF-INDF,F

DECF-FSR,F

DECFSZ - IC,F

GOTO-BITEMOV

ADDWF - FSR,F

DECFSZ - ICV,F

GOTO-BITMOV

MOVWF - IC

CALL-PLUS1

CLRF-RPM

RETURN

Файл DateWork.inc

;ОСНОВНАЯ ПРОЦЕДУРА ПЕРЕВЕДЕНИЯ ДАТ В КОЛИЧЕСТВО ДНЕЙ

CDAYS - MOVF-INDF,W

MOVWF - RP

MOVLW - 0X03

ADDWF - FSR,F

MOVF-RP,W

MOVWF - INDF

MOVLW - 0X04

SUBWF-FSR,F

MOVF-INDF,W -

MOVWF - RP

MOVLW - 0X03

ADDWF - FSR,F

MOVF-RP,W

MOVWF - INDF

MOVF-FSR,W

MOVWF - RP

CALL-VYSGOD

MOVLW - 0X06

SUBWF-FSR,F

MOVF-FSR,W

MOVWF - RPM

MOVF-NDF,W

MOVWF - ICV

DECF-ICV,W

MOVWF - RM- MOVLW - RM

ADDWF - RM,W

MOVWF - FSR

MOVF-INDF,W -

MOVWF - RP

MOVLW - 0X15

ADDWF - RPM,W

MOVWF - FSR

MOVF-RP,W

MOVWF - INDF

MOVLW - 0X03

MOVWF - IC

MOVLW - 0X10

SUBWF-FSR,F

CALL-PLUS1

DECF-RM,F

DECFSZ - ICV,F -

GOTO-DTOMONS -

MOVLW - 0X03

SUBWF-FSR,F

MOVF-INDF,W

MOVWF - RP

MOVLW - 0X16

ADDWF - FSR,F

MOVF-RP,W

MOVWF - INDF

MOVLW - 0X03

MOVWF - IC

MOVLW - 0X10

SUBWF-FSR,F

CALL-PLUS1

MOVLW - 0X02

MOVWF - ICV- MOVF-INDF,W -

MOVWF - RP

MOVLW - 0X17

ADDWF - FSR,F

MOVF-RP,W

MOVWF - INDF

MOVLW - 0X18

SUBWF-FSR,F

DECFSZ - ICV,F

GOTO-DMOV

MOVLW - 0X09

ADDWF - FSR,F

MOVLW - 0X6D

MOVWF - INDF

DECF-FSR,F

MOVLW - 0X01

MOVWF - INDF -

MOVLW - 0X09

MOVWF - ICV

INCF-FSR,F

CALL-MNOZH

MOVLW - 0X03

MOVWF - IC

MOVLW - 0X10

ADDWF - FSR,F- CLRF-INDF

MOVLW - 0X10

ADDWF - FSR,F

MOVF-INDF,W -

MOVWF - RP

CLRF-INDF

MOVLW - 0X14

SUBWF-FSR,F

MOVF-RP,W

MOVWF - INDF

MOVLW - 0X03

ADDWF - FSR,F

DECFSZ - IC,F

GOTO-MNTODOD -

MOVLW - 0X03

MOVWF - IC

MOVLW - 0X11

SUBWF-FSR,F

CALL-PLUS1

MOVLW - 0X03

MOVWF - IC

MOVLW - 0X13

ADDWF - FSR,F- CLRF-INDF

DECF-FSR,F

- DECFSZ - IC

GOTO-CLRDOD

RETURN

;ПОДСЧЕТ КОЛИЧЕСТВА ВЫСОКОСНЫХ ГОДОВ

VYSGOD - MOVLW - 0X02

MOVWF - ICV- MOVLW - 0X02

MOVWF - IC

MOVF-RP,W

MOVWF - FSRRRF-INDF,F

INCF-FSR,F

DECFSZ - IC,F

GOTO-VG

BCF-STATUS,C

DECFSZ - ICV,F

GOTO-KOLSDV

RETURN

;ЗАПОЛНЕНИЕ РЕГИСТРОВ ДНЕЙ В МЕСЯЦЫ

REGMONS - MOVLW - 0X1F

- MOVWF - RM+0X01

MOVLW - 0X1C

MOVWF - RM+0X02

MOVLW - 0X1F

MOVWF - RM+0X03 -

MOVLW - 0X1E

MOVWF - RM+0X04

MOVLW - 0X1F

MOVWF - RM+0X05

MOVLW - 0X1E

MOVWF - RM+0X06

MOVLW - 0X1F

MOVWF - RM+0X07

MOVLW - 0X1F

MOVWF - RM+0X08

MOVLW - 0X1E

MOVWF - RM+0X09

MOVLW - 0X1F

MOVWF - RM+0X0A

MOVLW - 0X1E

MOVWF - RM+0X0B

RETURN

Файл Addition.inc

;ПРОЦЕДУРЫ СЛОЖЕНИЯ- CLRF-RS- MOVF-INDF,W

ADDWF - RS,W

MOVWF - RP

CLRF-RS

MOVLW - 0X01

BTFSC-STATUS,C

MOVWF - RS

MOVLW - 0X10

ADDWF - FSR,F

MOVF-INDF,W

ADDWF - RP,F

MOVLW - 0X01

BTFSC-STATUS,C

MOVWF - RS

MOVLW - 0X10

SUBWF-FSR,F

MOVF-RP,W

MOVWF - INDF

DECF-FSR,F

DECFSZ - IC,F

GOTO-ADN1

RETURN

- CLRF - RS- MOVF-INDF,W

ADDWF - RS,W

MOVWF - RP

CLRF-RS

MOVLW - 0X01

BTFSC-STATUS,C

MOVWF - RS

MOVLW - 0X10

ADDWF - FSR,F

MOVF-INDF,W

ADDWF - RP,F

MOVLW - 0X01

BTFSC-STATUS,C

MOVWF - RS

MOVF-RP,W

MOVWF - INDF

MOVLW - 0X11

SUBWF-FSR,F

DECFSZ - IC,F

GOTO-ADN2

RETURN

- CLRF-RS- MOVF-INDF,W

ADDWF - RS,W

MOVWF - RP

CLRF-RS

MOVLW - 0X01

BTFSC-STATUS,C

MOVWF - RS

MOVLW - 0X10

ADDWF - FSR,F

MOVF-INDF,W

ADDWF - RP,F

MOVLW - 0X01

BTFSC-STATUS,C

MOVWF - RS

MOVLW - 0X10

ADDWF - FSR,F

MOVF-RP,W

MOVWF - INDF

MOVLW - 0X21

SUBWF-FSR,F

DECFSZ - IC,F

GOTO-ADN3-

RETURN

Файл Deduct.inc

;ПРОЦЕДУРЫ ВЫЧИТАНИЯ- CLRF-RS- MOVF-INDF,W -

MOVWF - RP

MOVF-RS,W

SUBWF-RP,F

CLRF-RS

MOVLW - 0X01

BTFSS-STATUS,C

MOVWF - RS

MOVLW - 0X10

ADDWF - FSR,F

MOVF-INDF,W

SUBWF-RP,W

MOVWF - RP

MOVLW - 0X01

BTFSS-STATUS,C

MOVWF - RS

MOVLW - 0X10

SUBWF-FSR,F

MOVF-RP,W

MOVWF - INDF

DECF-FSR,F

DECFSZ - IC,F

GOTO-VIDN1

RETURN

- CLRF-RS- MOVF-INDF,W

MOVWF - RP

MOVF-RS,W

SUBWF-RP,F

CLRF-RS

MOVLW - 0X01

BTFSS-STATUS,C

MOVWF - RS

MOVLW - 0X10

ADDWF - FSR,F

MOVF-INDF,W

SUBWF-RP,W

MOVWF - RP

MOVLW - 0X01

BTFSS-STATUS,C

MOVWF - RS

MOVF-RP,W

MOVWF - INDF

MOVLW - 0X11

SUBWF-FSR,F

DECFSZ - IC,F

GOTO-VIDN2

RETURN

MINUS3 - CLRF-RS- MOVF-INDF,W

MOVWF - RP

MOVF-RS,W

SUBWF-RP,F

CLRF-RS

MOVLW - 0X01

BTFSS-STATUS,C

MOVWF - RS

MOVLW - 0X10

ADDWF - FSR,F

MOVF-INDF,W

SUBWF-RP,W

MOVWF - RP

MOVLW - 0X01

BTFSS-STATUS,C

MOVWF - RS

MOVLW - 0X10

ADDWF - FSR,F

MOVF-RP,W

MOVWF - INDF

MOVLW - 0X21

SUBWF-FSR,F

DECFSZ - IC,F

GOTO-VIDN3

RETURN

Файл Increase.inc

- INCLUDE<ADDITION.INC>

;ПРОЦЕДУРЫ УМНОЖЕНИЯ- MOVLW - 0X09

MOVWF - ICV

MOVF-FSR,W

MOVWF - RMBTFSC-INDF,0

GOTO-MNDOD- MOVLW - 0X03

MOVWF - IC

MOVF-RM,W

MOVWF - FSR

MOVLW - 0X10

ADDWF - FSR,F

BCF-STATUS,C- RLF-INDF,F

DECF-FSR,F

DECFSZ - IC,F

GOTO-SDVL

MOVLW - 0X03

MOVWF - IC

MOVLW - 0X0F

SUBWF-FSR,F

BCF-STATUS,C- RRF-INDF,F

INCF-FSR,F

DECFSZ - IC,F

GOTO-SDVR

MOVF-RM,W

MOVWF - FSR

DECFSZ - ICV,F -

GOTO-MN

GOTO-ENDMN- MOVLW - 0X03

MOVLW - 0X10

ADDWF - FSR,F

CALL-PLUS2

GOTO-GOMN - - RETURN

Файл HMDL.asm

- INCLUDE<P16F84.INC>

- INCLUDE<INIT.INC>; ИНИУИАЛИЗАЦИЯ РЕГИСТРОВ, КОТОРЫЕ СПОЛЬЗУЮТСЯ

CALL - CLREG-;ОЧИЩЕНИЯ РЕГИСТРОВ

CALL - DATEIN - ;ЗАГРУЗКА ДАТ

CALL - CNTDAYS - ;ПЕРЕВЕДЕНИЯ ДАТ В КОЛИЧЕСТВО ДНЕЙ

CALL - LIVEDAY - ;НАХОДИМ КОЛИЧЕСТВО ПРОЖИТЫХ ДНЕЙ

GOTO - ENDPROG - ;ПЕРЕХОД В КОНЕЦ ПРОГРАММЫ

;-------СТРУКТУРНЫЕ ЭЛЕМЕНТЫ------------

INCLUDE<CLRREG.INC> - ;ОЧИСТКА РЕГИСТРОВ

INCLUDE<BASEPROG.INC> - ;ПРОЦЕДУРЫ, КОТОРЫЕ РЕАЛИЗУЮТ ОСНОВНОЙ АЛГОРИТМ

INCLUDE<DATEWORK.INC> - ;ПРОЦЕДУРЫ ПЕРЕВЕДЕНИЯ ДАТ В КОЛИЧЕСТВО ДНЕЙ

- INCLUDE<DEDUCT.INC> - ;ВЫЧИТАНИЕ

INCLUDE<INCREASE.INC> - ;УМНОЖЕНИЯ

;-------СТРУКТУРНЫЕ ЭЛЕМЕНТЫ------------

- GOTO - $

END

Вывод


В данной лабораторной работе были приобретены навыки программирования на языке PICAssembler и определенные знания в области использования IDE MPLAB. Результатом данной работы является программы, которая подсчитывает количество прожитых дней.

Похожие работы на - Определение возраста человека на PICassembler

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!