IPB
ЛогинПароль:

> ПРАВИЛА РАЗДЕЛА!!!

1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!

 
 Ответить  Открыть новую тему 
> помогите доделать прогу!
сообщение
Сообщение #1


Гость






Сижу над этой прогой уже три дня, не могу довести ее до ума! Массив вводится с клавиатуры, затем сортируется в порядке убывания и заносится в другогй массив и результат выводится на экран. А вывод на экран у меня как раз и на получается! Помогите, пожалуйста, мне с ней разобраться!
masm
.model small
.stack 100h
.data
mes1 db 'Vvedite massiv iz 10 simvolov',0ah,0dh,'$'
mes db 0ah,0dh,'Rezultat',0ah,0dh,'$'
pr db '$'
mas dw 39 dup (?)
mas1 dw 10 dup(?)
m dw ?

n equ 9
tmp dw 0
i dw 0
j dw 0
k dw 0
minus db '-$'
er db 'error$'

.code
main:
mov ax,@data
mov ds,ax
xor ax, ax

mov ah,09h
lea dx,mes1
int 21h

xor di,di
mov m,1
mov si,0
mov cx,10
cycl:
jcxz internal
xor ax,ax
mov ah,01h
int 21h
mov mas[si],ax

cmp al,minus
je k1
jne k2

k1:
mov m,-1
add si,2
jmp cycl

k2:
cmp al,20h
je k3
jne k4

k3:
add si,2
jmp cycl

k4:
mov dx,mas[si]
cmp dl,30h
jb k5
cmp dl,39h
ja k5
jbe k6

k5:
mov ah,09h
lea dx,er
int 21h
jmp cycl

k6:
sub dx,30h
shl dx,4
add si,2
mov ah,01h
int 21h
mov mas[si],ax
add dx,mas[si]
imul m
mov m,1
mov mas[di],dx
add di,2
add si,2
dec cx
jmp cycl

internal:
mov j,9
jmp cycl_j

exchange:
mov bx,i
shl bx,1
mov ax,mas[bx]
mov bx,j
shl bx,1
cmp ax,mas[bx]
jge bol

mov bx,i
shl bx,1
mov tmp,ax

mov bx,j
shl bx,1
mov ax,mas[bx]
mov bx,i
shl bx,1
mov mas[bx],ax

mov bx,j
shl bx,1
mov ax,tmp
mov mas[bx],ax

bol:
dec j

cycl_j:
mov ax,j
cmp ax,i
jg exchange
inc i
cmp i,n
jl internal

show:

mov ah,09h
lea dx,mes
int 21h


add dl,30h
mov ah,02h
int 21h

mov ah,08h
int 21h



exit:
mov ax,4c00h
int 21h
end main
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 3.12.2020 20:10
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name