Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Тестирование программного комплекса ⇐ ПредыдущаяСтр 7 из 7 Для тестирования программы был разработан специальный пример, в который внесены всевозможные структуры такие как AGO, IF, AIF, ссылающиеся на различные метки, вложенные макровызовы. Пример находится в директории с программой и носит имя ‘Тест.asm’. Его содержимое (для удобства были добавлены номера строк): 1. First Start 2. ExtName Buf Str1 3. ExtRef Str2 4. Proc LD R1 Str3 5. LD R2 Str2 6. M1 Par1=R5,Par2 7. M5 Par5=*fff 8. M4 Par5=*34 9. Add R1 R2 10. M1 Macro Par1,Par2=*faf 11. ADD Par1 R2 12. LD Buf Par2 13. M2 Macro Par1,Par3 14. LD Par2 Buf 15. M3 Macro Par3 16. LOADR1 Str1 17. ESLI P1=100 18. WHILE P1>3 19. ADD R7 R7 20. ESLI P1=-2 21. ENDW 22. Mend 23. LOADR1 R2 24. Mend 25. M2 26. M4 Macro Par5,Par2 27. ADD Str2 Str3 28. Mend 29. LD Buf R4 30. Mend 31. SAV *ff R6 32. M5 Macro Par5 33. LOADR1 Str3 34. Mend 35. LD R3 R4 36. M2 Par3=R4,Par1=Str3 37. M3 Par3=Buf 38. JMP Proc 39. Str1 WORD 3 40. Str3 Word 1 41. Buf Byte "Hello" 42. End Результат работы полного прохода Макропроцессора: Конечный текст:
ТМО: № МКОП Оп1 Оп2 1 Macro Par1,Par2=*faf 2 ADD Par1 R2 3 LD Buf Par2 4 Macro Par1,Par3 5 LD Par2 Buf 6 Macro Par3 7 LOADR1 Str1 8 ESLI P1=100 9 WHILE P1>3 10 ADD R7 R7 11 ESLI P1=-2 12 ENDW 13 Mend 14 LOADR1 R2 15 Mend 16 M2 17 Macro Par5,Par2 18 ADD Str2 Str3 19 Mend 20 LD Buf R4 21 Mend 22 Macro Par1,Par3 23 LD Par2 Buf 24 Macro Par3 25 LOADR1 Str1 26 Mend 27 LOADR1 R2 28 Mend 29 Macro Par3 30 LOADR1 Str1 31 Mend 32 Macro Par5,Par2 33 ADD Str2 Str3 34 Mend 35 Macro Par5 36 LOADR1 Str3 37 Mend
ТИМ: Макрос Начало Конец Вложен M1 1 21 M2 22 28 M1 M3 29 31 M2 M4 32 34 M1 M5 35 37
Параметры макроса: M1 Key M2 Key M4 Key M5 Key M2 Key M3 Key Par1 R5 Par1 0 Par5 *34 Par5 *fff Par1 Str3 Par3 Buf Par2 *faf Par3 0 Par2 0 Par3 R4
· В строке 5 удалим имя макроса - MV1. Таким образом, у нас отсутствует имя макроса. Запускаем Макропроцессор, результатом будет ошибка: Отсутствует имя макроса (5) · Изменим в строке 8 P1 на P13. Выдается ошибка: Внутренние переменные могут иметь имена, указанные в таблице Р1,Р2,Р3,Р13-непр. · Перенесем метку %tt раньше, чем AIF. Выдается ошибка: Директива ссылается на метку, к которой уже была ссылка в этом макросе. Произойдет зацикливание. · Добавим в строке вывзова MV1 MV1 zz=*5,uu параметр uu. Выдается ошибка: Параметры могут иметь только имена, указанные в таблице в определении макроса!
Заключение В ходе разработки данного курсового проекта, я получила практические и теоретические навыки по созданию приложений, реализующих логику работы однопроходного макропроцессора (без вложений макроопределений и с наличием вложенных макровызовов), с ограничением на опережающее описание макроопределения, не входящего в состав основного алгоритма Ассемблера. Уяснила, что макроязыки и соответствующие им макропроцессоры представляют собой самостоятельную форму языков программирования. Проанализировав использованный теоретический материал, выяснила, что крупные макрооперации упрощают пользование, отладку и модификацию программ, и облегчают стандартизацию. Многие разработчики вычислительных машин используют макрокоманды для автоматизации составления “подходящих” операционных систем в процессе, называемом генерацией системы. При использовании вместе с ассемблером, макропроцессор является для программиста полезным инструментом и по существу, позволяет ему самому определять свой язык "высокого" уровня. Проведя тесты программного комплекса, все ошибки были устранены, следовательно, можно говорить, что разработанные мной приложения работают правильно. Таким образом, поставленная передо мной задача была выполнена в полном объеме.Список литературы 1. Бек А. Введение в системное программирование. – М.: "Мир", 1988. 2. Донован Дж. Системное программирование. – М.: "Мир", 1975. 3.Фельдман С.К. Системное программирование на персональном компьюторе.- 2-е издание – М.:Бук-пресс, 2006 – 512с.
|