Рефераты. Ассемблер и программирование

Ассемблер и программирование

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

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,'$'

str1 db 10,13,'Poluchenii massiv elementov v ypakovannom BCD formate:',10,13,'$'

str2 db 10,13,'Press any key.........',10,13,'$'

enter db 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

mov ah,2

int 21h

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

incsi

loop m2

m1:

ret

abcendp

start:

movax,dseg

movds,ax

mes enter

mes str

mes enter

mov bx, 0

met2: mov al, mas[bx]

mov ah,0

call vivod

mes space

inc bx

cmp bx,15

jle met2

call abc

mes enter

mes str1

mes enter

mov bx, 0

met1: mov al, mas[bx]

mov ah,0

call vivod

mes space

inc bx

cmp bx,7

jle met1

mes enter

mes str2

mov ah,1

int 21h

movah, 4ch

int21h

cseg ends

end start

5. Блок-схема к заданию 3

6. ASM 3

char1 macro b

add b,'0'

mov dl,b

mov ah,2

int 21h

sub b, '0'

endm

char macro a

xor dx, dx

mov ax, a

mov bx, 10

div bx

add dl,'0'

mov ah, 2

int 21h

endm

mes macro str

mov ah,9

lea dx,str

int 21h

endm

d_seg segment

mindb0

maxdb0

n_mindw1

n_maxdw1

razdb0

adb2,6,4,1,7,9,3

n=$-a

enter db 10,13,'$'

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........$'

space db ' $'

d_seg ends

c_seg segment

assume cs:c_seg, ds:d_seg

start:

movax,d_seg

movds,ax

xorsi,si

moval,a[si]

movmin,al

movmax,al

incsi

m3:

moval,a[si]

cmpal,max

jlem1

movmax,al

movbx,si

incbx

movn_max,bx

m1:

cmpal,min

jgem2

movmin,al

movbx,si

incbx

movn_min,bx

m2:

incsi

cmpsi,n

jlm3

moval,max

subal,min

movraz,al

mes str

mes enter

xor si,si

povtor:

char1 a[si]

mes space

inc si

cmp si,n

jne povtor

mes enter

mes str1

mes enter

mes str2

char n_min

mes enter

mes str3

char n_max

mes enter

mes str4

char1 raz

mes enter

mes enter

mes str5

mov ah, 1

int 21h

movah,4ch

int21h

c_seg ends

end start

7. Блок-схема к заданию 4

8. ASM 4

mes macro str

mov ah,9

lea dx,str

int 21h

endm

dseg segment

str db 10,13,'AX soderzhit znachenie 2345h$'

str1 db 10,13,'Posle normalizacii znacheniya AX, BX soderzhit chislo vipolnenih sdvigov$' $'

Страницы: 1, 2



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.