1 гٳϳñ·³ÛÇÝ Íñ³·ñ³íáñáõÙ ¹áó. èáµ»ñï ¶ñÇ·áñÇ Ð³ÏáµÛ³Ý Ù³ëÝ I.

Презентация:



Advertisements
Похожие презентации
²¹³åï³ódz ¨ ëÃñ»ë. ²¹³åï³ódz ²¹³åï³óÇáÝ ·áñÍÁÝóóÁ ³ñï³ùÇÝ Ï³Ù Ý»ñ-ùÇÝ ÙÇç³í³Ûñ»ñÇ ³½¹»óáõÃÛ³Ý Ñ³Ý¹»å ûñ·³-ÝǽÙÇ ÁݹѳÝáõñ å³ï³ë˳ÝÝ ¿, áñÁ µÝáõ-ó·ñíáõÙ.
Advertisements

Photoshop-Á å³ïÏ»ñÝ»ñÇ Ñ»ï ³ß˳ï³ÝùÇ áÉáñïÇ ³é³ç³ï³ñÝ ¿: ²ÛÝ Í³Ûñ³Ñ»Õ ѽáñ և ճ ÏáõÝ ÙÇçáó ¿, áñÇ û·ÝáõÃÛ³Ùµ Ù»ñ å³ïÏ»ñÝ»ñÁ ϳñáÕ »Ý å³ïñ³ëïí»É Web-Ç Ñ³Ù³ñ:
ºä´Ð ²Ëï³ýǽÇáÉá·Ç³ÛÇ ³ÙµÇáÝ ¨ Ã. ²ñÛ³Ý Ñ³Ù³Ï³ñ·Ç ³Ëï³ýǽÇáÉá·Ç³.
Intel архитектура IA16 Основа большинства современных компьютеров.
a à â o ô e é è ê i î y c ç ce ci cy ch ca co cu cr cl ge gi gy ga go gu gr gn gl h th ch ph kh mm nn tt ss pp s si sa so sy su ise ose use aso on om.
Хмеленок Николай Павлович, г. Городня Черниговской области.
Архитектура ЭВМ и микроархитектура процессора Под архитектурой ЭВМ понимают абстрактное представление вычислительной системы на структурном, схемотехническом.
10 ROSES FOR YOU 2009 … 10 bông H oà ng cho b n Десять Роз, посвящённых тебе
Программирование на Ассемблер к.т.н., доц. Красов А.В. Лекция 1 ФакультетМТС Курс3 Семестр6 Форма контролязачет Лекции14 часов Лабораторные работы12 часов.
Язык ASSEMBLER Команды пересылки данных Лекция доцента кафедры ИВТ ГрГУ кандидата технических наук Ливак Е.Н.
Арифметическиеи логические команды языка Ассемблер. Битовые команды.
Определение констант для размещения их компилятором в составе инструкций языка Определение числовых констант: имя = значение PI= V_size = 5 M_size.
Урок 32 Я многое умею!. [t][t] [d][d][s][s] [p][p] [Ө]
A B C D E F G H I J K L M O P R STST U V W Z Y Ä Ö Ü ß.
Архитектура ЭВМ Практика 2. Основы ассемблера..
Организация циклов в Ассемблере. Цикл – это многократно повторяющаяся последовательность операторов.
N – входной блок (64 бита) X – раундовый ключ (32 бита) H – таблица замен.
Урок 34 Интервью со звездой. Цвета.. [t][t] [r][r] [Ө]
Урок Я умею играть на разных инструментах!.
Урок Я умею играть на разных инструментах!.
Транксрипт:

1 гٳϳñ·³ÛÇÝ Íñ³·ñ³íáñáõÙ ¹áó. èáµ»ñï ¶ñÇ·áñÇ Ð³ÏáµÛ³Ý Ù³ëÝ I

