| BOUND |
| Проверка на граници |
| Обща форма: |
BOUND source, limits |
| Форма |
КОП |
CPUID |
I8086 |
I80386 |
I80486 |
| 16 |
32 |
64 |
Alt |
|
I8086 |
I80386 |
I80486 |
| BOUND rb,mbb |
|
|
|
4C /r |
x86-64 |
|
18 |
11 |
| BOUND rw,mww |
62 /r |
66 62 /r |
|
4D /r |
x86-64 |
|
18 |
11 |
| BOUND rd,mdd |
66 62 /r |
62 /r |
|
4E /r |
x86-64 |
|
18 |
11 |
| BOUND rq, mqq |
|
|
|
4F /r |
x86-64 |
|
7 |
7 |
| BOUND rb,ib,ib |
|
|
|
91 /3 ib ib |
x86-64 |
|
18 |
11 |
| BOUND rw,iw,iw |
|
|
|
92 /3 iw iw |
x86-64 |
|
18 |
11 |
| BOUND rd,id,id |
|
|
|
93 /3 id id |
x86-64 |
|
18 |
11 |
| BOUND rq,iq,iq |
|
|
|
|
x86-64 |
|
18 |
11 |
| BOUND rb,0,ib |
|
|
|
94 /3 ib |
x86-64 |
|
18 |
11 |
| BOUND rw,0,ib |
|
|
|
95 /3 ib |
x86-64 |
|
18 |
11 |
| BOUND rd,0,ib |
|
|
|
96 /3 ib |
x86-64 |
|
18 |
11 |
| BOUND rw,0,iw |
|
|
|
97 /3 iw |
x86-64 |
|
18 |
11 |
| BOUND rd,0,iw |
|
|
|
98 /3 iw |
x86-64 |
|
18 |
11 |
| BOUND rd,0,id |
|
|
|
99 /3 id |
x86-64 |
|
18 |
11 |
|
| Действие |
IF (source < limits) OR (source > limits[1]) THEN #BR ENDIF |
| |
Инструкцията е предназначена за езици от високо ниво, които подобно на Pascal реализират ограничени типове данни и проверка на стойности и индекси по време на изпълнение. Тя проверява дали операндът е в зададените граници и ако не генерира изключение.
|
| Флагове |
| PE |
VM |
NT |
IOPL |
OF |
DF |
IF |
TF |
SF |
ZF |
AF |
PF |
CF |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| CPU |
| 8086 |
186 |
V20 |
286 |
386 |
486 |
P |
P-P |
P-II |
MMX |
SSE |
3D! |
E64 |
| |
• |
• |
• |
• |
• |
• |
• |
• |
|
|
|
— |
|
| Изключения |
ОБЩИ +
| Всички режими: |
| #UD |
Операнд limits е зададен в регистър |
| #BR |
Стойността на операнд source е извън границите, зададени с операнд limits |
|