Содержание
- 2. Массивы - упорядоченные множества элементов одного типа, занимающих непрерывное пространство в памяти машины. Упорядоченность элементов массива
- 3. X = {xij: a≤i≤b и c≤j≤d} xa,c xa,c+1 … xa,d-1 xa,d xa+1,c xa+1,c+1 … xa+1,d-1 xa+1,d
- 4. Расположение в памяти По строкам: xa,c xa,c+1 … xa,d-1 xa,d xa+1,c xa+1,c+1 … xa+1,d-1 xa+1,d …
- 5. Строки переменной длины Си String db ‘Это строка С’,0 Паскаль String db Len-1,‘Строка Паскаля’ Len =
- 6. Перечислимые типы данных Azb enum a,b,c,d,e,f,g,h,i,j,k,l,n,m,o,p,q,r,s,t,v,u,w,x,y,z ; a=0, b=1, … , z=25 Azb enum a=61h,b,c,… ;
- 7. Множество совокупность элементов, обладающих общим для них характеристическим свойством. конечная упорядоченная совокупность элементов, т.е. каждому элементу
- 8. Setof macro name,pw,x rr=pw/8 if pw mod 8 ne 0 rr=rr+1 endif if rr eq 1
- 9. .err "Не могу создать множество такого размера“ exitm endif kk=0 while kk lt rr shablon=0 irp
- 10. Сегмент данных .data Alphabet enum A,B,C,D,E,F,G,H,I,J,K,L,N,M,O,P,Q,R,S,T,V,U,W,X,Y,Z SETOF VOWELS,Alphabet, SETOF CONSONANTS,Alphabet, Сегмент команд .code jnc short no
- 11. Проверка присутствия элемента в множестве Inmn macro name,k ;; Результат в fc ifndef .err ‘Имя &name
- 12. Вспомогательный макрос beepspkr macro times:= push ax push dx mov ah,2 mov dl,7 rept times int
- 13. Записи наборы групп битовых полей внутри байта, слова или двойного слова. Формат описания шаблона: Имя_шаблона RECORD
- 14. Описание переменных типа запись Test_date Date_format Millennium Date_format Yesterday Date_format {year =4,month=4} Операторы работы с записями
- 15. Структуры совокупности переменных различного типа. Формат описания шаблона структуры: Имя_шаблона struc Описатель переменной [ … Описатель
- 16. Описание переменных формата структура Cnul complex Ced complex Ci complex {im=1.0} Carray complex 10 dup Доступ
- 17. Объединения наложение переменных различного типа. Формат описания шаблона объединения: Имя_шаблона Union описатель переменной [ … описатель
- 18. Списки совокупность элементов типа структура, расположенных в произвольных местах памяти, связанных друг с другом через поля
- 19. Примерный формат элемента списка (aitem). filds struc fild1 dw ? … filds ends Aitem struc list
- 20. Пример устройства «диспетчера» кучи .model small .386 nil = -1 Heap_size = 64*1024 filds struc fild1
- 21. Пример устройства «диспетчера» кучи .data Status db Heap_size/8 dup(0) top dw ? str1 db 'String 1'
- 22. Создание нового элемента списка new macro size ifndef Heap .err exitm elseifndef Status .err exitm endif
- 23. Удаление элемента списка Delite macro adr,size mov bx,adr ; Адрес освобождаемой памяти в bx mov cx,size
- 24. Сохранение и загрузка регистров SaveReg macro r1,r2,r3,r4,r5,r6,r7,r8,r9 ifnb push r1 SaveReg r2,r3,r4,r5,r6,r7,r8,r9 endif endm LoadReg macro
- 25. Основная программа main proc .Start new %type aitem ; Найти подходящую область памяти для ; размещения
- 26. Создание 2 и 3 элементов mov bx,ax mov cx,8 lea si,str2 lea di,[bx].list.fild1 rep movsb ;заполнение
- 27. Удаление элемента и печать списка mov bx,top delite es:[bx].next,%type aitem mov bx,top mov di,es:[bx].next mov ax,es:[di].next
- 28. Процедура поиска места в куче find proc ; ax - размер требующейся памяти в байтах SaveReg
- 29. Процедура поиска места в куче next1: pop ax ; восстановление размера push ax m3: inc bx
- 30. Заполнение массива Status pop cx m6: or status[bx],ah ; заполнение 1 маски отводимого поля dec cx
- 32. Скачать презентацию