5374

Трансляция программы на языке программирования keil-C. Отладчик программ

Лабораторная работа

Информатика, кибернетика и программирование

Цель работы. Изучить интегрированную среду программирования keil-C. Получить навыки работы с текстовым редактором этой среды программирования. Получить навыки работы с программными проектами. Научиться транслировать программы...

Русский

2012-12-08

64 KB

8 чел.

Цель работы.

1.1. Изучить интегрированную среду программирования keil-C.

1.2. Получить навыки работы с текстовым редактором этой среды программирования.

1.3. Получить навыки работы с программными проектами.

1.4. Научиться транслировать программы.

1.5. Изучить работу отладчика программ в интегрированной среде программирования keilC.

Исходный текст программы.

main()

{

int A[10]={2,5,-8,7,-3,15,38,-11,66,-6};   //задание массива

int I,S,P;                                 //объявление переменных целого типа

S=0;                                       //начальное значение суммы

P=1;                                       //начальное значение произведения

for (I=1;I<10;I++)                //переменная цикла I изменяется от 1 до 10 с шагом 1

{

P=P*A[I];                                  // нахождение произведения всех элементов массива

if(A[I]<0)                                 //еысли элемент массива меньше 0

S=S+A[I];                                  //нахождение суммы отрицательных элементов массива

}

}

Эта программа находит сумму отрицательных элементов массива А[10]

После выполнения программы результат (сумма) будет находиться в ячейке памяти S.

Файл листинга (файл с расширением .lst).

C51 COMPILER V6.22  L1                                                                     10/06/2009 12:43:45 PAGE 1   

C51 COMPILER V6.22, COMPILATION OF MODULE L1

OBJECT MODULE PLACED IN .\l1.obj

COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\l1.c OPTIMIZE(1,SIZE) DEBUG OBJECTEXTEND PREPRINT OBJECT(.\l1.obj)

stmt level    source

  1          main()

  2          

  3          {

  4   1      

  5   1      int A[10]={2,5,-8,7,-3,15,38,-11,66,-6};   //задание массива

  6   1      

  7   1      int I,S,P;                                 //объявление переменных целого типа

  8   1      

  9   1      S=0;                                       //начальное значение суммы

 10   1      

 11   1      P=1;                                       //начальное значение произведения

 12   1      

 13   1      for (I=1;I<10;I++)                         //переменная цикла I изменяется от 1 до 10 с шагом 1

 14   1      

 15   1      {

 16   2      

 17   2      P=P*A[I];                                  // нахождение произведения всех элементов массива

 18   2      

 19   2      if(A[I]<0)                                 //еысли элемент массива меньше 0

 20   2      

 21   2      S=S+A[I];                                  //нахождение суммы отрицательных элементов массива

 22   2      

 23   2      }

 24   1      

 25   1      }

MODULE INFORMATION:   STATIC OVERLAYABLE

  CODE SIZE        =    147    ----

  CONSTANT SIZE    =     20    ----

  XDATA SIZE       =   ----    ----

  PDATA SIZE       =   ----    ----

  DATA SIZE        =     26    ----

  IDATA SIZE       =   ----    ----

  BIT SIZE         =   ----    ----

END OF MODULE INFORMATION.

C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

Распечатка загрузочного файла (с расширением .hex).

:10099B0000020005FFF80007FFFD000F0026FFF522

:0409AB000042FFFA0D

:100908007BFF7A09799BC003C002C0017B007A0093

:100918007908A801AC02AD03D001D002D0037E0053

:100928007F141208D0751E00751F007520007521F0

:1009380001751C00751D01C3E51D940AE51C648042

:100948009480504EAE20AF21AD1DED25E02408F86F

:10095800E6FC08E6FD1208F68E208F21AF1DEF2574

:10096800E02408F8E6FE08E6FFC3EE6480948050B1

:1009780017AF1DEF25E02408F8E6FE08E6FFEF258F

:100988001FF51FEE351EF51E051DE51D7002051C21

:0209980080A538

:01099A00223A

:030000000209AF43

:0C09AF00787FE4F6D8FD7581210209086C

:10080000E709F608DFFA8046E709F208DFFA803EDA

:1008100088828C83E709F0A3DFFA8032E309F608C7

:10082000DFFA8078E309F208DFFA807088828C832F

:10083000E309F0A3DFFA806489828A83E0A3F608E3

:10084000DFFA805889828A83E0A3F208DFFA804CBD

:1008500080D280FA80C680D4806980F28033801094

:1008600080A680EA809A80A880DA80E280CA8033FD

:1008700089828A83ECFAE493A3C8C582C8CCC58375

:10088000CCF0A3C8C582C8CCC583CCDFE9DEE78045

:100890000D89828A83E493A3F608DFF9ECFAA9F0C4

:1008A000EDFB2289828A83ECFAE0A3C8C582C8CC1A

:1008B000C583CCF0A3C8C582C8CCC583CCDFEADE33

:1008C000E880DB89828A83E493A3F208DFF980CC95

:1008D00088F0EF60010E4E60C388F0ED2402B4048E

:1008E0000050B9F582EB2402B4040050AF23234535

:0608F00082239008507302

