![]() |
|
|
![]()
|
|
| 29demon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 12.6.2013 Репутация: нет Всего: нет |
Прошу разъяснить принцип работы программы.
Программа преобразует 4-х разрядное двоичное число в шестнадцатeричное
|
|||
|
||||
| LeonidPr |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 17.2.2012 Где: г. Чебоксары Репутация: нет Всего: 1 |
Принцип простой - вводятся 4 символа 0 или 1 (двоичное число), на лету вводимая строка преобразуется в двоичное представление в регистре DL. После этого полученное число сравнивается с 10, если меньше, то к нему прибавляется код символа '0', если больше или равно то код символа 'A'-10. Полученный символ выводится на экран.
--------------------
pkunzip.zip |
|||
|
||||
| Maarriiaa |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 21.3.2014 Репутация: нет Всего: нет |
здравствуйте. подскажите пожалуйста, в чем ошибка?
вот программа, которая подсчитывает количество единиц в двоичной записи числа mov ax,1101 start: mov dx,1 mov cx,2 mrp: push ax and ax,1 cmp ax,1 ;сравниваем с 1 jne msk ;переходим к мск если два числа не равны inc dx ;увеличиваем содержимое памяти на 1 msk: pop ax shr ax,1 ; сдвигаем на 1 вправо loop mrp mov ax,1 int 0x80 но на выходе всегда 0 . Что не так? |
|||
|
||||
![]()
|
| Правила форума "Asm для начинающих" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm для начинающих | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |