Первое знакомство с языком программирования Ассемблер презентация

Содержание

Слайд 2

Постановка задачи Используя директивы и операторы ассемблера AVSIM85, написать программу

Постановка задачи

Используя директивы и операторы ассемблера AVSIM85, написать программу копирования блока

данных (программу расположить с адреса 230Ch):
Слайд 3

Разделение памяти

Разделение памяти

Слайд 4

A Алгоритм решения Указание начального адреса (HL), адреса ячейки возврата(DE)

A

Алгоритм решения

Указание начального адреса (HL), адреса ячейки возврата(DE) размера массива (C)
M(DE)

← А←M(HL)
Переход к следующей ячейке HL ←HL+1; DE ←DE+1; C ←C–1
Проверка С=0? (пройдены все ячейки)

HL

DE

C

A

Слайд 5

Data Segment defseg d_seg, start = 0DADAh seg d_seg beta

Data Segment

defseg d_seg, start = 0DADAh
seg d_seg
beta db 0AAh,3Bh,50h,0D2h,0Ah,7,
0EFh,77,5Bh,0CCh,6,0AAh
teta

ds teta - beta
Слайд 6

Code Segment defseg c_seg, start = 230Ch seg c_seg LXI

Code Segment

defseg c_seg, start = 230Ch
seg c_seg
LXI H,beta
LXI D,teta
MVI C,teta-beta


L1: MOV A,M ; A ← M(HL)
STAX D ; M(DE) ← A
INX H ; HL ← HL + 1
INX D ; DE ← DE + 1
DCR C ; C ← C - 1
JNZ L1
end
Слайд 7

Файл конфигурации отладчика task_1.cmd LAtask_1 ; загрузить файл с именем

Файл конфигурации отладчика task_1.cmd

LAtask_1 ; загрузить файл с именем task_1
D1A0DADAh ; адрес памяти дампа

1
SY ; разрешение счета числа тактов при выполнении
←230C ; РС←230C – начальный адрес программы
Слайд 8

Пошаговое выполнение программы

Пошаговое выполнение программы

Слайд 9

Флаги Регистры Область данных (ОЗУ) LXI H, 0DADAh HL ← DADAh

Флаги

Регистры

Область данных (ОЗУ)

LXI H, 0DADAh

HL ← DADAh

Слайд 10

Флаги Регистры Область данных (ОЗУ) LXI D, 0DAE6h DE ← DAE6h

Флаги

Регистры

Область данных (ОЗУ)

LXI D, 0DAE6h

DE ← DAE6h

Слайд 11

Флаги Регистры Область данных (ОЗУ) MVI C, 0Ch C ← 0Ch

Флаги

Регистры

Область данных (ОЗУ)

MVI C, 0Ch

C ← 0Ch

Слайд 12

Флаги Регистры Область данных (ОЗУ) MOV A, M A ← M(H L)= =M(DADAh)=AAh

Флаги

Регистры

Область данных (ОЗУ)

MOV A, M

A ← M(H L)=
=M(DADAh)=AAh

Слайд 13

Флаги Регистры Область данных (ОЗУ) STAX D M(D E) ← A M(DAE6h) ← AAh

Флаги

Регистры

Область данных (ОЗУ)

STAX D

M(D E) ← A
M(DAE6h) ← AAh

Слайд 14

Флаги Регистры Область данных (ОЗУ) INX H HL ← HL+1 HL ← DADA+1= =DADBh

Флаги

Регистры

Область данных (ОЗУ)

INX H

HL ← HL+1
HL ← DADA+1=
=DADBh

Слайд 15

Флаги Регистры Область данных (ОЗУ) INX D DE ← DE+1 DE ← DAE6+1= =DAE7h

Флаги

Регистры

Область данных (ОЗУ)

INX D

DE ← DE+1
DE ← DAE6+1=
=DAE7h

Слайд 16

Флаги Регистры Область данных (ОЗУ) DCR C C ← C

Флаги

Регистры

Область данных (ОЗУ)

DCR C

C ← C - 1
C ← 0C -

1=0Bh
Слайд 17

Флаги Регистры Область данных (ОЗУ) JNZ L1 Переход на метку L1, если Z=0

Флаги

Регистры

Область данных (ОЗУ)

JNZ L1

Переход
на метку L1,
если Z=0

Слайд 18

Флаги Регистры Область данных (ОЗУ) MOV A, M A ← M(H L)= =M(DADBh)=3Bh

Флаги

Регистры

Область данных (ОЗУ)

MOV A, M

A ← M(H L)=
=M(DADBh)=3Bh

Слайд 19

Флаги Регистры Область данных (ОЗУ) STAX D M(D E) ← A M(DAE6h) ← AAh

Флаги

Регистры

Область данных (ОЗУ)

STAX D

M(D E) ← A
M(DAE6h) ← AAh

Слайд 20

Флаги Регистры Область данных (ОЗУ) INX H HL ← HL+1 HL ← DADB+1= =DADCh

Флаги

Регистры

Область данных (ОЗУ)

INX H

HL ← HL+1
HL ← DADB+1=
=DADCh

Слайд 21

Флаги Регистры Область данных (ОЗУ) INX D DE ← DE+1 DE ← DAE7+1= =DAE8h

Флаги

Регистры

Область данных (ОЗУ)

INX D

DE ← DE+1
DE ← DAE7+1=
=DAE8h

Слайд 22

Флаги Регистры Область данных (ОЗУ) DCR C C ← C

Флаги

Регистры

Область данных (ОЗУ)

DCR C

C ← C - 1
C ← 0B -

1=0Ah
Слайд 23

Флаги Регистры Область данных (ОЗУ) JNZ L1 Переход на метку L1, если Z=0

Флаги

Регистры

Область данных (ОЗУ)

JNZ L1

Переход
на метку L1,
если Z=0

Слайд 24

Фрагмент окончания программы

Фрагмент окончания программы

Слайд 25

Флаги Регистры Область данных (ОЗУ) DCR C C ← C

Флаги

Регистры

Область данных (ОЗУ)

DCR C

C ← C - 1
C ← 01 -

1=00h
Имя файла: Первое-знакомство-с-языком-программирования-Ассемблер.pptx
Количество просмотров: 32
Количество скачиваний: 0