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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2015, 21:13   #11
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Цитата:
Сообщение от vadimych Посмотреть сообщение
не стоит в качестве буфера использовать PSP.
..так вроде там DI не обнуляется (адрес начала PSP). Данные будут записываться в память с исходного значения DI, хотя согласен, что в посте spolyr есть доля правды.
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 05.06.2015, 21:48   #12
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

..чёт я совсем запутался - почему DI указывает на дно стека?!
Код:
use16
org 100h
jmp start

mess1   db  13,10,'Value registers SI/DI: $'

start:
   mov  dx,mess1
   mov  ah,9
   int  21h

   mov  ax,si
   mov  bx,16
   call convert

   mov  al,':'
   int  29h

   mov  ax,di
   mov  bx,16
   call convert

   xor  ax,ax
   int  16h
   mov  ax,4c00h
   int  21h

;--------------------------; функция перевода чисел в различные СС -----------------|
convert:
   xor  cx,cx
isDiv:
   xor  dx,dx
   div  bx
   push dx
   inc  cx
   or   ax,ax
   jnz  isDiv
isOut:
   pop  ax
   cmp  al,9
   jle  noHex
   add  al,7
noHex:
   add  al,30h
   int  29h
   loop isOut
ret  ;---------------------; выход из функции --------------------------------------|
Изображения
Тип файла: png di.png (2.4 Кб, 81 просмотров)
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 06.06.2015, 13:32   #13
spolyr
Пользователь
 
Регистрация: 30.03.2015
Сообщений: 17
По умолчанию

model tiny
dataseg
t db '123'

codeseg
.386
org 100h
begin:

mov si,offset t
call num
ret

num proc
xor ax,ax
cikl:
movsx bx,byte ptr [si]
sub bl,30h
cmp bl,10
jnb ex1
imul ax,10
add ax,bx
inc si
jmp cikl

ex1:
ret

endp

end begin

посмотри, идей от manhunter, переделал только на ax
а вообще коротко и ясно
spolyr вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа перевода арабских чисел в римские с++ Дана188 Помощь студентам 1 19.03.2015 10:28
Программа перевода чисел. super3994 C# (си шарп) 6 20.04.2012 19:13
Программа перевода чисел super3994 Фриланс 2 20.04.2012 17:47
Программа перевода чисел с плавающей запятой Veselyn Помощь студентам 4 03.01.2010 19:49
паскаль,программа для перевода чисел из 10-ой системы счисления в другую до10-ой Nikitaunett Помощь студентам 4 28.11.2009 20:06