understanding function calls in assembly files

Assembler programming questions
  • These functions are in kernel. They are imported into the driver (MS COFF format, or now recently, PE)
    Look at the files import.inc near the drivers, and exports.inc in kernel code.
    "Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein
  • How are they imported into the file so they are used in it? format MS COFF defines the output format, it doesn't import them right? Also the syntax of imports.inc is hard to undertsand I cannot tell what is this file for, and I cannot find exports.inc in kernel code.
  • http://websvn.kolibrios.org/filedetails ... xports.inc - there it is, core/exports.inc
    imports.inc is very simple, it's just an array of labels and addresses.
  • Should I search all the files in kernel directory to find this function? I searched in pci32.inc but nothing, my goal is to find the io base address and irq line of the rtl8029 network card so I can write my own driver, so please would you give me a hint on how can I find those functions so I can understand every thing? Is there a way to debug the boot process and track every thing that happens from boot until all drivers are ready, this would help understanding the boot process and how is every thing set up especially the network drivers.
  • Mohsen47 wrote:Should I search all the files in kernel directory to find this function? I searched in pci32.inc but nothing, my goal is to find the io base address and irq line of the rtl8029 network card so I can write my own driver, so please would you give me a hint on how can I find those functions so I can understand every thing? Is there a way to debug the boot process and track every thing that happens from boot until all drivers are ready, this would help understanding the boot process and how is every thing set up especially the network drivers.
    If you actually look at the files I pointed you to, you'll see that the name of the function in kernel is not always the same as the name that is used in the driver.
    In exports.inc, you'll find the line

    Code: Select all

    pci_read32,            'PciRead32',          \      ; stdcall
    The function in kernel is thus called 'pci_read32'.
    Now you can use a tool to search inside the contents of the file (windows search even can do this for you...)
    You will find 3 files now exports.inc, dll.inc and apic.inc. We know it's not in exports.inc
    "Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein
  • Who is online

    Users browsing this forum: No registered users and 0 guests