Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game. |
| Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
 |
GNU/Linux Basic Guide
This 255-page guide will provide you with the keys to understand the philosophy of free software, teach you how to use and handle it, and give you the tools required to move easily in the world of GNU/Linux. Many users and administrators will be taking their first steps with this GNU/Linux Basic guide and it will show you how to approach and solve the problems you encounter.
Click Here to receive this Complete Guide absolutely free. |
|
 |
08-01-2007, 09:49 PM
|
#1
|
|
Senior Member
Registered: Jul 2004
Location: Phoenix, Arizona
Distribution: LFS-Version SVN-20091202, Arch 2009.08
Posts: 1,466
Rep:
|
16 bit assembly good for ?
Is 16 bit assembly used anymore except boot loaders. Is it still used for kernel development. Ive been looking around trying to learn assembly and its a bit confusing as there are 16bit 32bit and then diffrent syntax Intel at&t.
I would love to hear the thoughts of some of you that know this language.
|
|
|
|
08-02-2007, 01:06 AM
|
#2
|
|
Senior Member
Registered: Mar 2006
Posts: 1,896
Rep:
|
I can't claim to "know this language." I did do a very little 8086 assembler way back when, way before there was any talk of "32 bit." But from what I've read, I'm pretty sure it is not used in the kernel except for possibly very special cases of when the kernel is starting up or shutting down. (I have an old machine where I had to specify the kernel go into 16 bit, aka "real mode" before it turned the computer off. Otherwise, because of a BIOS limitation, the computer crashed instead of turning off!)
"Real mode" (a misnomer if ever there was one -- unreal mode would be more accurate!) is basically the old 8086 architecture. It is, IMHO, a horrible architecture that should never have been created. It is incapable of most of the things you take for granted, such as one process not being able to access another processes address space. And addressing is limited to 64K (yes, kilo) chunks defined by "segment registers." Study it if you like, but these days it is probably only used in these very limited circumstances.
|
|
|
|
08-02-2007, 07:58 AM
|
#3
|
|
Member
Registered: Nov 2006
Posts: 344
Rep:
|
I did quite a bit of assembly programming in the 8088 through 486 days. However, I don't really understand your question... Some of the directives to the assembler are different depending on who wrote it, but other than that it's all pretty much the same. Only *real* differences between 16-bit real mode and 32-bit protected mode is memory management. Unless you're writing the memory management code yourself, there's not much different to worry about anyways.
|
|
|
|
08-02-2007, 02:50 PM
|
#4
|
|
Senior Member
Registered: Jul 2004
Location: Phoenix, Arizona
Distribution: LFS-Version SVN-20091202, Arch 2009.08
Posts: 1,466
Original Poster
Rep:
|
Ahh thanks for the replies I found a really good reference and I see what you mean now about not bing much diffrent. I decided however to learn using NASM instead of gas however but they are basically the same thing anyway just diffrent way of setting variables.
|
|
|
|
08-03-2007, 01:30 PM
|
#5
|
|
Member
Registered: Jun 2004
Location: PA
Distribution: Fedora Core 8_x86 (latest git kernel)
Posts: 434
Rep:
|
16-bits is only used on startup for x86 (intel architecture), because the cpu starts up in real-mode. I think (?) when the kernel starts (when the bootloader jumps to the start address of the kernel) its in 32-bit.
|
|
|
|
| Thread Tools |
Search this Thread |
|
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -5. The time now is 02:53 AM.
|
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|