Курсовая работа: Ассемблер и программирование
Курсовая работа: Ассемблер и программирование
Содержание
Задание............................................................................................................. 2
1. Блок-схема к заданию 1............................................................................................... 3
2. ASM 1 4
3. Блок-схема к заданию 2............................................................................................... 7
4. ASM 2 8
5. Блок-схема к заданию 3............................................................................................. 11
6. ASM 3 12
7. Блок-схема к заданию 4............................................................................................. 16
8. ASM 4 17
9. Блок-схема к заданию 5............................................................................................. 19
10. ASM 5 20
11. Блок-схема к заданию 6............................................................................................. 23
12. ASM 6 24
13. KOMP.CPP 26
14. Руководство пользователя........................................................................................ 36
Список литературы....................................................................................... 39
Задание
Информатика - курсовое задание, вариант 1
Три байтовые переменные A, B, и C содержат целые значения. Упорядочить эти значения по возрастанию так, чтобы A содержала минимальное значение, а С - максимальное.
Задан байтовый массив из N элементов в неупакованном BCD формате. Написать процедуру преобразования исходного массива
Задан байтовый массив из N элементов. Написать процедуру, отыскивающую: номер максимального и минимального элементов, а также разность между максимальным и минимальным элементами.
Написать процедуру нормализации значения, содержащегося в AX. Нормализация заключается в сдвиге содержимого AX влево до тех пор, пока старший из битов, имеющих значение 1, не попадет в 15-й разряд. Если же сразу (AX)=0 или 15-й разряд содержит 1, то процедура не должна выполняться. При выходе из процедуры регистр BX должен содержать число, равное количеству выполненных сдвигов.
Считая содержимое регистров DX:AX 32-битной величиной, написать программу, загружающую в регистр DL номер самого младшего бита, содержащего 1.
Индивидуальное задание: определить размер файла из DTA.
1. Блок-схема к заданию 1
2. ASM 1
mes macro msg
mov ah,9
lea dx,msg
int 21h
endm
abc macro char
add char,'0'
mov dl,char
mov ah,2
int 21h
sub char,'0'
endm
d_seg segment
a db 5
b db 9
c db 3
str db 'Ishodnie dannie:',10,13,'$'
str2 db 'Resultat sortirovki po vozrastaniyu',10,13,'$'
str3 db 'Press any key.........$'
enter db 10,13,'$'
space db ' ','$'
strA db 'A=','$'
strB db 'B=','$'
strC db 'C=','$'
d_seg ends
c_seg segment
assume ds:d_seg,cs:c_seg
start:mov ax,d_seg
mov ds,ax
mes enter
mes str
mes enter
mes strA
abc a
mes space
mes strB
abc b
mes space
mes strC
abc c
mes enter
mov al,a
mov bl,b
mov cl,c
cmp al,bl
jl continue
xchg al,bl
continue:
cmp al,cl
jl continue2
xchg al,cl
continue2:
cmp bl,cl
jl continue3
xchg bl,cl
continue3:
mov a,al
mov b,bl
mov c,cl
mes enter
mes str2
mes enter
mes strA
abc a
mes space
mes strB
abc b
mes space
mes strC
abc c
mes enter
mes enter
mes str3
mov ah,1
int 21h
mov ah,4ch
int 21h
c_seg ends
end start
3. Блок-схема к заданию 2
4. ASM 2
mes macro msg
mov ah,9
lea dx,msg
int 21h
endm
dseg segment
k dw 10
mdb10
masdb1,3,6,8,9,1,4,7,2,3,7,9,4,5,8,9
str db 'Ishodnii massiv elementov v neupakovannom BCD formate:',10,13,'$'
Страницы: 1, 2