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

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

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

> перевод из 10ричной системы, есть ошибки
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 34
Пол: Мужской

Репутация: -  0  +


программка переводит из 10ричной системы в 16,8,2ичные...кроме ответов на экран выводятся символы какие-то и после вывода не выходит сразу...Где-т ошибка sad.gif((
может кто-нибудь помочь с комментариями к этой программке rolleyes.gif ,т.к. в ассемблере я новичок,понятно,но н все - есть сомнения

.model tiny
.code
org 100h
start:

mov ax,6219
push ax
push ax

mov bx,16
lea si,string
call IntToStr
mov ah,9
lea dx,string
int 21h

pop ax
mov bx,8
lea si,string
call IntToStr
mov ah,9
lea dx,Break
int 21h

pop ax
mov bx,2
lea si,string
call IntToStr
mov ah,9
lea dx,Break
int 21h


mov ah,8
int 21h
ret
Break db 13,10
string db 64 dup('$')

IntToStr proc
;IN:
;ESI = address of the string to output the number
;EAX = nubmer to convert to string
;EBX = scale of notation
;
;OUT:
;number, converted to string at address, passed in ESI
;EBX = 0 if Error

;check scale of notation
cmp bx,9+26;9 digits and 26 letters
jae its_out_of_range

push dx
push di
push cx

its_sgn_plus:
xor cx,cx
mov di,si
its_repeat:
xor dx,dx
div bx
cmp dl,10
jge its_letter
add dl,30h
jmp its_notletter
its_letter:
add dl,41h-10
its_notletter:
mov byte ptr [di],dl
inc cx
inc di
test ax,ax
jne its_repeat

push cx
shr cx,1
jnc $+3
inc cx

its_invert_order:
dec di
mov dl,byte ptr [di]
mov al,byte ptr [si]
mov byte ptr [si],dl
mov byte ptr [di],al
inc si
dec cx ;loop its_invert_order
jnz its_invert_order
pop cx

pop cx
pop di
pop dx
ret

its_out_of_range:
xor bx,bx ;EBX = 0 if Error
ret

IntToStr endp
end start
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 34
Пол: Мужской

Репутация: -  0  +


но все-же...зачем после каждой строки с результатом(после 16рич,8,2...) идет строчки непонятных символов...
и после вывода результата,когда нажимаю на клавишу - не выходит,опять идут строки...и не выходит вообще...=((((
реализовал через tasm
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 





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