2 гٳϳñ·³ÛÇÝ Íñ³·ñ³íáñáõÙ ¶ñ³Ï³ÝáõÃÛáõÝ Peter Abel. IBM PC Assembly Language and Programming. Fifth edition, Upper Saddle River, New Jersey, Prentice-Hall, 2001, 545 pp. Peter Abel. IBM PC Assembly Language and Programming. Fifth edition, Upper Saddle River, New Jersey, Prentice-Hall, 2001, 545 pp. Kip R. Irvine. Assembly Language for Intel- Based Computers. Third edition, Florida International University, 1999, 676 pp. Kip R. Irvine. Assembly Language for Intel- Based Computers. Third edition, Florida International University, 1999, 676 pp.

3 гٳϳñ·³ÛÇÝ Íñ³·ñ³íáñáõÙ ¶ñ³Ï³ÝáõÃÛáõÝ Â. Þðîâ. Assembler. У÷åáíèê для ВУЗ-ов. Èçä. 2-îå, Ïèòåð, Ñ.-Ïåòåðáóðã, 2006, 637 ñòð. Â. Þðîâ. Assembler. У÷åáíèê для ВУЗ-ов. Èçä. 2-îå, Ïèòåð, Ñ.-Ïåòåðáóðã, 2006, 637 ñòð. Â. Þðîâ. Assembler (ïðàêòèêóì). Èçä. 2-îå, Ïèòåð, Ñ.-Ïåòåðáóðã, 2002, 395 ñòð. Â. Þðîâ. Assembler (ïðàêòèêóì). Èçä. 2-îå, Ïèòåð, Ñ.-Ïåòåðáóðã, 2002, 395 ñòð. Ñ. Çóáêîâ. Assembler äëÿ DOS, Windows è UNIX. Èçä. ÄÌÊ, Ìîñêâà, 2000, 608 ñòð. Ñ. Çóáêîâ. Assembler äëÿ DOS, Windows è UNIX. Èçä. ÄÌÊ, Ìîñêâà, 2000, 608 ñòð.

4 ¾É»ÏïñáݳÛÇÝ Ñ³ßíÇã Ù»ù»Ý³Ý»ñÇ å³ïÙáõÃÛáõÝÇó XVII ¹³ñ (1623 Ã.) – ·ÇïÝ³Ï³Ý ì.ÞÇϳñ¹Ç ·áõÙ³ñáÕ-ѳÝáÕ Ù»ù»Ý³ XVII ¹³ñ (1671 Ã.) – ÷ÇÉÇëá÷³ »õ ٳûٳïÇÏáë ¶. Ȼ۵ÝÇóÇ Ñ³ßí³Ù»ù»Ý³ XIX ¹³ñ (1842 Ã.) – ·ÇïÝ³Ï³Ý »õ ÷ÇÉÇëá÷³ ´. ä³ëϳÉÇ Ñ³ßí³Ù»ù»Ý³ XIX ¹³ñ ( Ã.Ã.) – ٳûٳïÇÏáë â. ´»µµÇçÇ ·³Õ³÷³ñÝ»ñ

5 ¾É»ÏïñáݳÛÇÝ Ñ³ßíÇã Ù»ù»Ý³Ý»ñÇ å³ïÙáõÃÛáõÝÇó XX ¹³ñ (1946 Ã.) – ²ØÜ, ö»ÝëÇÉí³Ýdz, ³é³çÇÝ áõÝÇí»ñë³É ¾ÐØ ENIAC – 18 ѳ½³ñ ɳÙå, ù³ßÁ` 30 ï., ½µ³Õ. ٳϻñ»ë` 200 ù.Ù. ²ß˳ïáõÙ ¿ñ ï³ë³Ï³Ý ѳٳϳñ·áõÙ XX ¹³ñ (1951 Ã.) – ¾ÐØ EDVAC – ÑÇßáÕáõÃÛáõÝÁ` 1024 µ³é, ³Ù»Ý µ³éÁ` 44 »ñÏáõ³Ï³Ý ϳñ· ٳûٳïÇÏáë æáÝ ýáÝ Ü»ÛÙ³Ý

6 ¾É»ÏïñáݳÛÇÝ Ñ³ßíÇã Ù»ù»Ý³Ý»ñÇ å³ïÙáõÃÛáõÝÇó 1-ÇÝ ë»ñáõݹ (1945 – 1954 Ã.Ã.) – ÑÇÙÝ³Ï³Ý ï³ññ»ñÝ »Ý ɳÙå»ñÁ, ÑÇßáÕáõÃÛáõÝÁ` ѳå³ÕÙ³Ý ·Í»ñ; Ù»ù»Ý³Û³Ï³Ý É»½áõ »õ ³ë»ÙµÉ»ñ 2-ñ¹ ë»ñáõݹ (1955 – 1964 Ã.Ã.) – ÑÇÙÝ³Ï³Ý ï³ññ»ñÝ »Ý ÏÇë³Ñ³Õáñ¹ÇãÝ»ñÁ, ÑÇßáÕáõÃÛáõÝÁ` Ù³·ÝÇë³Ï³Ý (ý»éÇï³ÛÇÝ) ÙÇçáõÏÝ»ñ; Algol, FORTRAN, COBOL; ûå»ñ³óÇáÝ Ñ³Ù³Ï³ñ· 3-ñ¹ ë»ñáõݹ (1965 – 1970 Ã.Ã.) – ÑÇÙÝ³Ï³Ý ï³ññ»ñÝ »Ý ÇÝï»·ñ³É³ÛÇÝ ë˻ٳݻñÁ (Æê), ¾ÐØ-Ý»ñÇ ÁÝï³ÝÇù` IBM System 360

7 ¾É»ÏïñáݳÛÇÝ Ù»ù»Ý³Ý»ñÇ å³ïÙáõÃÛáõÝÇó ¾É»ÏïñáݳÛÇÝ Ñ³ßíÇã Ù»ù»Ý³Ý»ñÇ å³ïÙáõÃÛáõÝÇó 4-ñ¹ ë»ñáõݹ (1970 – 1984 Ã.Ã.) – ÑÇÙÝ³Ï³Ý ï³ññ»ñÝ »Ý Ù»Í »õ ·»ñÙ»Í ÇÝï»·ñ³É³ÛÇÝ ë˻ٳݻñÁ (ØÆê, ¶ØÆê) 5-ñ¹ ë»ñáõݹ (1974 – *** Ã.Ã.) – ÙÇÏñáåñáó»ëáñ³ÛÇÝ` 1970-³Ï³ÝÝ»ñÇ ëÏǽµ` i4004 – 4 ϳñ·, 4 Ãí. ·áñÍ Ã.` i8080 – 8 ϳñ· 1976 Ã.` i8086/8088 – 16 ϳñ·, ·Í³É³ñÁ` 20 ϳñ·, ÑÇßáÕáõÃÛáõÝÁ` ÙÇÝã»õ 1 Mbyte

8 ¾É»ÏïñáݳÛÇÝ Ñ³ßíÇã Ù»ù»Ý³Ý»ñÇ å³ïÙáõÃÛáõÝÇó 4-ñ¹ ë»ñáõݹ (1970 – 1984 Ã.Ã.) – ÑÇÙÝ³Ï³Ý ï³ññ»ñÝ »Ý Ù»Í »õ ·»ñÙ»Í ÇÝï»·ñ³É³ÛÇÝ ë˻ٳݻñÁ (ØÆê, ¶ØÆê) 5-ñ¹ ë»ñáõݹ (1974 – *** Ã.Ã.) – ÙÇÏñáåñáó»ëáñ³ÛÇÝ` 1982 Ã.` i80286 – i8086 – Ç µ³ñ»É³í³Í ï³ñµ»ñ³Ï. ·Í³É³ñÁ` 24 ϳñ·, ÑÇßáÕáõÃÛáõÝÁ` ÙÇÝã»õ 16 Mbyte, ·áñͻɳϳñ·` Çñ³Ï³Ý »õ å³ßïå³Ýí³Í 1985 Ã.` i80386 ϳ٠i ϳñ·, ûå»ñ³ïÇí ÑÇßáÕáõÃÛ³Ý ¿ç³ÛÇÝ Ï³½Ù³Ï»ñåáõÙ, ÙÇÝã»õ 4 Gbyte, »ñ»õ³Ï³Û³Ï³Ý i8086, ÏáÝí»Û»ñ

9 ¾É»ÏïñáݳÛÇÝ Ñ³ßíÇã Ù»ù»Ý³Ý»ñÇ å³ïÙáõÃÛáõÝÇó 4-ñ¹ ë»ñáõݹ (1970 – 1984 Ã.Ã.) – ÑÇÙÝ³Ï³Ý ï³ññ»ñÝ »Ý Ù»Í »õ ·»ñÙ»Í ÇÝï»·ñ³É³ÛÇÝ ë˻ٳݻñÁ (ØÆê, ¶ØÆê) 5-ñ¹ ë»ñáõݹ (1974 – *** Ã.Ã.) – ÙÇÏñáåñáó»ëáñ³ÛÇÝ` 1989 Ã.` i486DX – ïñ³Ý½ÇëïáñÝ»ñÇ ù³Ý³ÏÁ` 1.2 ÙÉÝ, Ý»ñ¹ñí³Í ٳûٳïÇÏ³Ï³Ý Ïáåñáó»ëáñ 1993 Ã.` Pentium (i586), ïñ³Ý½ÇëïáñÝ»ñÇ ù³Ý³ÏÁ` 3.1 ÙÉÝ, »ñÏáõ ÏáÝí»Û»ñ 1997 Ã. Ù³ÛÇë` Pentium II; 1999 Ã.` Pentium III; 2000 Ã. í»ñç` Pentium IV

10 øáÙ÷Ûáõï»ñÇ ÁݹѳÝáõñ ϳéáõóí³ÍùÁ CPUOutput Memory Input

11 ²é³çÇÝ ë»ñáõݹݻñÇ Ù»ù»Ý³Ý»ñ Ðñ³Ù³ÝÇ ï»ëùÁ` Ð ÎI ѳëó»II ѳëó»III ѳëó» Ð ÎI ѳëó»II ѳëó» Ð Îѳëó»

