🗊Презентация Основы языка ассемблер. Использование массивов

Нажмите для полного просмотра!
Основы языка ассемблер. Использование массивов, слайд №1Основы языка ассемблер. Использование массивов, слайд №2Основы языка ассемблер. Использование массивов, слайд №3Основы языка ассемблер. Использование массивов, слайд №4Основы языка ассемблер. Использование массивов, слайд №5Основы языка ассемблер. Использование массивов, слайд №6Основы языка ассемблер. Использование массивов, слайд №7Основы языка ассемблер. Использование массивов, слайд №8Основы языка ассемблер. Использование массивов, слайд №9Основы языка ассемблер. Использование массивов, слайд №10Основы языка ассемблер. Использование массивов, слайд №11Основы языка ассемблер. Использование массивов, слайд №12

Вы можете ознакомиться и скачать презентацию на тему Основы языка ассемблер. Использование массивов. Доклад-сообщение содержит 12 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Основы языка ассемблер
Описание слайда:
Основы языка ассемблер

Слайд 2





Использование массивов
Описание слайда:
Использование массивов

Слайд 3





Массивы
Массивом называется последовательный набор однотипных данных, именованный одним идентификатором.
Примеры инициализации 
M1 DD 0,1,2,3,4,5,6,7,8,9
M2 DD 0,1,2,3
Для инициализации всех элементов массива одинаковыми значениями используется оператор DUP:
Идентификатор Тип Размер DUP (Значение)
Идентификатор - имя массива;
Тип - определяет количество байт, занимаемое одним элементом;
Размер - константа, характеризующая количество элементов в массиве
Значение - начальное значение элементов.
a DD 20 DUP (0)     - описывает массив a из 20 элементов, начальные значения которых равны 0.
Если необходимо выделить память, но не инициализировать ее, в качестве поля Значение используется знак ?. Например,
b DD 20 DUP(?)
Описание слайда:
Массивы Массивом называется последовательный набор однотипных данных, именованный одним идентификатором. Примеры инициализации M1 DD 0,1,2,3,4,5,6,7,8,9 M2 DD 0,1,2,3 Для инициализации всех элементов массива одинаковыми значениями используется оператор DUP: Идентификатор Тип Размер DUP (Значение) Идентификатор - имя массива; Тип - определяет количество байт, занимаемое одним элементом; Размер - константа, характеризующая количество элементов в массиве Значение - начальное значение элементов. a DD 20 DUP (0) - описывает массив a из 20 элементов, начальные значения которых равны 0. Если необходимо выделить память, но не инициализировать ее, в качестве поля Значение используется знак ?. Например, b DD 20 DUP(?)

Слайд 4





Задача
Заданы массивы A[N] и B[N] из элементов типа Byte (8-разрядные целые без  знака). Составить программу, формирующую массив C[N] из произведения элементов массивов A и B: C[i]=A[i]*B[i]. Размерность элементов массива C[N] должна  обеспечивать корректное умножение (если результат не умещается в 8 разрядов).
Описание слайда:
Задача Заданы массивы A[N] и B[N] из элементов типа Byte (8-разрядные целые без знака). Составить программу, формирующую массив C[N] из произведения элементов массивов A и B: C[i]=A[i]*B[i]. Размерность элементов массива C[N] должна обеспечивать корректное умножение (если результат не умещается в 8 разрядов).

Слайд 5





Программа
org 100h
	.model	tiny
       .data
N	dw	10				; Кол-во элементов в массиве.
A	db	1, 2, 3, 4, 5, 6, 7, 8, 9, 10
B	db	3, 4, 15,6, 1, 0, 0, 2, 2, 18
C	dw	10 dup(0)
	.code
Start:
	mov	si, 0				; индекс массивов A и B.
	mov	di, 0			; индекс массива C.
M1:	mov	ah, 0
	mov	al, A[si]
	mul	B[si]				; Умножение AX = AL*B[si].
	mov	C[di], ax			; Запись результата.
	inc	si				; Завершение
	add	di, 2			; тела цикла.
	cmp	si, N
	jb	M1	
	end	Start
	ret
Описание слайда:
Программа org 100h .model tiny .data N dw 10 ; Кол-во элементов в массиве. A db 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 B db 3, 4, 15,6, 1, 0, 0, 2, 2, 18 C dw 10 dup(0) .code Start: mov si, 0 ; индекс массивов A и B. mov di, 0 ; индекс массива C. M1: mov ah, 0 mov al, A[si] mul B[si] ; Умножение AX = AL*B[si]. mov C[di], ax ; Запись результата. inc si ; Завершение add di, 2 ; тела цикла. cmp si, N jb M1 end Start ret

Слайд 6





Просмотр результата
Описание слайда:
Просмотр результата

Слайд 7





Задача
Задан массив A[N] из элементов типа целое 16-разрядное со знаком.
Составить программу суммирования элементов массива и абсолютных значений элементов массива.
Обычное суммирование провести в переменной Sum, суммирование по модулю - в переменной Abs.
Описание слайда:
Задача Задан массив A[N] из элементов типа целое 16-разрядное со знаком. Составить программу суммирования элементов массива и абсолютных значений элементов массива. Обычное суммирование провести в переменной Sum, суммирование по модулю - в переменной Abs.

Слайд 8





Программа
 org	100h
	.model	tiny 
	.data
N	dw	10				; Количество элементов в массиве A.
A	dw	-1, -5, 3, 5, 28, -11, 7, 8, 32, -90
Sum	dw      0				; Результат обычного суммирования.
Abs	dw	0				; Результат суммирования по модулю.
	.code
