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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2009, 17:36   #1
zmaxon
 
Регистрация: 06.12.2009
Сообщений: 5
По умолчанию вывод числа из ax, не получается вывести большое число

Вообщем в bx трёх-четырёх-пяти-значное, вообщем большое, число
ен получается вывести на экран

пытаюсь вот так

Код:
mov ax,bx 	; в bx кол-во букв
	mov bl,10	; 
	div bl		; ax делим на bl
	mov bl,ah	; чтобы не потерять значение (младшая часть)

	mov ah,02
	add al,30h
	mov dl,al	; в dl - целая часть
	int 21h

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

если интересно, код всей программы

Код:
	.model small
	.stack 400h
	.data
str1 db 80,70 dup ('$')
endl db  0Dh,0Ah,'$'
	.code
start:
	mov ax,@data
	mov ds,ax

	mov ah,0ah
	lea dx,[str1]
	int 21h
	
	mov ah,09h
	lea dx,[endl]
	int 21h
		
	xor ax, ax
	mov al, [str1+1]
	add si, ax
	dec si

cycle:
	jcxz ex
	dec cx
	
	mov ah, 'a'
	cmp [ds:si], ah
	je found

	dec si
	jmp cycle

found:
	inc bx
	dec si
	jmp cycle
ex:

	mov ax,bx
	mov bl,10
	div bl
	mov bl,ah

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

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

	mov ax,4c00h
	int 21h
	end start
Заранее спасибо за помощь
zmaxon вне форума Ответить с цитированием
Старый 06.12.2009, 17:42   #2
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

ax - 16 битный регистр, максимальное число которое можно в него положить
65534
NiCola999 вне форума Ответить с цитированием
Старый 06.12.2009, 19:10   #3
zmaxon
 
Регистрация: 06.12.2009
Сообщений: 5
По умолчанию

ну это понятно, это не противоречит условию, сказал 5-ти значное..

как вот вывести только число > 2-х разрядов.. я же поразрядно вывожу..
zmaxon вне форума Ответить с цитированием
Старый 07.12.2009, 00:09   #4
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Почитайте - http://forum.vingrad.ru/faq/topic-15...вод-числа.html
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
дано трехзначное число.вывести число,полученное при перестановки цифр десятков и сотен исходдного числа. Kenny_mackormik Помощь студентам 7 12.03.2009 15:18
Вывести число, предшествующее первому отрицательному и число, следующее за последним отрицательным Rid Паскаль, Turbo Pascal, PascalABC.NET 4 22.12.2008 16:50
Найти и вывести все слова,у котоpых число гласных букв пpевышает число согласных. Briz Помощь студентам 2 11.05.2008 00:56
Сколь угодно большое целое число 1nd1g0k1d Общие вопросы C/C++ 3 29.02.2008 18:15
Не получается вывести график RECREATOR Общие вопросы Delphi 7 23.12.2007 01:23