:1008F600EF8DF0A4A8F0CF8CF0A428CE8DF0A42E16

:02090600FE22CF

:00000001FF

Таблица значений переменных программы на каждом шаге выполнения.

A[i]

S

0x00

0x0000

0x00

0x0000

0x00

0x0000

0x00

0x0000

0xFF

0x0000

0x00

0x0000

0x00

0x0000

0xFF

0x0000

0xFF

0x0000

0xFF

0x0000

0xFF

0xFFF8

0xFF

0xFFF8

0xFE

0xFFF8

0x00

0xFFF8

0xFF

0xFFF8

0x03

0xFFF8

0xFF

0xFFF8

0xFF

0xFFF5

0xFF

0xFFF5

0x31

0xFFF5

0x00

0xFFF5

0xFF

0xFFF5

0x4E

0xFFF5

0x00

0xFFF5

0xFF

0xFFF5

0xA2

0xFFF5

0xFF

0xFFF5

0xFF

0xFFEA

0xFF

0xFFEA

0xE9

0xFFEA

0x00

0xFFEA

0xFF

0xFFEA

0x89

0xFFEA

0xFF

0xFFEA

0xFF

0xFFE4

0x00

0xFFE4


 

А также другие работы, которые могут Вас заинтересовать

23703. Программирование на языке Паскаль 67 KB
  На каждый теоретический слайд не более трёх минут. На слайды с заданиями от пяти до семи минут. Рассказываю слайд и отмечаю что язык низшего уровня состоит из нулей и единиц. Обсуждаем слайд и немного конспектируем.
23704. Линейные программы и арифметические действия 56.5 KB
  Развитие мышления фантазии памяти внимания и познавательных интересов; Оборудование урока: Компьютерный класс Интерактивная доска Ход урока: 1. Повторение материала предыдущего урока. Организационный момент Приветствие учеников Объявление темы целей и плана урока.
23705. Решение задач на сложные линейные программы 75.5 KB
  program my; var xyy1: integer; begin x:=3; y:=absxsqrsqrx; x:=3; y1:=absxsqrsqrx; writeln y; writeln y1; end. program my; var abc: integer; begin reada; b:=2012; c:=ba; writeln 'ваш примерный возраст 'c; end. program...
23706. Основы языка SQL 75.97 KB
  Баумана Кафедра САПР Основы языка SQL Федорук В.ru 2636526 АННОТАЦИЯ Данное учебное пособие предназначено для изучения основ языка SQL стандартного языка манипулирования данными в СУБД реализующих реляционную модель данных. Описывается синтаксис наиболее употребимых операторов языка SQL приводятся примеры. Учебная база данных реализована в среде СУБД mySQL средства доступа к ней встроены в учебное пособие.
23707. История Советского государства 1900-1991 3.37 MB
  Изменения и кризис в партии [4. XVII съезд партии. XVIII съезд партии. Полная трансформация партии [9.
23708. Перевод условия задачи на математический язык 51 KB
  Составьте выражения для ответа на вопрос задачи: 1 Автомобиль проходит расстояние х км за 2 ч а автобус − за 3 ч. Свой результат группы вывешивают на доску: 1 x : 2 x : 3; 2 x : 2 x : 3; 3 x : 2 x : 3; 4 x : 2 x : 3; Что интересного вы замечаете Задачи все разные а выражения одинаковые. Какое задание стояло перед вами Надо было составить выражение по условию задачи.
23709. Работа с математическими моделями 61 KB
  Количество в м Стоимость в руб. Шерсть d 3 420 000 Шёлк с Сначала надо найти стоимость шерсти: 3d затем стоимость шёлка: 420 000 3d что бы найти цену шёлка6 надо его стоимость разделить на количество купленного шёлка: 420000 3d : c Если d = 80 000 c = 2 420000 380 000 : 2 = 90 000 Ответ: цена шёлка 90 000 руб. Количество Стоимость в руб. Хлеб а 3 батона Яблоки b 2 кг Что бы найти стоимость всей покупки надо знать стоимость хлеба и стоимость яблок.
23710. Работа с математическими моделями 57.5 KB
  При решении последнего примера учащиеся вспоминают свойство 1 при умножении: а 1 = 1 а = а − Расположите полученные результаты в порядке возрастания. Какие свойства умножения вы использовали Распределительное свойство умножения относительно сложения и вычитания: аb c = аb ac аb c = аb ac свойство 1 при умножении: а  1 = а. Какое свойство умножения вы использовали Свойство 1 при умножении. Како теперь свойство можно применить Распределительное свойство умножения относительно сложения.
23711. Математические выражения и математические модели 76.5 KB
  а Графическая модель: Не известно количество девочек x одна часть и мальчиков но сказано что мальчиков в 3 раза больше x3 или 3x вторая часть всего целое 48 человек. x 3x = 48 x x3 = 48 Используем свойство 1 при умножении: a1 = 1a: 1x 3x = 48 x1 x3 = 48 Используем распределительное свойство умножения: ab c = ab ac: x1 3 = 48 Найдём сумму стоящую в скобках: 4x = 48 x4 = 48 Что бы найти неизвестный множитель надо произведение разделить на известный множитель: x = 48 : 4 x = 12 x ...