help needed hello i hope somebody out here can help me i am currently working on a project where i am trying to communicate from an ibm with phoenix bios using c to a board that i made with an intel cpu with uart chip the board works fine with the transmit command and terminal emulation mode of kermit but there seems to be something wrong with the initialization or protocol used when i try c i need to access the unit i built using c because i have a sizable chunk of c code that i will be using to perform calculations and operations that will be very difficult to code in assembly language for the i have included the assembly code that i am running and the c code that i am trying to use if anyone can show me something that i am doing blatantly incorrectly or that i am missing because of my lack of knowledge about rs serial communications please e mail me i wrote the assembly language to wait for a character to be received and then to check it against the x character if a x is received the leds will indicate this two c programs that i have written do nothing but set up com port and send the x character one uses the bioscom function in bios h the other uses the software interrupt int function in dos h i have triple checked the baud rate the parity none the stop bits the character length bits and the interrupt calls for x currently i am at a loss as to what may be wrong any hardware gurus out there want to comment thanks alot hubert de jesus dejesus eniac seas upenn edu intel asm command equ h command register on porta equ h port a on timerlo equ h high bits of timer timerhi equ h low bits of timer uartdata equ e h uart data register uartcmd equ e h uart command register org h sram location mvi a h set low timer bits sta timerlo mvi a h set high timer bits sta timerhi mvi a b start timer enable port a sta command mvi a h display on segment leds sta porta mvi a h clear uart command sta uartcmd sta uartcmd sta uartcmd mvi a b internally reset uart sta uartcmd lda uartdata remove extraneous data mvi a b init uart for data bits sta uartcmd no parity stop bit x async mvi a b enable transmit and receive sta uartcmd init lda uartcmd read status register ani h is rxrdy jz init no loop lda uartdata read data character cpi is character x jnz init no loop mvi a h character received sta porta display on segment leds hlt end c using bioscom include stdio h include stdlib h include bios h define init define send define receive define status define com void main char abyte abyte xa bioscom init abyte com printf initialized comm port n while bioscom status com x abyte bioscom send abyte com printf sent start character n c using int include stdio h include stdlib h include dos h include bios h main union regs registers registers h ah x registers h al xa registers x dx x int x registers registers printf com initialized n registers h ah x registers h al x registers x dx x int x registers registers printf sent start character n