12 ²ë»ÙµÉ»ñ É»½áõ (Ý»ñ³ÍáõÃÛáõÝ) Ìñ³·ñ³ÛÇÝ ³å³ÑáíÙ³Ý ëïáñ³Ï³ñ·áõÃÛ³Ý Ù³Ï³ñ¹³ÏÝ»ñ سϳñ¹³ÏÜϳñ³·ñáõÃÛáõÝ ÎÇñ³é³Ï³Ý Íñ³·Çñ Ìñ³·ñ»ñ, Ùß³Ïí³Í Ù³ëݳíáñ ¹³ëÇ ËݹÇñÝ»ñÇ Ñ³Ù³ñ: ´³ñÓñ ٳϳñ¹³ÏÇ É»½áõ (HLL) Ìñ³·ñ»ñÁ óñ·Ù³ÝíáõÙ »Ý ϳ٠³ë»ÙµÉ»ñ, ϳ٠ٻù»Ý³Û³Ï³Ý É»½íÇ: ²Ù»Ý ÙÇ ûå»ñ³ïáñ, ÇÝãå»ë ûñ»Ýù, Ù»ù»Ý³Û³Ï³Ý É»½íáí ³ñï³å³ïÏ»ñíáõÙ ¿ µ³½Ù³ù³Ý³Ï Ññ³Ù³ÝÝ»ñáí: (C++, Pascal, Java,...) úå»ñ³óÇáÝ Ñ³Ù³Ï³ñ· ä³ñáõݳÏáõÙ ¿ ýáõÝÏódzݻñ, áñáÝù ϳñáÕ »Ý ϳÝãí»É Íñ³·ñ»ñÇó, ·ñí³Í µ³ñÓñ ٳϳñ¹³ÏÇ É»½íáí ϳ٠³ë»ÙµÉ»ñáí: γñáÕ ¿ å³ñáõÝ³Ï»É Ý³»õ ÏÇñ³é³Ï³Ý Íñ³·ñ³íáñÙ³Ý ÇÝï»ñý»Ûë (API): ²ë»ÙµÉ»ñ É»½áõ (ASM) ú·ï³·áñÍíáõÙ »Ý ëÇÙíáɳÛÇÝ Ññ³Ù³ÝÝ»ñ, áñáÝù Ù»ÏÁ Ù»ÏÇÝ ³ñï³Ñ³ÛïíáõÙ »Ý Ù»ù»Ý³Û³Ï³Ý É»½íáí: Ø»ù»Ý³Û³Ï³Ý É»½áõ (ML) Âí³ÛÇÝ Ññ³Ù³ÝÝ»ñ »õ ûå»ñ³Ý¹Ý»ñ, áñáÝù ϳñáÕ »Ý å³Ñå³Ýí»É ÑÇßáÕáõÃÛáõÝáõÙ »õ áõÕÕ³ÏÇáñ»Ý ϳï³ñí»É åñáó»ëáñÇ ÏáÕÙÇó:

