|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Янв 31, 2003 21:56:21 Здравствуйте. Вот подумалось, делать переход мона используя. Mov CX, ну пусть будет 2 )) Loop @@@1 Loop @@@2 Loop @@@3 Jmp exit @@@1: ... Jmp Exit @@@2: ... Jmp Exit @@@3: ... Jmp Exit @@@x: .. Exit: Или етот алгоритм стар как мир ? Если где он уже писался я невиноват )) |
|
|
Дата: Фев 1, 2003 04:43:31 Afaik: при CX != 1 будет выполнена команда Loop @@@1, при CX == 1 будет выполнена команда Loop @@@2. При каком значении CX будет выполнена команда Loop @@@3, ...? Микропроцессор i486. Книга IV. Справочник по системе команд. В.Л.Григогрьев - "Операнд команды LOOP должен находиться в диапазоне 128 байт перед командой или 127 байт после команды." - т.е. есть ограничение на количество кода между Loop @@@x и меткой @@@x. |
|
|
Дата: Фев 1, 2003 13:55:54 Подкину парочку извращений Насчет loop inc cx loop Label получается конструкция типа jncxz и по примеру ну скажем есть табличка по bx, а номер у нас в ax shl ax,1 add bx,ax push [bx] ret и нет ограничений loop Хотя и этот алгоритм стар как жизнь Андрей Бертыш А для 32-bit и вообще push [ebx+eax*4] ret |
|
|
Дата: Фев 1, 2003 21:26:33 · Поправил: myghost P2M Млин и точно не будет Loop @@@3 (( p.s. Человек не машина он может ошибаться. |
|
|
Дата: Фев 1, 2003 21:50:04 Хе а вот )) org 100h mov CX, 0004 loop @1 loop @2 loop @3 jmp endprog @1: mov ax,1 loop @2 jmp endprog @2: mov ax,2 loop @3 jmp endprog @3: mov ax,3 endprog: ret --- При СХ=0 Выполняются @1,@2,@3 При СХ=1 Выполняются @2,@3 При СХ=2 Выполняются @1 При СХ=3 Выполняются @1,@2 При СХ=4 Выполняются @1,@2,@3 При СХ=5 Выполняются @1,@2,@3 прога занимает 29байт Тока ето наврядли гдето пригодится. )) |
|
|
Дата: Фев 3, 2003 04:51:14 Imho для моделируемого Вами случая подойдет таблица с адресами переходов, т.е.: [code] ... tblOffset dw offset @1, offset @2, ... ... mov bx,index shl bx,1 ; можно добавить проверку на диапазон? jmp word ptr tblOffset[bx] @1: ... jmp endprog @2: ... jmp endprog ... endprog: ... [/code] |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.067 |