![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
t45t
Участник клуба
Регистрация: 20.03.2012
Сообщений: 1,849
|
![]()
эх, искал я эти алгоритмы перевода строки в число, не нашел для TASMa, если можете, то напишите в ручную код или киньте ссылку на код)) спасибо)
from dark to light)
|
![]() |
![]() |
![]() |
#12 |
Участник клуба
Регистрация: 30.07.2009
Сообщений: 1,601
|
![]()
Могу словесный алгоритм предложить. Возьмем число 5683. Это 4 байта. В зависимости от кодировки отнимаем код нуля, например 30h(Отнимает не от тройки, а от кода ASCII символа "3"). Символ три в компьютере представляется числом 33h. Итого в bx, например, у нас 3 или 00000011 в двоичной.
Регистр ax изначально ставим в 0. Умножаем bx на 10 в степени разряда(разряд нулевой) 10^0, прибавим к ax. AX=3 Переходим к первому разряду в числе 5683. Это 8. Отнимаем 30h, значение заносим в bx умножаем на 10 в степени разряда(1) получается 80. Прибавляем его к ax и получаем 83. AX = 83 Так с числами 6 и 5. 83+600 = 683 и 683+5000=5683 AX=5683 Последний раз редактировалось _PROGRAMM_; 07.09.2012 в 21:46. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Деление числа в ассемблере | Настя22 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 9 | 23.01.2011 13:12 |
как узнать выполняется ли bat файл? | wm_leviathan | Общие вопросы Delphi | 1 | 24.03.2010 11:32 |
помогите пожалуйста, задача с табуляцией, ошибка деление на 0.. как её убрать? | Валюшка | Помощь студентам | 3 | 20.01.2009 21:01 |
Деление на 0. Как обработать ошибку? | Bravo | Общие вопросы C/C++ | 7 | 22.10.2008 02:30 |
Как создать событие(которое выполняется в определённое время) | micaell | Общие вопросы Delphi | 5 | 13.12.2006 18:35 |