The instance of problem I have here is about the software I have to use in my lab session. University syllabus is NOT mentioning about the softwares that students should use to learn assembly language in microprocessors and microcontrollers lab(EC 04 607(P)). But, contrary to the stated principles of our college,this lab session requires usage of proprietary software assembler (tasm) when there is Free Software alternatives that can be used(eg NASM). Read More As far as I know, the only CS lab which depends on proprietary software in GEC Trichur (and a few other Engineering colleges under Calicut University) is the Hardware/Microprocessors lab where students are made to work on 8085/8086 kits and also write tasm/masm code running under DOS. It is not too difficult to convert this to GNU/Linux + NASM (or "gas", for that matter) - the only technical difficulty is in doing hardware interfacing. As I/O port access is OK in user mode for x86 Linux(provided you invoke stuff like "iopl" or "ioperm") - students can do simple parallel/serial port interfacing (and things like stepper motor control, ADC etc). But when it comes to interrupts - there is no easy way out. You can't just store an address at a particular slot in the IVT and watch hardware interrupts in action! Doing stuff in DOS/Debug has a definite advantage in this situation. I still have a soft corner for DOS+Debug; as a student, I had lots of fun learning microprocessors by experimenting with Debug - I still remember the time spent typing out code of the hex disk editor from Peter Norton's excellent assembly language book and watching it grow step by step ... One solution might be to use FreeDOS ... but then, do we have a version of nasm for DOS which generates 8086 .exe files?
I remember using NASM on DOS. It can create .com file, but I don't remember about .exe files.
I think you have to use a linker - and that doesn't come with Nasm. Anyway, .com should be enough!
sir, I think Raju sir did something in FreeDOS. He was talking about this when i was in final sem. I didn't check what he did. He was talking about non availability of linker and then said, it is in built or something. I think he can lighten up into the matter.
Yes - I think we have to use an external linker for .exe files - but then, that won't be a big issue because we can generate .com files!