
- •Содержание
- •Введение
- •1. Цель работы.
- •2. Теоретические основы.
- •2.1. Команды целочисленной арифметики ia-32
- •4. Команда обмена данных
- •2.2. Пример линейной программы
- •X sword ?
- •2.3. Организация ввода-вывода
- •Vvod: Invoke StdOut,addr zapros
- •Invoke StdIn,addr buffer,LengthOf buffer
- •Invoke StripLf,addr buffer
- •3. Используемое оборудование.
- •5. Порядок выполнения работы.
- •Варианты
- •Литература
3. Используемое оборудование.
1. Персональный компьютер с минимальными системными требованиями:
- операционная система - Windows XP Professional SP3, Vista, Windows 7;
- процессор 3.00ГГц, и выше Pentium 4 и выше;
- RAM – 512 MБ и более;
- место на жестком диске – не менее 10 Мб;
- управление – мышь;
- видеокарта – IT Radion X1600 Pro и выше;
2. Интегрированная среда разработки программ на языке ассемблера, состоящая из следующих программных продуктов:
- специализированный пакет программирования на языке ассемблера IA-32 MASM32;
- среда разработки RADasm (версия 2.2.1.1 и выше)
- 32-разрядный отладчик кода OllyDbg (версия 1.10 и выше).
5. Порядок выполнения работы.
Разработать программу, вычисляющую заданное выражение. Просмотреть в отладчике и зафиксировать в отчете ход выполнения вычислений (покомандно). Убедиться в правильности программы.
Варианты
1. а = (b2-(c+1)*d)/b |
2. 2. c = a/c - k + (d+1)*5 |
3. b = a*j - j2/(k+2) |
4. а = a*(a+b/4)/(k-1) |
5. d = 3*a*x/[5*(b-5)] |
6. а = a*x-3*(b+3/k) |
7. а = a3/3 -c*(x+3) |
8. d= (k-5)2/4+2*k |
9. d = a*x/2 – (a+b)/2 |
10. a = (b2-2*b)/(3a+b) |
11. b = (a2-b2)/2+a*(k+1) |
12. e = (a-c)2+2*a*c/k |
15. s = q3- 2*a*q+a2/q |
16. n = q2/3 - a*d +5 |
17. m = a*c2- b * a/c+a/b |
18. x = a*y*(b-a)/4 + a2-2 |
19. n = a*x2- b*y/a+x/(y+a) |
20. k = (l-a)2/c+k-l+c/2 |
21. s = (a-b2)/(y-a)+a2 - c |
22. b = (m-5)*(m+2) + m+a/2 |
23. c = (a+b)/d - d2* a - b |
24. a = b*(c-d) - c/(d-1) |
25. q = a2/2 - b3/(4- a + b |
26. s = a*b/2 – k + a/2 -b |
Посмотреть в отладчике форматы 3-4 команд mov и расшифровать двоичные коды этих команд.
Литература
Ирвин К. Язык ассемблера для процессоров Intel. – М.: Изд. дом «Вильямс», 2005.
Зубков С.В. Assembler для DOS, Windows и Unix. – М.: ДМК Пресс, 2004.
Пирогов В.Ю. Ассемблер. Учебный курс. – СПб.: БХВ-Петербург, 2003.
Финогенов К.Г., Рудаков П.И. Язык Ассемблера: уроки программирования. – М.: Диалог-МИФИ, 2001.
Юров В.И. Справочник по языку Ассемблера IBM PC. – CПб.: Питер, 2004.