# 80×86 Architecture: Windows Virtual Device Driver

Assembler code

```
ICOD:C001A45F
ICOD:C001A45F loc_C001A45F:                           ; CODE XREF: Locate_Byte_In_ROM+D↑j
ICOD:C001A45F                 xor     esi, esi
ICOD:C001A461                 mov     edi, offset aSystemrombreak ; "SystemRomBreakPoint"
ICOD:C001A466                 VMMCall Get_Profile_Boolean
ICOD:C001A46C                 test    eax, eax
ICOD:C001A46E                 jz      short loc_C001A495
ICOD:C001A470                 mov     al, 73h ; 's'
ICOD:C001A472                 VMMCall Get_Debug_Options
ICOD:C001A478                 jz      short loc_C001A495
ICOD:C001A47A                 mov     edi, 0FFFEFh
ICOD:C001A47F                 mov     ecx, 3FF0h
ICOD:C001A484                 mov     eax, [esp+20h+var_4]
ICOD:C001A488                 std
ICOD:C001A489                 repne scasb
ICOD:C001A48B                 jnz     short loc_C001A495
ICOD:C001A48D                 inc     edi
ICOD:C001A48E                 mov     [esp+20h+var_4], edi
ICOD:C001A492                 clc
ICOD:C001A493                 jmp     short loc_C001A496
ICOD:C001A495 ; ---------------------------------------------------------------------------
ICOD:C001A495
ICOD:C001A495 loc_C001A495:                           ; CODE XREF: Locate_Byte_In_ROM+23↑j
ICOD:C001A495                                         ; Locate_Byte_In_ROM+2D↑j ...
ICOD:C001A495                 stc
ICOD:C001A496
ICOD:C001A496 loc_C001A496:                           ; CODE XREF: Locate_Byte_In_ROM+48↑j
ICOD:C001A496                 cld
ICOD:C001A497                 popa
ICOD:C001A498                 retn
ICOD:C001A498 Locate_Byte_In_ROM endp
ICOD:C001A498
ICOD:C001A499 ; ---------------------------------------------------------------------------
ICOD:C001A499
ICOD:C001A499 loc_C001A499:                           ; CODE XREF: start+756↓p
ICOD:C001A499                 push    ebx

```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.hex-rays.com/ida-9.2/user-guide/disassembler/disassembly-gallery/80-86-architecture-windows-virtual-device-driver.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
