Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler
Регистрация

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

Ответ
 
Опции темы
Старый 03.03.2009, 00:41   #1
frankfish
 
Регистрация: 03.03.2009
Адрес: Украина, Винница
Сообщений: 3
Репутация: 10

icq: 441532577
По умолчанию Форматированный вывод чисел

прога всё правильно делает, но выводит результаты в формате 4 знаков,
тоисть ввожу например 5, потом 8, вывод 0028, а нада 28
вопрос: как избавиться от этих лишних нулей?
знаю что нада шо-то изменить в этой процедуре
Код:

BintoHex Proc
	mov cx,4
m:
	mov si,ax
	and si,1111b	
	mov dl,StrHex[si]
	dec bx
	mov [bx],dl
	Shr ax,4
	dec cx
	jnz m
	ret 
BintoHex EndP
не заю что?
помогите плиз
вот целый код:
.MODEL small
.STACK 100h
.DATA
str1 DB 53 DUP(?)
str2 DB 53 DUP(?)
strRez DB 53 DUP(?)

Strhex DB '0123456789ABCDEF'

Num1 DW 0
Num2 DW 0

CodeNewLine DB 13,10,'$'
.CODE
	mov ax,@data 
	mov ds,ax
	
	mov dx, offset str1
	call ReadStr
	call NewLine
	call AsciiToBin
	mov Num1,ax
	
	mov dx,offset str2
 	 call ReadStr
	call NewLine
	call AsciiToBin 
	mov Num2,ax
	
	mul Num1 

	mov bx,offset StrRez +50
	mov byte ptr [bx],'$'
	 call BintoHex
	mov dx,bx
         call WriteStr
 	 call NewLine
	


ReadStr Proc
	mov bx,dx
	mov al,51
	mov [bx],al
	mov ah,0Ah
	int 21h
	mov cl,[bx]+1
	ret
ReadStr EndP

AsciiToBin Proc;	вхід 	вх-адреса початку рядка символів
                         ; 		cl-кількість символів 
	         ; 	вихід 	ах -одержане число 
	mov ax, 0
	mov si, 10
	mov dx, 0
	mov ch, 0
MulLoop:
	mul	si
	mov	dl, [bx]+2
	sub	dl, 30h
	add	ax, dx
	inc	bx
	dec	cl
	jnz	MulLoop	
	ret
AsciiToBin ENDP

BintoHex Proc
	mov cx,4
m:
	mov si,ax
	and si,1111b	
	mov dl,StrHex[si]
	dec bx
	mov [bx],dl
	Shr ax,4
	dec cx
	jnz m
	ret 
BintoHex EndP

WriteStr Proc
	mov ah,9
	int 21h
	ret
	WriteStr Endp

NewLine Proc
	mov dx, Offset CodeNewLine 
	mov ah,9
	int 21h
	ret
	Newline Endp

	mov ah,4ch
	int 21h
	END


Последний раз редактировалось rpy3uH; 03.03.2009 в 09:38.
frankfish вне форума   Ответить с цитированием
Старый 04.03.2009, 18:59   #2
frankfish
 
Регистрация: 03.03.2009
Адрес: Украина, Винница
Сообщений: 3
Репутация: 10

icq: 441532577
По умолчанию

уже не нада
frankfish вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форматированный вывод в Delphi7 Sanguineus Общие вопросы Delphi 5 24.05.2011 10:13
Форматированный вывод информации в поле ввода (TEdit или подобные) vet_coder Компоненты Delphi 3 13.12.2007 11:55
Вывод целых и десятичных чисел Maycal Общие вопросы C/C++ 2 24.10.2007 12:34


08:11.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru