Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Команда AAA и флаг AF
 
 автор: Kano   (23.02.2009 в 12:14)   письмо автору
 
 

Например, есть 2 цифры десятично-двоичных чисел: 9h и 8h. Складываю их:

format binary    
use16    
org 100h    
MOV AL, 9h    
ADD AL, 8h ; 9 + 8 = 17 (11h)    
XOR AH, AH    
AAA    
INT 20h    


После сложения по идее должно измениться значение флага AF на "1". Вот это не могу проверить - работаю в отладчике TD и не вижу где можно значение этого флага посмотреть :(

После AAA в теории должно получиться так: AH = 1h, AL = 7h, т.е. AX = 0x0107h, верно? Но выходит, что AX = 0x0001h - такое поведение, словно флаг AF был равен нулю перед применением AAA! Подскажите, пожалуйста, где же ошибка.

  Ответить  
 
 автор: BinLaden   (23.02.2009 в 12:24)   письмо автору
 
   для: Kano   (23.02.2009 в 12:14)
 

XOR AH, AH => MOV AH, 0

  Ответить  
 
 автор: Trianon   (23.02.2009 в 13:02)   письмо автору
 
   для: Kano   (23.02.2009 в 12:14)
 

Перенесите XOR строкой выше.
Эта команда может менять состояние флага AF, отсюда и ошибка.
Либо замените её командой MOV AH, 0

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования