Вопрос № 101966: Здрвствуйте господа программисты!!!
Меня, как новичка в этом деле (MASM - пока тёмный лес) , подскажите, как число превратить в строку, Вот пример чаво нуно:
И ещё с вычитанием вроде для меня всё ясно, хотелось бы разобраться с делением.
...
Вопрос № 101.966
Здрвствуйте господа программисты!!!
Меня, как новичка в этом деле (MASM - пока тёмный лес) , подскажите, как число превратить в строку, Вот пример чаво нуно:
И ещё с вычитанием вроде для меня всё ясно, хотелось бы разобраться с делением.
----------------
Заранее благодарен хоть за какую нибудь инфу, Новак Алесандр
PS.:Я понимаю что копать книги нуннно, пока времени нини %-)
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Новак Александр Васильевич!
Ваш код на ассемблере:
.text
;вызываем GlobalMemoryStatus
push offset MS
call GlobalMemoryStatus
;начинаем формировать параметры
mov eax,MS.dwTotalPhys
sub eax,MS.dwAvailPhys
;eax=MS.dwTotalPhys-MS.dwAvailPhys
mov ebx,1048576
xor edx,edx
div ebx
;eax=eax div ebx
;edx=eax mod ebx
mov edi,offset _str+13;в конец строки
;10 байтов - для максимального числа 4,294,967,295
;1 байт-завершающий 0
;1 байт коррекция на первую команду dec edi
;1 байт резерв
mov ebx,10;будем делить на 10
mov dl,bh;завершающий ноль
create_str:
dec edi;следующий байт
mov [edi],dl;записываем
or eax,eax;проверяем число
jz create_stop;закончилось число выход
xor edx,edx
div ebx;получаем остаток от деления
or dl,30h;превращаем число в символ
jmp short create_str
create_stop:
;edi=адрес начала строки
.data
_str db 12 dup(?)
Удачи!
--------- И только наступив на грабли мы приобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Специалист)
Ответ отправлен: 14.09.2007, 14:28 Оценка за ответ: 5 Комментарий оценки: Ещё не вовсём разабрался но кое что уже заработало, ВОБЩЕМ ПАССИББО