1
Содержание
Задание 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
sub char,'0'
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 strA
abc a
mes space
mes strB
abc b
mes strC
abc c
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 str2
mes str3
mov ah,1
mov ah,4ch
c_seg ends
end start
3. Блок-схема к заданию 2
4. ASM 2
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,'$'
str1 db 10,13,'Poluchenii massiv elementov v ypakovannom BCD formate:',10,13,'$'
str2 db 10,13,'Press any key.........',10,13,'$'
space db ' $'
dseg ends
cseg segment
assume cs:cseg, ds:dseg
vivod proc
xor cx,cx
k_del:
mov dx,0
div k
add dx,'0'
push dx
inc cx
cmp ax,0
jne k_del
k3:
pop dx
loop k3
ret
vivod endp
abcproc
xorsi,si
xordi,di
movbx,16
movcx,16
decbx
m2:
moval,mas[si]
mulm
incsi
addal,mas[si]
movmas[di],al
cmpsi,bx
jem1
incdi
loop m2
m1:
abcendp
start:
movax,dseg
movds,ax
mov bx, 0
met2: mov al, mas[bx]
mov ah,0
call vivod
inc bx
cmp bx,15
jle met2
call abc
mes str1
met1: mov al, mas[bx]
cmp bx,7
jle met1
movah, 4ch
int21h
cseg ends
5. Блок-схема к заданию 3
6. ASM 3
char1 macro b
add b,'0'
mov dl,b
sub b, '0'
char macro a
xor dx, dx
mov ax, a
mov bx, 10
div bx
add dl,'0'
mov ah, 2
mes macro str
lea dx,str
mindb0
maxdb0
n_mindw1
n_maxdw1
razdb0
adb2,6,4,1,7,9,3
n=$-a
str db 10,13,'Ishodnii massiv: $'
str1 db 10,13,'Resultat: $'
str2 db 10,13,'Number min chisla: $'
str3 db 10,13,'Number max chisla: $'
str4 db 10,13,'Raznost mezhdu max i min chislami: $'
str5 db 10,13,'Press any key........$'
assume cs:c_seg, ds:d_seg
movax,d_seg
moval,a[si]
movmin,al
movmax,al
m3:
cmpal,max
jlem1
movbx,si
incbx
movn_max,bx
cmpal,min
jgem2
movn_min,bx
cmpsi,n
jlm3
moval,max
subal,min
movraz,al
xor si,si
povtor:
char1 a[si]
inc si
cmp si,n
jne povtor
char n_min
char n_max
mes str4
char1 raz
mes str5
mov ah, 1
movah,4ch
7. Блок-схема к заданию 4
8. ASM 4
str db 10,13,'AX soderzhit znachenie 2345h$'
str1 db 10,13,'Posle normalizacii znacheniya AX, BX soderzhit chislo vipolnenih sdvigov$' $'
Страницы: 1, 2