Start:
	mov	si, 0
	mov	cx, N
M1:	mov	ax, A[si]
	add	Sum, ax			; Обычное суммирование.
	or	ax, ax          		; Проверка перед суммированием по модулю.
	jns	M2              		; Если число положит. - сразу прибавить к Abs.
	neg	ax              		; Если число отрицательное - взять по модулю.
M2:	add	Abs, ax	
	add	si, 2				; индекс на следующий элемент.
	loop	M1				; Повторять тело цикла N раз.
end	Start
ret
Описание слайда:
Программа org 100h .model tiny .data N dw 10 ; Количество элементов в массиве A. A dw -1, -5, 3, 5, 28, -11, 7, 8, 32, -90 Sum dw 0 ; Результат обычного суммирования. Abs dw 0 ; Результат суммирования по модулю. .code Start: mov si, 0 mov cx, N M1: mov ax, A[si] add Sum, ax ; Обычное суммирование. or ax, ax ; Проверка перед суммированием по модулю. jns M2 ; Если число положит. - сразу прибавить к Abs. neg ax ; Если число отрицательное - взять по модулю. M2: add Abs, ax add si, 2 ; индекс на следующий элемент. loop M1 ; Повторять тело цикла N раз. end Start ret

Слайд 9





Задание
Задан массив A[N] из элементов типа целое 8-разрядное со знаком. Составить программу нахождения максимального и минимального элемента. Разместить индексы максимального и минимального элемента в отдельных ячейках памяти.
Индекс максимального элемента разместить в ячейке IndMax, а индекс минимального элемента разместим в ячейке IndMin.
Описание слайда:
Задание Задан массив A[N] из элементов типа целое 8-разрядное со знаком. Составить программу нахождения максимального и минимального элемента. Разместить индексы максимального и минимального элемента в отдельных ячейках памяти. Индекс максимального элемента разместить в ячейке IndMax, а индекс минимального элемента разместим в ячейке IndMin.

Слайд 10





Программа
Описание слайда:
Программа

Слайд 11





Задача
 Задан массив A[N] из элементов типа Word (целое 16-разрядное без знака).
 Составить программу сортировки массива по убыванию.
Алгоритм
Просматр массив целиком, сравнивая каждый раз парные элементы: A[i-1] и A[i]. 
Если возникла ситуация A[i-1]<A[i], то меняем элементы местами.
 Затем повтор просмотра массива сначала.
 Прекращение сортировки тогда, когда в ходе текущего просмотра массива не произойдёт ни одного обмена (ChFlag=0).
	.
Описание слайда:
Задача Задан массив A[N] из элементов типа Word (целое 16-разрядное без знака). Составить программу сортировки массива по убыванию. Алгоритм Просматр массив целиком, сравнивая каждый раз парные элементы: A[i-1] и A[i]. Если возникла ситуация A[i-1]<A[i], то меняем элементы местами. Затем повтор просмотра массива сначала. Прекращение сортировки тогда, когда в ходе текущего просмотра массива не произойдёт ни одного обмена (ChFlag=0). .

Слайд 12





Программа
		org	100h	
		.model	tiny
		.data
N	      dw	10			; Количество элементов в массиве A.
A	      dw	0, 4, 1, 2, 15, 10, 20, 11, 3, 5
ChFlag	db	0			; Если ChFlag>0, то в ходе просмотра был обмен.
		.code
Start:	mov	ChFlag, 0	; Обнуляем ChFlag перед текущим просмотром.
		mov	cx, N		; Устанавливаем счётчик внутреннего цикла.
		dec	cx		       ; Пар в массиве на 1 меньше, чем элементов.
		mov	si, 2              ; Устанавливаем индекс массива.
M1:		mov	ax, A[si-2]	; Считываем A[i-1]-й элемент.
		mov	bx, A[si]    	; Считываем A[i]-й элемент.
		cmp	ax, bx		; Сравниваем их.
		jnb     M2
		mov	A[si], ax	       ; A[i-1]<A[i] - нужен обмен.
		mov	A[si-2], bx
		inc	ChFlag          ; Произошёл очередной обмен.
M2:		add	si, 2		      ; Завершение тела внутреннего цикла.
		loop	M1
		cmp	ChFlag, 0	; Завершение тела внешнего цикла.
		jne	Start		; Были обмены - нужна ещё итерация.	
		end	Start
ret
Описание слайда:
Программа org 100h .model tiny .data N dw 10 ; Количество элементов в массиве A. A dw 0, 4, 1, 2, 15, 10, 20, 11, 3, 5 ChFlag db 0 ; Если ChFlag>0, то в ходе просмотра был обмен. .code Start: mov ChFlag, 0 ; Обнуляем ChFlag перед текущим просмотром. mov cx, N ; Устанавливаем счётчик внутреннего цикла. dec cx ; Пар в массиве на 1 меньше, чем элементов. mov si, 2 ; Устанавливаем индекс массива. M1: mov ax, A[si-2] ; Считываем A[i-1]-й элемент. mov bx, A[si] ; Считываем A[i]-й элемент. cmp ax, bx ; Сравниваем их. jnb M2 mov A[si], ax ; A[i-1]<A[i] - нужен обмен. mov A[si-2], bx inc ChFlag ; Произошёл очередной обмен. M2: add si, 2 ; Завершение тела внутреннего цикла. loop M1 cmp ChFlag, 0 ; Завершение тела внешнего цикла. jne Start ; Были обмены - нужна ещё итерация. end Start ret



Похожие презентации
Mypresentation.ru
Загрузить презентацию