
Листинг подпрограммы умножения
MPASM 5.20LR2_2.ASM 9-17-2013 12:46:14 PAGE 1
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
Warning[205]: Found directive in column 1. (LIST)
00001 LIST p=16F877, st = OFF
00002 #include "P16F877.INC"
00001 LIST
00002 ; P16F877.INC Standard Header File, Version 1.00 Microchip Technology, Inc.
00373 LIST
00003 UDATA ; Структура данных
0000 00004 MulcndRES 1 ; множимое
0001 00005 MulplrRES 1 ; множитель
0002 00006 H_byteRES 1 ; старший байт произведения
0003 00007 L_byteRES 1 ; младший байт произведения
0004 00008 Count RES 1 ; счетчикциклов
00009
0000 00010 GLOBAL Mulcnd, Mulplr, H_byte, L_byte
00011
00012 PROG1 CODE ; сегменткода PROG1 (0x0000 - 0x07FF)
0000 00013 GLOBAL Mpy
0000 01?? 00014 MpyclrfH_byte
0001 01?? 00015 clrfL_byte
0002 3008 00016 movlw 8
0003 00?? 00017 movwf Count
0004 08?? 00018 movfMulcnd, W
0005 1003 00019 bcf STATUS,C ; Очисткафлага C.
0006 0C?? 00020 Loop rrfMulplr,f
0007 1803 00021 btfsc STATUS,C
0008 07?? 00022 addwfH_byte,f
0009 0C?? 00023 rrfH_byte,f
000A 0C?? 00024 rrfL_byte,f
000B 0B?? 00025 decfszCount,f
000C 2??? 00026 goto Loop
000D 3400 00027 retlw 0
00028 END
Errors : 0
Warnings : 1 reported, 0 suppressed
Messages : 0 reported, 0 suppressed
План отладки программы
При проверке использовался метод чёрного ящика. Проверялась правильность выполнения выражения 81*62-43*87. Сначала проверялось первое произведение, затем второе, после чего была выполнена проверка суммы двух произведений. В ходе проверки было установлено, что программа выполняется верно.
Вывод: В ходе выполнения лабораторной работы было выяснено, что программа работает корректно.