Scope (\_SB.PCI0.PEG0.PEGP) { OperationRegion (VBOR, SystemMemory, 0x7AE01018, 0x00040004) Field (VBOR, DWordAcc, Lock, Preserve) { RVBS, 32, VBS1, 262144, VBS2, 262144, VBS3, 262144, VBS4, 262144, VBS5, 262144, VBS6, 262144, VBS7, 262144, VBS8, 262144 } } ... Method (_ROM, 2, Serialized) // _ROM: Read-Only Memory { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler Local0 = Arg0 Local1 = Arg1 Name (VROM, Buffer (Local1) { 0x00 /* . */ }) If (Local1 > 0x1000) { Local1 = 0x1000 } If (Arg0 > RVBS) { Return (VROM) /* \_SB_.PCI0.PEG0.PEGP._ROM.VROM */ } Local2 = (Arg0 + Arg1) If (Local2 > RVBS) { Local1 = (RVBS - Local0) } Divide (Local0, 0x8000, Local3, Local4) While (One) { _T_0 = Local4 If (_T_0 == Zero) { Local5 = \_SB.PCI0.PEG0.PEGP.VBS1 } ElseIf (_T_0 == One) { Local5 = \_SB.PCI0.PEG0.PEGP.VBS2 } ElseIf (_T_0 == 0x02) { Local5 = \_SB.PCI0.PEG0.PEGP.VBS3 } ElseIf (_T_0 == 0x03) { Local5 = \_SB.PCI0.PEG0.PEGP.VBS4 } ElseIf (_T_0 == 0x04) { Local5 = \_SB.PCI0.PEG0.PEGP.VBS5 } ElseIf (_T_0 == 0x05) { Local5 = \_SB.PCI0.PEG0.PEGP.VBS6 } ElseIf (_T_0 == 0x06) { Local5 = \_SB.PCI0.PEG0.PEGP.VBS7 } ElseIf (_T_0 == 0x07) { Local5 = \_SB.PCI0.PEG0.PEGP.VBS8 } Break } Local4 *= 0x8000 Local0 -= Local4 Mid (Local5, Local0, Local1, VROM) /* \_SB_.PCI0.PEG0.PEGP._ROM.VROM */ Return (VROM) /* \_SB_.PCI0.PEG0.PEGP._ROM.VROM */ }