![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 25.12.2008
Сообщений: 37
|
![]()
создать одномерный массив по возрастанию!
эта программа работает правильно... только мне мужно сделать её без стека!! title qwert assume cs:c,ds ![]() s segment stack ; dw 128 dup(?) s ends d segment ; X dw 10 dup (?) ; B dw 10 dup (?) ; N dw 0 A dw 100 dup(?) msg db 'massiv=$' ; cr = 0dh ; lf = 0ah string db 255, 0, 255 dup (?) errmsg db 'error: illegal symbol' crlf db cr,lf,'$' negflag dw ? d ends c segment ; IntegerOut proc ; xor cx,cx mov bx,10 cmp ax,0 jge m neg ax push ax mov ah,6 mov dl,'-' int 21h pop ax m: inc cx xor dx,dx div bx push dx or ax,ax jnz m m1: pop dx add dx,'0' mov ah,6 int 21h loop m1 IntegerOut endp IntegerIn proc ; mov ah,0ah lea dx,string int 21h xor ax,ax lea si,string+2 mov negflag,ax cmp byte ptr [si],'-' jne m2 not negflag inc si jmp m3 m2: cmp byte ptr [si],'+' jne m3 inc si m3: cmp byte ptr [si],cr je ex1 cmp byte ptr [si],'0' jb er cmp byte ptr [si],'9' ja er mov bx,10 mul bx sub byte ptr [si],'0' add al,[si] adc ah,0 inc si jmp m3 er: lea dx,errmsg mov ah,9 int 21h jmp IntegerIn ex1: cmp negflag,0 je ex neg ax ex: push ax mov ah,9 lea dx,crlf int 21h pop ax ret IntegerIn endp start: mov Ax,d mov Ds,Ax mov Ah,9 lea Dx,MSG int 21h call IntegerIN mov N,Ax mov Cx,N xor Si,Si K: push Cx push Si call IntegerIN pop Si pop Cx mov A[Si],Ax add Si,2 loop K mov cx, N lea di, A next: push cx mov ax, N sub ax, cx shl ax, 1 lea si, A add si, ax mov ax, word ptr [di] next2: mov dx, word ptr [si] cmp dx, ax jnl next3 mov word ptr [si], ax mov word ptr [di], dx mov ax, dx next3: add si, 2 loop next2 add di, 2 pop cx loop next exit: mov Cx,N xor Si,Si ; Очистка регистра K2: push Cx push Si mov Ax, A[Si] call IntegerOut; pop Si pop Cx add Si,2 loop K2 mov Ah,4ch; int 21h c ends end start |
![]() |
![]() |
![]() |
#2 | |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
Настенька..Блонди
При оформлении темы используй теги "код" (#) Цитата:
Код:
Код:
Последний раз редактировалось Mikl___; 23.01.2010 в 13:22. |
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 02.04.2008
Сообщений: 358
|
![]()
может нужно просто com программу?
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666 mail: airyashov(а)inbox.ru Последний раз редактировалось airyashov; 23.01.2010 в 16:12. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
одномерный массив | Алиночка))) | Фриланс | 12 | 25.01.2010 15:00 |
Одномерный массив! в С++ | Jereme | Помощь студентам | 1 | 14.01.2010 22:55 |
Одномерный массив. Q basic - Построить новый массив из элементов исходного ,которые больше P. | Marishkaa | Помощь студентам | 2 | 12.01.2010 16:54 |
Двумерный массив, одномерный массив. | Branbal | Помощь студентам | 14 | 18.11.2009 12:40 |
одномерный массив | curly182 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 16.05.2009 15:01 |