Welcome to Dream.In.Code
Getting Help is Easy!

Join 136,166 Programmers for FREE! Get instant access to thousands of experts, tutorials, code snippets, and more! There are 1,872 people online right now. Registration is fast and FREE... Join Now!




assembly and tranfer system

 
Reply to this topicStart new topic

assembly and tranfer system

menios
14 Dec, 2007 - 09:40 AM
Post #1

New D.I.C Head
*

Joined: 10 Dec, 2007
Posts: 12


My Contributions
I ve been trying to learn assembly. I m using visual studio 2005.Currently i ve been trying to develop a transfer system betwenn 2 computers using a null modem cable.
I ve managed to script my transmitter but i can't get around how to start the receiver.
Can someone help me with it?
here is the code for the transmitter.
CODE

#include <stdio.h>

int main (void) {

//Define Variables
  char Textfile[] = "C:\\text.txt";   //File that holds the data to transmit
  char Comport[] ="COM2";                   //Define Serial Port


  FILE * readfile;
  FILE * writecom;


  char error[] = "Unable to open File/Comport\n\n"; //TERMINATION with an error message
  char chartosend;
  char readaccess[] ="r";
  char writeaccess[] ="wt";

  _asm {

//check if the port can be accessed
          lea eax,writeaccess   //check acess a
          push eax
          lea eax,Comport       //check port           push eax

      call fopen
      add esp,8   //Clean the stack

      cmp eax, 0
      mov writecom, eax
      je TERMINATION //If it doesn't writecom then run TERMINATION for handling errors

//check if textfile is accessible
      lea eax,readaccess  //check for readaccess for the textfile and move it to the stack
      push eax
      lea eax, Textfile     //check for textfile and move it to the stack
      push eax


      call fopen
      add esp, 8 //Clean the stack

      cmp eax, 0
      mov readfile, eax
      je TERMINATION    //If it doesn't open readfile then run TERMINATION for handling errors



WHILENOTEOF:
//IF no more data can be read from a data source get each character from the file
     mov eax, readfile
     push eax

     call fgetc
     add esp, 4
    
//check if EOF has been reached
     cmp al, EOF
     je FILECLOSE

     mov chartosend, al

     push eax
     add esp, 4
//write characters to comport
     mov eax, writecom
     push eax
     mov al, chartosend
     push eax
     call fputc
     add esp, 8

jmp WHILENOTEOF

FILECLOSE:
//Add closing value to the end of the string
     mov eax, writecom
     push eax

     mov al, 80h  //The receiver needs to know the EOF so closing value is 80h
     push eax

     call fputc
     add esp,8

//Start closing
     mov eax, readfile  //readfile
     push eax

     call fclose
     add esp, 4

//writecom
     mov eax, writecom
     push eax

     call fclose
     add esp, 4

     jmp END

TERMINATION:
     lea eax, error
     push eax

     call printf
     add esp, 4

END:
     } //_asm

    return 0;
    } //void


This post has been edited by menios: 14 Dec, 2007 - 09:43 AM
User is offlineProfile CardPM
+Quote Post

Fast ReplyReply to this topicStart new topic
Time is now: 12/2/08 12:05AM

Live Help!

Tutorials

Programming

Web Development

Reference Sheets

Code Snippets

DIC Chatroom

Bye Bye Ads

Monthly Drawing

Thumb Drive

Top Contributors

Top 10 Kudos This Month