Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Ассемблер? Это просто! Учимся программировать


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler (Ассемблер)

Выпуск № 856
от 19.09.2007, 20:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 383, Экспертов: 27
В номере:Вопросов: 1, Ответов: 1


Вопрос № 101966: Здрвствуйте господа программисты!!! Меня, как новичка в этом деле (MASM - пока тёмный лес) , подскажите, как число превратить в строку, Вот пример чаво нуно: И ещё с вычитанием вроде для меня всё ясно, хотелось бы разобраться с делением. ...

Вопрос № 101.966
Здрвствуйте господа программисты!!!
Меня, как новичка в этом деле (MASM - пока тёмный лес) , подскажите, как число превратить в строку, Вот пример чаво нуно:
И ещё с вычитанием вроде для меня всё ясно, хотелось бы разобраться с делением.
----------------
Заранее благодарен хоть за какую нибудь инфу, Новак Алесандр
PS.:Я понимаю что копать книги нуннно, пока времени нини %-)

Приложение:

Отправлен: 13.09.2007, 20:40
Вопрос задал: Новак Александр Васильевич (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Зенченко Константин Николаевич
Здравствуйте, Новак Александр Васильевич!

Ваш код на ассемблере:
.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
Комментарий оценки:
Ещё не вовсём разабрался но кое что уже заработало, ВОБЩЕМ ПАССИББО


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.59 от 18.09.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное