Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2012, 20:56   #1
yura_zb
Пользователь
 
Аватар для yura_zb
 
Регистрация: 15.02.2011
Сообщений: 41
По умолчанию Проблема с виводом масива чиссел

Код:
data segment para public 'data'
	new_line db '',0ah,'$'
	Text_vvid db 'Vvedit dani:',0ah,'$'
	Text_result db	'Result: $'
	Error_Mess db 08h,07h,'$'
	Point db ',$'
	mas dw 10 dup(0)
data ends

stk segment Stack 'stack'
	db 100h dup (?)
	
stk ends

code segment para public 'code'
.486
main proc
	assume cs:code, ds:data, ss:stk	
	mov	ax,data
	mov	ds,ax
	

	mov ah, 09h
	lea dx, Text_vvid
	int 21h
	
	call is_digit
	mov mas[0], bx
	call is_digit
	mov mas[1], bx
	
	
	mov ax, mas[0]
	call print


exit:
	mov ax, 4c00h
	int 21h
	
is_digit proc
	MOV	AH,	0Ch		;Номер функции 0Ch
	MOV	AL,	01h		
	int 21h
	cmp al, ' '
	jz exit_digit
	cmp al, 2fh
	jl error_digit
	cmp al, 3Ah	
	jl ok	

error_digit:
	mov ah, 09h
	mov dx, offset Error_Mess
	int 21h
	jmp is_digit
	
ok:		
	sub al,30h	
	xor ah, ah
	xchg ax,bx
    mov dx,0Ah  
    mul dx
	add bx,ax
	jmp is_digit
	
exit_digit:
	ret
endp		

print proc
	push	-1		; Зберігаємо кінець стеку
	mov	bx, 10		; Число ділим на 10
l:	xor dx, dx		; Обнуляєм регістр dx
	div	bx			; Ділимо результат на 10
	push	dx		; Зберігаємо число
	cmp	ax, 0		; Перевіряємо чи не 0
	jne	l	
	
	mov	ah, 2h	
l2:	pop	dx			; Відновлюємо цифру
	cmp	dx,-1		; Якщо кінець виділеного місця в стеку
	je	exit_print
	add	dl,'0'	
	int	21h			; Виводимо цифру на екран
	jmp	l2

exit_print:
	ret
print endp

code ends
end main
Когда я ввожу один елемент масив все виводитса нормально, но когда 2 и болие тогда виводятса непонятно какие значения???
yura_zb вне форума Ответить с цитированием
Старый 27.11.2012, 21:00   #2
yura_zb
Пользователь
 
Аватар для yura_zb
 
Регистрация: 15.02.2011
Сообщений: 41
По умолчанию

кто что скажет????

Последний раз редактировалось yura_zb; 27.11.2012 в 21:36.
yura_zb вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Access проблема с виводом полей crowin Помощь студентам 1 13.07.2012 22:57
Обработка масива(С) Yura04UA Помощь студентам 2 13.12.2011 11:54
Проблема с функциями(передача масива в функцию типа int) sekator Общие вопросы C/C++ 4 27.07.2010 22:13
4 масива Slavik Microsoft Office Excel 2 03.12.2008 21:21
Сортировка масива lhOsvald Общие вопросы C/C++ 21 02.05.2008 00:28