![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 | |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
![]()
серьезное обсуждение старшего бита.
Цитата:
|
|
![]() |
![]() |
![]() |
#12 |
Форумчанин
Регистрация: 01.06.2015
Сообщений: 497
|
![]()
Может я немного не понял вопросов автора темы, но если число 0AA1Dh уже записано в регистр AX:
Код:
Это мы сами должны представлять какое число туда было записано, и в зависимости от этого работать с ним как со знаковым или как с беззнаковым.
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).
|
![]() |
![]() |
![]() |
#13 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,830
|
![]()
А если не записано? Что запись делает с числом такого интересного?
И, да, вопрос ТС был про само число в записи, а не после или вместо записи. Просто почему автор исходника имел право в комента указать, что 0AA1Dh = -21987. |
![]() |
![]() |
![]() |
#14 |
Форумчанин
Регистрация: 01.06.2015
Сообщений: 497
|
![]()
Ничего не делает, это я и хотел объяснить.
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).
|
![]() |
![]() |
![]() |
#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? |
![]() |
![]() |
![]() |
#16 |
Форумчанин
Регистрация: 01.06.2015
Сообщений: 497
|
![]() Код:
Не путайте BX с BL и AX с AL.
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).
Последний раз редактировалось Krasiosoft; 19.07.2015 в 22:29. |
![]() |
![]() |
![]() |
#17 | |
Новичок
Джуниор
Регистрация: 19.07.2015
Сообщений: 7
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#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 |