|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.07.2015, 18:28 | #11 | |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
серьезное обсуждение старшего бита.
Цитата:
|
|
19.07.2015, 19:03 | #12 |
Форумчанин
Регистрация: 01.06.2015
Сообщений: 497
|
Может я немного не понял вопросов автора темы, но если число 0AA1Dh уже записано в регистр AX:
Код:
Это мы сами должны представлять какое число туда было записано, и в зависимости от этого работать с ним как со знаковым или как с беззнаковым.
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).
|
19.07.2015, 19:51 | #13 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
А если не записано? Что запись делает с числом такого интересного?
И, да, вопрос ТС был про само число в записи, а не после или вместо записи. Просто почему автор исходника имел право в комента указать, что 0AA1Dh = -21987. |
19.07.2015, 20:23 | #14 |
Форумчанин
Регистрация: 01.06.2015
Сообщений: 497
|
Ничего не делает, это я и хотел объяснить.
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).
|
19.07.2015, 20:56 | #15 |
Новичок
Джуниор
Регистрация: 19.07.2015
Сообщений: 7
|
То есть нету никакого правила, автор сам определяет там положительное или отрицательное?
Может кто то подсказать на примере, и может есть более простой способ расчета? Расчитать значение BX после выполнения команд: Код:
-21978 =10101010 00011101 rez: 00001101 = 0E? 2) CF= 0; JB не срабатывает. 3) dec bl = OE - 1 = 0D ax = AA1D bx= 040D; 4)sub bx, ax = 040D - AA1D BX = 59F0? |
19.07.2015, 22:25 | #16 |
Форумчанин
Регистрация: 01.06.2015
Сообщений: 497
|
Код:
Не путайте BX с BL и AX с AL.
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).
Последний раз редактировалось Krasiosoft; 19.07.2015 в 22:29. |
20.07.2015, 12:22 | #17 | |
Новичок
Джуниор
Регистрация: 19.07.2015
Сообщений: 7
|
Цитата:
|
|
20.07.2015, 17:13 | #18 |
Форумчанин
Регистрация: 01.06.2015
Сообщений: 497
|
Не совсем, просто скопировал код и проверил в отладчике что будет происходить
Но можно и без этого, тут ничего сложного нет: 1) 10h - 1Dh = F3h 2) AAh << 1 = 1010 1010b << 1 = 0101 0100b = 54h 3) 4DF3h - 541Dh = F9D6h Отнимать и добавлять можно в столбик. CF устанавливается при заеме тоже, если это операция вычитания.
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).
Последний раз редактировалось Krasiosoft; 20.07.2015 в 17:24. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Побитовые операции | V_I_P | Общие вопросы C/C++ | 5 | 15.10.2013 22:07 |
Операции с массивами C++ | Caspar Fray | Помощь студентам | 2 | 15.10.2013 16:03 |
Битовые операции | WizarD.89 | Общие вопросы C/C++ | 5 | 23.11.2012 16:40 |
Побитовые операции С++ | Pein95 | Общие вопросы C/C++ | 3 | 19.11.2012 14:48 |
8-ми битные знаковые регистры. Их сравнение. | Tronix | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 5 | 01.09.2010 22:03 |