The MASM Forum

Projects => ObjAsm => Topic started by: HSE on August 08, 2022, 10:51:09 PM

Title: UEFI errors
Post by: HSE on August 08, 2022, 10:51:09 PM
Hi Biterider!

If you have made a table of strings, then is easy to access directly:
Code: (UefiGetErrStr_TX.inc) [Select]
align ALIGN_CODE
ProcName proc xErrCode:XWORD
  mov xdx, offset UefiErrTable
  .if xErrCode > 0
    mov xax, xErrCode
    and xax, 0FFh
    .if eax > UefiErrTableCount
        mov xax, $OfsCStr("Unknown error")
        ret
    .else 
        mov xcx, sizeof(DOM)
        mul xcx
        add xdx, xax
    .endif
  .endif
  mov xax, [xdx].DOM.pString
  ret
ProcName endp

HSE
Title: Re: UEFI errors
Post by: Biterider on August 09, 2022, 12:21:12 AM
Hi HSE
Good catch.  :thumbsup:
I did "copy & paste" without thinking too much.  :rolleyes:
I'll change it asap.

Biterider
Title: Re: UEFI errors
Post by: Biterider on August 09, 2022, 03:05:48 AM
Hi HSE
I further simplified the code (hoping that there won't be a gap in the error indexes in the future  :tongue:)
This is the new code and table.

Biterider
Title: Re: UEFI errors
Post by: HSE on August 09, 2022, 03:44:29 AM
Biterider,

I further simplified the code

 :thumbsup:

hoping that there won't be a gap in the error indexes in the future

No problem, a pointer to "unknown error" can be placed.  :biggrin:

HSE