Jump to content
Sign in to follow this  
BigMoosie

Low level languages

Recommended Posts

I want to learn how to code right down to the nitty gritty, I mean what language would I use where I am handling binary values and memory addresses and such, I thought C would but that is a much higher level language than I was hoping. I think it is called maching code or assembly or something but I think you know what I mean. Also, it isnt too mind boggling is it? It's just that this interests me alot and I wish to understand how the computer works at a deeper level.

 

Thanks,

-BigMoosie

Share this post


Link to post
Share on other sites
I want to learn how to code right down to the nitty gritty' date=' I mean what language would I use where I am handling binary values and memory addresses and such, I thought C would but that is a much higher level language than I was hoping. I think it is called maching code or assembly or something but I think you know what I mean. Also, it isnt too mind boggling is it? It's just that this interests me alot and I wish to understand how the computer works at a deeper level.

 

Thanks,

-BigMoosie[/quote']

 

There are very few times where you would need to go that low. Windows used to provide direct access to I/O ports where you could adjust them using the C function outportb(). Although now with NT/XP, you need to go through device drivers, it's still more convenient to program in C. Trying to change the data saved in random memory addresses is not a very good idea, and by default windows will not give the privileges to do so (which is a good thing).

 

Back to the topic, if you do for whatever reason want to go that low, I can tell you that you are in for alot of learning. It is incomprehensible to say how much assembly programming would be needed to create a 4-function calculator program. You need to be able to know how to handle alot of memory/stack problems, which is usually handled automatically with higher level languages. So in addition to figuring out the algorithm at higher level first, you will need to then figure out how this higher-level algorithm would be reflected in terms of data movement in memory blocks.

 

Assembly programming varies depending on the microcontroller you are programming for. Remember that each command will be a hex code, which is arbitrary. Motorolla has its own instruction set, and so does Intel. It's easier to start with Intel's 8086, which is what most of our Pentium's are based on. Microsoft I believe has a 8086 debug assembler. Although our computers currently use much more complicated processors, this assembler is able to emulate the Intel 8086 so that you can run your programs from the "suite".

Share this post


Link to post
Share on other sites

In the first year lab at uni we've got some nackerd old things, got one of them to operate a motor from it's serial output device a little while ago in asembley... The fun of electronics modules!

Share this post


Link to post
Share on other sites

It certainly helps you understand exactly how the computer works, that's for sure. Usefully, you can also embed it with C code to create extremely fast routines.

Share this post


Link to post
Share on other sites

Yes i agree.

 

Start learning from the basics, the simplest, which is the Intel 8086/8088 microprocessor rich instruction set, aseembly directives, software architecture of the 8086/8088 and hardware interfacing of the RAM, ROM, timer chip, UART chip, and plenty of others.

 

This is because, Intel's microprocesor chip is upward-compatible, so even if you write a assembly code for 8086/8088, you can run and implement it on let's say 80486 or higher processor, your Pentium 4.

Share this post


Link to post
Share on other sites

Binary`s OK, but I`de reccomend a little higher and go base 16 (HEX).

then you`ll need your tables for the OP commands handy!.

OP Data is the usual syntax, and sometime spread over 2 or more mem addresses/registers.

 

HEX is loads easier, although my 1`st EPROM programer that I made was only 4 keys in operation `1` `0` `"enter/burn"` `"next address"`.

from there I blew another EPROM for my next programer and had the luxury of 24 keys incl a full 0 to F keypad :)

 

if you want to get DEEP, you NEED the electronics understanding behind it, the sky`s the limit then :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.