13 ²ë»ÙµÉ»ñ É»½áõ (Ý»ñ³ÍáõÃÛáõÝ) ASMML HLL - - -

14 ²ë»ÙµÉ»ñ É»½áõ (Ý»ñ³ÍáõÃÛáõÝ) BasicPascalC++ASM

15 ²ë»ÙµÉ»ñ É»½áõ (Ý»ñ³ÍáõÃÛáõÝ) Ðñ³Ù³ÝÝ»ñ Ø»ù»Ý³Û³Ï³Ý²ë»ÙµÉ»ñ DEC CX B C FF FF MOV AH, 9 MOV Step, -1

16 ²ë»ÙµÉ»ñ É»½áõ (Ý»ñ³ÍáõÃÛáõÝ) îíÛ³ÉÝ»ñ ´ÇûñÇ Ñ³Ù³ñÝ»ñÁ ´³Ûà (byte) ´³é (word) 2-byte (16 bit) - Ù»Ï ïíÛ³É ÎñÏݳÏÇ µ³é (doubleword) 4-byte (32 bit) - Ù»Ï ïíÛ³É ø³é³ÏÇ µ³é (quadword) 8-byte (64 bit) - Ù»Ï ïíÛ³É ä³ñ³·ñ³ý (paragraph) 16-byte (128 bit) - ïíÛ³ÉÝ»ñÇ ¹³ßï Kilobyte, Megabyte »õ ³ÛÉÝ

17 ²ë»ÙµÉ»ñ É»½áõ (Ý»ñ³ÍáõÃÛáõÝ) Ðñ³Ù³ÝÇ Ï³ï³ñÙ³Ý ÷áõÉ»ñ, ÏáÝí»Û»ñ 1.Ññ³Ù³ÝÇ ÁÝïñáõÙ ù»ß ϳ٠ûå»ñ³ïÇí ÑÇßáÕáõÃÛáõÝÇó 2.Ññ³Ù³ÝÇ í»ñͳÝáõÙ 3.ûå»ñ³Ý¹Ý»ñÇ Ñ³ëó»Ý»ñÇ áñáßáõÙ (ϳ½Ù³íáñáõÙ) 4.·áñÍáÕáõÃÛ³Ý Ï³ï³ñáõÙ 5.³ñ¹ÛáõÝùÇ ·ñ³ÝóáõÙ Íñ³·ñ³ÛÇÝ ³ÝóÙ³Ý Ñ³ëó»Ç ϳÝ˳ï»ëáõÙ

18 ê»·Ù»ÝïÝ»ñ »õ ѳëó»³íáñáõÙ N-1

