
asm 86 coding - read a large (1 MB) data array from memory and write it to the local COM port.?
The laptop and industrial PC are connected by RS232 which,
because it is required to use a parity check bit, can only transfer 7 bit data.
The data is to be transfered using Motorola S record format
was wondering whether anyone could help me get the ball rolling with this project? i will be using ms visual studio 2008
After all of the years of programming in assembler for embedded designs I would have liked to have said I answered this off the top of my head.
But I didn't, I had to look it up because all of the years of programming in C/C++/C#/PHP etc have wiped my brain of most of it. It is as if assembler and C can not exist in the same brain at the same time.
Anyway, first is the Serial chip 8250. Most devices in your PC have been integrated into chip sets, where one chip takes into it several of the basic chips. But in all PCs the actual chips are still present and at the same locations.
So, you could actually compile a 1990s assembler code and run it on a modern day PC. The only thing that would get in your way is that the OSs have changed, calls that you once could have made to DOS are no longer guarenteed to be available on Windows.
8250 chip - http://www.arl.wustl.edu/~lockwood/class/cs306/books/artofasm/Chapter_22/CH22-1.html
Remember that you would probably do the setup of the chip using the OS rather than within your software, so your software can assume baud rate etc is ready. Also the likes of the parity check that you mention, let the hardware deal with that too.
I tried to find for you the old 'Talk' assembler source. This used to be given away with MASM and early C. It formed the basis of many a chat program including IRC. It was excellent to learn with. But there is a shortened serial comms example available. - http://www.arl.wustl.edu/~lockwood/class/cs306/books/artofasm/Chapter_22/CH22-2.html#HEADING2-7
Next because you have 1MB of data to transfer, you would want to make use of a DMA (Dynamic memory controller), the one in the PC is the 8237. The modern version has more channels, but the registers of the orriginal are still present and referenced the same.
Finally, your data is larger than the addressable space. This means that you do need to use interrupts,
Basically -
Set the comms ready.
Set DMA to the start address (start and end address)
Start comms
Wait for the interrupt from the DMA (to say it is finished)
Set the next values for the DMA (start and end address)
Continue communications.
Best of luck with your project, it is a good one to learn from. There is no better workbench for any programmer in any field than programming the hardware directly. All of those who talk about the 'jargon' of programming would soon learn from work in assembler or chip sets that it isn't jargon at all, the language of programming is describing the architecture that you are programming.
Get your head down, study and try some samples, you will get there and you will come out of it a better programmer.
Whats On My YouTube Today?
Allspark.com & ASM Toy Fair 2008: Roll Out Optimus Prime
Here Are A Few Items From Amazon You Might Be Interested In.
![]() Roll ASM Drive 500 Dual Sale Price: $23.43 Eligible for free shipping!Availability: Usually ships in 1-2 business days |
![]() LEXMARK ROLL ASM DBL Charge Roll List Price: Sale Price: $40.00 You save: $52.73 (57%) Eligible for free shipping!Availability: Usually ships in 1-2 business days |
![]() Transfer Roll Guide ASM Sale Price: $150.02 Eligible for free shipping!Availability: Usually ships in 1-2 business days |
![]() Roll ASM Pick MPF Sale Price: $22.86 Eligible for free shipping!Availability: Usually ships in 1-2 business days |
![]() Roll ASM Backup Roll 28mm Sale Price: $19.00 Eligible for free shipping!Availability: Usually ships in 1-2 business days |
![]() 40X4540 -N Lexmark ADF Feed / Pick Roll Asm (XS651DE, X651DE MFP LV) Sale Price: $100.68 Eligible for free shipping!Availability: Usually ships in 1-2 business days |
Items recently purchased on this site:
Thanks for visiting!
Tags: community, blog, programming, development

Eligible for free shipping!




