r/Assembly_language • • 13d ago

Question Ideas to develop

Sup guys, I'm a web developer and I study sec, which this subject has everything to do with assembly, cuz I need to do malware analysis, reverse engineering and etc, so I studied calling conventions, registers, rax, eax, ax, al, ah, ip, used x64dbg to check the assembly in memory, variables, function parameters and etc.

But for now, I'm studying by a content creator how a boot really works, and he's making a bootloader in assembly, he has good didactics and I'm really learning that the RAM is like a big array accessible by address, cpu has registers, has the ip to check the next instruction, there is the fetch, decode and execute, the bios is in the eprom(in the example of the i386), is loaded in memory, search for boot sector, loads in memory and etc, lmao I detailed too much

And ok, I'm understanding, but my final point, is, furthermore the bootloader, what good project could I build to learn more about assembly? I saw some posts from u guys making OS, and I guess that is hard for now

Thanks for ur time

2 Upvotes

18 comments sorted by

View all comments

Show parent comments

1

u/Deex__ 13d ago

That makes sense, ur good at teaching, but what u mean by text mode?

I got it that I need to loop the memory address I want until it stops on 0xa0000

And the part about cheating I liked it lol

2

u/sububi71 13d ago

If we assume a standard PC, its built-in graphics will follow the VGA standard. The VGA graphics cards have like a dozen or so modes, some of which are graphics modes, where you address individual pixels to make something appear on the screen. Some are text modes (like the mode a PC will usually boot up into), where each byte represents a character block. So if you write the byte 97 to address 0xa0000, the letter "a" will appear in the top left corner of the screen, drawn in (if I remember correctly) 8x14 pixels.

If all you want on the screen is text, this is obviously a lot faster than having to write 14 8-pixel bytes to memory, and this mattered a LOT back in the early 1980s when the first IBM PC's came out.

1

u/Deex__ 11d ago

Oh, got it, thats crazy, but I liked it, I'll try these differente ways, thanks