19 ê»·Ù»ÝïÝ»ñ »õ ѳëó»³íáñáõÙ Íñ³·Çñ M-1. N-1

20 ê»·Ù»ÝïÝ»ñ »õ ѳëó»³íáñáõÙ Íñ³·ÇñïíÛ³ÉÝ»ñ M-1 M+0 M+1 M+2. M+K. N-1

21 ê»·Ù»ÝïÝ»ñ »õ ѳëó»³íáñáõÙ + (M+1), (M+2) Íñ³·Çñ ïíÛ³ÉÝ»ñ M-1 M+0 M+1 M+2. M+K. N-1

22 ê»·Ù»ÝïÝ»ñ »õ ѳëó»³íáñáõÙ + (M+1), (M+2) Éñ³óáõóÇã Ññ³Ù³Ý Éñ³óáõóÇã Ññ³Ù³Ý Íñ³·Çñ ïíÛ³ÉÝ»ñ M-1 M+0 M+1 M+2 M+3. M+K. N-1

23 ê»·Ù»ÝïÝ»ñ »õ ѳëó»³íáñáõÙ + (M+1), (M+2) Éñ³óáõóÇã Ññ³Ù³Ý Éñ³óáõóÇã Ññ³Ù³Ý Íñ³·Çñ ïíÛ³ÉÝ»ñ M-1 M+0 M+1 M+2 M+3. M+K. N-1 + (M+2), (M+3)

24 ê»·Ù»ÝïÝ»ñ »õ ѳëó»³íáñáõÙ + 1, 2 + 1, Íñ³·ÇñïíÛ³ÉÝ»ñ M-1 M+0 M+1 M+2. M+K. N-1 M

25 ê»·Ù»ÝïÝ»ñ »õ ë»·Ù»Ýï³ÛÇÝ é»·ÇëïñÝ»ñ ëï»ù ë»·Ù»Ýï ïíÛ³ÉÝ»ñÇ ë»·Ù»Ýï Íñ³·ñ³ÛÇÝ ë»·Ù»Ýï ѳëó»Ñ³ëó» ѳëó» SS DS CSѳëó» ESѳëó» FSѳëó» GS

26 ê»·Ù»ÝïÝ»ñ »õ ë»·Ù»Ýï³ÛÇÝ é»·ÇëïñÝ»ñ – Çó ÙÇÝã»õ 2 16 – 1 ϳ٠0 – Çó ÙÇÝã»õ – Çó ÙÇÝã»õ 2 20 – 1 ϳ٠0 – Çó ÙÇÝã»õ CS:n

27 òáõóÇã é»·ÇëïñÝ»ñ EIP ESP EBP IP SP BP CS:IP SS:SP SS:BP

28 Æݹ»ùë³ÛÇÝ é»·ÇëïñÝ»ñ ESI SI EDIDI

29 ÀݹѳÝáõñ Ýå³ï³Ï³ÛÇÝ û·ï³·áñÍÙ³Ý é»·ÇëïñÝ»ñ EAX AH AL AH AL AX EBX BH BL BH BL BX ECX CH CL CH CL CX EDX DH DL DH DL DX

30 ÀݹѳÝáõñ Ýå³ï³Ï³ÛÇÝ û·ï³·áñÍÙ³Ý é»·ÇëïñÝ»ñ EAX AH AL AH AL AX MOV AH, 1 MOV AL, 1 AX - ? MOV AH, 0 MOV AL, 127 ADD AX, 129 AH - ? AL - ? MOV AL, 1 ADD AL, 129 AH - ? AL - ?

31 äñáó»ëáñÇ íÇ׳ÏÇ »õ ջϳí³ñÙ³Ý é»·Çëïñ (¹ñáßÝ»ñÇ é»·Çëïñ) EFlags Flags O D I T S Z A P C ջϳí³ñÙ³Ý ¹ñáß Ñ³Ù³Ï³ñ·³ÛÇÝ ¹ñáßÝ»ñ íÇ׳ÏÇ ¹ñáßÝ»ñ

32

33