From 1f2fd14997b38b8aeeaae5de8f81c3a04958971e Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Wed, 24 Aug 2011 05:40:10 +0100 Subject: [PATCH] keyspan_pda: Fix parse error with as31 version 2.3.1 keyspan_pda.S has an out-of-range decimal constant that looks like it was really meant to be a binary constant. Comparing with the binary, it appears that as31 used to treat this as 0, so change the source to use 0 and add a comment on this. Signed-off-by: Ben Hutchings --- keyspan_pda/keyspan_pda.S | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/keyspan_pda/keyspan_pda.S b/keyspan_pda/keyspan_pda.S index 418fe69a..602bcce5 100644 --- a/keyspan_pda/keyspan_pda.S +++ b/keyspan_pda/keyspan_pda.S @@ -285,7 +285,12 @@ clear_rx_ring_loop: mov dptr,OUTC movx @dptr, a ;; setup the serial port. 9600 8N1. - mov a,#01010011 ; mode 1, enable rx, clear int + ;; Original source had: + ;;mov a,#01010011 ; mode 1, enable rx, clear int + ;; This was presumably meant to be a binary constant, but it's + ;; really decimal and out of 8-bit range. as31 used to treat + ;; it as 0 and that seems to have worked, so carry on with 0. + mov a,#0 mov SCON, a ;; using timer2, in 16-bit baud-rate-generator mode ;; (xtal 12MHz, internal fosc 24MHz)