Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.03.2008, 20:04   #1
jenja
Пользователь
 
Регистрация: 27.02.2008
Сообщений: 22
По умолчанию Несколько вопросов по командам ассемблера.

Как работают команды sgdt, sidt, scas/scab/scasd/, sbb. Какой у них синтаксис?

Последний раз редактировалось Stilet; 07.03.2008 в 10:32.
jenja вне форума Ответить с цитированием
Старый 06.03.2008, 20:22   #2
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

А при чем здесь TD??

SGDT, SIDT - грузят по указанному адресу содержимое регистров-указателей GDT и IDT соответственно .

SCASB/SCASW/SCASD сравнивают содержимое AL/AX/EAX с памятью того же размера по адресу ES:[E]DI

SBB - вычитание с заемом CF-флага. Операнды такие же, как и у всей арифметики - регистр/регистр, регистр/константа, регистр/память и т.д.
B_N вне форума Ответить с цитированием
Старый 06.03.2008, 20:28   #3
jenja
Пользователь
 
Регистрация: 27.02.2008
Сообщений: 22
По умолчанию

Что за флаги, я не понимаю этого.
jenja вне форума Ответить с цитированием
Старый 06.03.2008, 20:29   #4
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

см.

http://tesis.infotecstt.ru/docs/inte...ml/index.htm#2
alexBlack вне форума Ответить с цитированием
Старый 06.03.2008, 20:34   #5
jenja
Пользователь
 
Регистрация: 27.02.2008
Сообщений: 22
По умолчанию

вот, например сложение
mov ax,7
mov bx,2
add bx,ax
int 3


А как выпоняются те команды.
jenja вне форума Ответить с цитированием
Старый 06.03.2008, 20:47   #6
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

чтобы понять как работает sgdt нужно прочитать как минимум половину руководства по архитектуре процессора.
Если возникает вопрос про флаги процессора, то с них и нужно начинать. Посмотри для чего нужен регистр флагов.
alexBlack вне форума Ответить с цитированием
Старый 06.03.2008, 20:52   #7
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

jenja, совершенно согласен с alexBlack. Не в обиду будет сказано, но тому, кто не знает о флагах, трудно сходу объяснить, что такое глобальная таблицы дескрипторов сегментов или дескрипторов прерываний. Строковые инструкции работают без параметров, они предусмотрены заранее архитектурой микропроцессора, SIDT, например, вот так:

Код:
			LEA		EAX, DWORD PTR buf
			SIDT	[EAX]
			LEA		EBX, DWORD PTR buf
			MOV		AX, WORD PTR [EBX]
			MOV		WORD PTR Limit, AX
			MOV		EAX, [EBX+2]
			MOV		DWORD PTR pGates, EAX
B_N вне форума Ответить с цитированием
Старый 07.03.2008, 10:00   #8
jenja
Пользователь
 
Регистрация: 27.02.2008
Сообщений: 22
По умолчанию

Причитала, но все равно толком не поняла, что такое флаг...
jenja вне форума Ответить с цитированием
Старый 07.03.2008, 10:30   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Флаг - это один бит специального регистра, который сигнализирует некоторым командам о том как им нужно действовать. К таким командам относятся команды JmpXXX и др.

Читать Абеля, или любую другую книгу.
Тему переношу в Ассемблер
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.03.2008, 13:54   #10
jenja
Пользователь
 
Регистрация: 27.02.2008
Сообщений: 22
По умолчанию

у меня в спрвочнике про каманду SIDT написано так:

Код:
.286
;структура для описания псевдодескрипторов gdtr и idtr
point   STRUC
lim     dw      0
adr     dd      0
        ENDS
.data
point_idt       point   
.code
...
;читаем содержимое idtr
        sidt    point_idt
...
это что одно и тоже, что написал B_N?

Последний раз редактировалось rpy3uH; 12.03.2008 в 19:49.
jenja вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Несколько вопросов Зубоскалик Общие вопросы Delphi 14 20.11.2008 14:28
Несколько вопросов по VBA Graveyard Microsoft Office Excel 6 27.08.2008 08:50
Код и несколько вопросов artemavd Общие вопросы Delphi 18 20.08.2008 10:51
несколько вопросов по RichEdit TaTT DoGG Компоненты Delphi 4 27.05.2008 10:57
Несколько Вопросов Дорст Общие вопросы Delphi 3 12.11.2007 09:18