m12 wrote:dozniak wrote:Can you show byte-by-byte hex dump of what e820 returns? (Assuming you are able to write byte printing function)
You're assuming quite a bit. I don't think he knows what it is.
Thank you
m12, you were really helpful here. I know what a hex dump is and I already posted it once (which I only seperated with spaces where I first thought qwords were) altough it was 24 bytes in length! (But in my function I was increasing destination source register by 24, so entries shouldn't be that much off. I mean first 20 bytes are the same, right? E820h function does not really "care" about ds, it only "cares" about bx value - well, not only about bx, but you should understand what I meant). Than you all were telling me to use little endian encoding while no-one mentioned how to reverse entries: as a whole or as qwords. I also edited MM generation function to use returned CL as a size for each entry and not 24 bytes as previously specified by me. There is not really neccessary for you to insult me, you know. Sure, I just turned 18 (3 weeks ago). Sure I am not learning programming on any programming school (I am at general high school, or secondary school, don't know how is it more proper to say, one of the best in my country) which unfortunately does not cover this topic, only some Microsoft Office Word, PP, Excel and Access crap (and some very basic HTML structures - actually only how to edit existing templates downloaded from the internet). So yea, I've learnt PHP, HTML (& CSS2.1) and C++ to a quite high degree myself and lately (in the passed 1-2 months) I have also being learning Assembly. I did successfully completed the first stage of bootloader for FAT32 (USB) drive (and I do not mean only copy&pasting it - I did made some mistakes in it, you can find my questions about it here, but neverthless, it is completed now), which can load a file from FAT 32 Byte Directory Entry Structure (I guess only up to 480KB in size - Yes, I load it in 0x00007E00 address which is only 480.5KB in size) and pass control to it. I have also programmed some other, different kinds of testing stuff to get more accustumed to assembly (also number printing function for numbers higher than 9 and as you can see also in hex number - hex printing even displays numbers in even format - adds preleading zero). I am only not yet that familiar with x86 & x64 architectures, so just correct me if I am wrong, no need to insult me (I am also not a native english speaker, so I DO confuse some explaination and misunderstand others).
Anyway, will return here tomorrow (I have to continue preparing myself for examination which I have tomorrow, so I only came online to check emails and check responses here, because I got alerted by mail notification).
Regards.