Make the aic7xxx assembler take quoted strings as a single token.
Make $Id the version variable which required the quoted string "feature".
This commit is contained in:
parent
e1838a91c1
commit
b8d72a5ae8
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=7118
@ -21,9 +21,8 @@
|
||||
# FreeBSD, Twin, Wide, 2 command per target support, tagged queuing and other
|
||||
# optimizations provided by Justin T. Gibbs (gibbs@FreeBSD.org)
|
||||
#
|
||||
# $Id: aic7xxx.seq,v 1.8 1995/02/22 01:37:52 gibbs Exp $
|
||||
|
||||
VERSION AIC7XXX_SEQ_VERSION 1.8
|
||||
VERSION AIC7XXX_SEQ_VER "$Id: aic7xxx.seq,v 1.9 1995/03/07 09:00:44 gibbs Exp $"
|
||||
|
||||
SCBMASK = 0x1f
|
||||
|
||||
@ -726,7 +725,7 @@ p_mesgin5:
|
||||
|
||||
test A,0x78 jnz p_mesginN # !DiscPriv|!LUNTAR|!Reserved
|
||||
|
||||
and A,0x7 # lun in lower three bits
|
||||
and A,0x07 # lun in lower three bits
|
||||
or SAVED_TCL,A,SELID
|
||||
and SAVED_TCL,0xf7
|
||||
and A,0x08,SBLKCTL # B Channel??
|
||||
@ -737,8 +736,8 @@ p_mesgin5:
|
||||
# If we get one, we use the tag returned to switch to the proper
|
||||
# SCB. Otherwise, we just use the findSCB method.
|
||||
p_mesgin5_loop:
|
||||
test SSTAT1,0x8 jnz use_findSCB # BUSFREE
|
||||
test SSTAT1,0x1 jz p_mesgin5_loop # REQINIT
|
||||
test SSTAT1,0x08 jnz use_findSCB # BUSFREE
|
||||
test SSTAT1,0x01 jz p_mesgin5_loop # REQINIT
|
||||
and A,0xe0,SCSISIGI # CDI|IOI|MSGI
|
||||
cmp A,0xe0 jne use_findSCB # Still p_mesgin?
|
||||
mvi A call inb_first
|
||||
|
@ -26,7 +26,7 @@
|
||||
* A <label> is an <undef-sym> ending in a colon. Spaces, tabs, and commas
|
||||
* are token separators.
|
||||
*
|
||||
* $Id: aic7xxx.c,v 1.4 1995/01/16 16:31:20 gibbs Exp $
|
||||
* $Id: aic7xxx.c,v 1.5 1995/01/22 00:46:52 gibbs Exp $
|
||||
*/
|
||||
|
||||
/* #define _POSIX_SOURCE 1 */
|
||||
@ -199,7 +199,7 @@ void output(FILE *fp)
|
||||
char **getl(int *n)
|
||||
{
|
||||
int i;
|
||||
char *p;
|
||||
char *p, *quote;
|
||||
static char buf[MAXLINE];
|
||||
static char *a[MAXTOKEN];
|
||||
|
||||
@ -215,12 +215,30 @@ char **getl(int *n)
|
||||
p = strchr(buf, '#');
|
||||
if (p)
|
||||
*p = '\0';
|
||||
|
||||
for (p = strtok(buf, ", \t\n"); p; p = strtok(NULL, ", \t\n"))
|
||||
p = buf;
|
||||
rescan:
|
||||
quote = strchr(p, '\"');
|
||||
if (quote)
|
||||
*quote = '\0';
|
||||
for (p = strtok(p, ", \t\n"); p; p = strtok(NULL, ", \t\n"))
|
||||
if (i < MAXTOKEN-1)
|
||||
a[i++] = p;
|
||||
else
|
||||
error("too many tokens");
|
||||
if (quote) {
|
||||
quote++;
|
||||
p = strchr(quote, '\"');
|
||||
if (!p)
|
||||
error("unterminated string constant");
|
||||
else if (i < MAXTOKEN-1) {
|
||||
a[i++] = quote;
|
||||
*p = '\0';
|
||||
p++;
|
||||
}
|
||||
else
|
||||
error("too many tokens");
|
||||
goto rescan;
|
||||
}
|
||||
if (i) {
|
||||
*n = i;
|
||||
return(a);
|
||||
|
@ -26,7 +26,7 @@
|
||||
* A <label> is an <undef-sym> ending in a colon. Spaces, tabs, and commas
|
||||
* are token separators.
|
||||
*
|
||||
* $Id: aic7xxx.c,v 1.4 1995/01/16 16:31:20 gibbs Exp $
|
||||
* $Id: aic7xxx.c,v 1.5 1995/01/22 00:46:52 gibbs Exp $
|
||||
*/
|
||||
|
||||
/* #define _POSIX_SOURCE 1 */
|
||||
@ -199,7 +199,7 @@ void output(FILE *fp)
|
||||
char **getl(int *n)
|
||||
{
|
||||
int i;
|
||||
char *p;
|
||||
char *p, *quote;
|
||||
static char buf[MAXLINE];
|
||||
static char *a[MAXTOKEN];
|
||||
|
||||
@ -215,12 +215,30 @@ char **getl(int *n)
|
||||
p = strchr(buf, '#');
|
||||
if (p)
|
||||
*p = '\0';
|
||||
|
||||
for (p = strtok(buf, ", \t\n"); p; p = strtok(NULL, ", \t\n"))
|
||||
p = buf;
|
||||
rescan:
|
||||
quote = strchr(p, '\"');
|
||||
if (quote)
|
||||
*quote = '\0';
|
||||
for (p = strtok(p, ", \t\n"); p; p = strtok(NULL, ", \t\n"))
|
||||
if (i < MAXTOKEN-1)
|
||||
a[i++] = p;
|
||||
else
|
||||
error("too many tokens");
|
||||
if (quote) {
|
||||
quote++;
|
||||
p = strchr(quote, '\"');
|
||||
if (!p)
|
||||
error("unterminated string constant");
|
||||
else if (i < MAXTOKEN-1) {
|
||||
a[i++] = quote;
|
||||
*p = '\0';
|
||||
p++;
|
||||
}
|
||||
else
|
||||
error("too many tokens");
|
||||
goto rescan;
|
||||
}
|
||||
if (i) {
|
||||
*n = i;
|
||||
return(a);
|
||||
|
@ -26,7 +26,7 @@
|
||||
* A <label> is an <undef-sym> ending in a colon. Spaces, tabs, and commas
|
||||
* are token separators.
|
||||
*
|
||||
* $Id: aic7xxx.c,v 1.4 1995/01/16 16:31:20 gibbs Exp $
|
||||
* $Id: aic7xxx.c,v 1.5 1995/01/22 00:46:52 gibbs Exp $
|
||||
*/
|
||||
|
||||
/* #define _POSIX_SOURCE 1 */
|
||||
@ -199,7 +199,7 @@ void output(FILE *fp)
|
||||
char **getl(int *n)
|
||||
{
|
||||
int i;
|
||||
char *p;
|
||||
char *p, *quote;
|
||||
static char buf[MAXLINE];
|
||||
static char *a[MAXTOKEN];
|
||||
|
||||
@ -215,12 +215,30 @@ char **getl(int *n)
|
||||
p = strchr(buf, '#');
|
||||
if (p)
|
||||
*p = '\0';
|
||||
|
||||
for (p = strtok(buf, ", \t\n"); p; p = strtok(NULL, ", \t\n"))
|
||||
p = buf;
|
||||
rescan:
|
||||
quote = strchr(p, '\"');
|
||||
if (quote)
|
||||
*quote = '\0';
|
||||
for (p = strtok(p, ", \t\n"); p; p = strtok(NULL, ", \t\n"))
|
||||
if (i < MAXTOKEN-1)
|
||||
a[i++] = p;
|
||||
else
|
||||
error("too many tokens");
|
||||
if (quote) {
|
||||
quote++;
|
||||
p = strchr(quote, '\"');
|
||||
if (!p)
|
||||
error("unterminated string constant");
|
||||
else if (i < MAXTOKEN-1) {
|
||||
a[i++] = quote;
|
||||
*p = '\0';
|
||||
p++;
|
||||
}
|
||||
else
|
||||
error("too many tokens");
|
||||
goto rescan;
|
||||
}
|
||||
if (i) {
|
||||
*n = i;
|
||||
return(a);
|
||||
|
@ -26,7 +26,7 @@
|
||||
* A <label> is an <undef-sym> ending in a colon. Spaces, tabs, and commas
|
||||
* are token separators.
|
||||
*
|
||||
* $Id: aic7xxx.c,v 1.4 1995/01/16 16:31:20 gibbs Exp $
|
||||
* $Id: aic7xxx.c,v 1.5 1995/01/22 00:46:52 gibbs Exp $
|
||||
*/
|
||||
|
||||
/* #define _POSIX_SOURCE 1 */
|
||||
@ -199,7 +199,7 @@ void output(FILE *fp)
|
||||
char **getl(int *n)
|
||||
{
|
||||
int i;
|
||||
char *p;
|
||||
char *p, *quote;
|
||||
static char buf[MAXLINE];
|
||||
static char *a[MAXTOKEN];
|
||||
|
||||
@ -215,12 +215,30 @@ char **getl(int *n)
|
||||
p = strchr(buf, '#');
|
||||
if (p)
|
||||
*p = '\0';
|
||||
|
||||
for (p = strtok(buf, ", \t\n"); p; p = strtok(NULL, ", \t\n"))
|
||||
p = buf;
|
||||
rescan:
|
||||
quote = strchr(p, '\"');
|
||||
if (quote)
|
||||
*quote = '\0';
|
||||
for (p = strtok(p, ", \t\n"); p; p = strtok(NULL, ", \t\n"))
|
||||
if (i < MAXTOKEN-1)
|
||||
a[i++] = p;
|
||||
else
|
||||
error("too many tokens");
|
||||
if (quote) {
|
||||
quote++;
|
||||
p = strchr(quote, '\"');
|
||||
if (!p)
|
||||
error("unterminated string constant");
|
||||
else if (i < MAXTOKEN-1) {
|
||||
a[i++] = quote;
|
||||
*p = '\0';
|
||||
p++;
|
||||
}
|
||||
else
|
||||
error("too many tokens");
|
||||
goto rescan;
|
||||
}
|
||||
if (i) {
|
||||
*n = i;
|
||||
return(a);
|
||||
|
@ -21,9 +21,8 @@
|
||||
# FreeBSD, Twin, Wide, 2 command per target support, tagged queuing and other
|
||||
# optimizations provided by Justin T. Gibbs (gibbs@FreeBSD.org)
|
||||
#
|
||||
# $Id: aic7xxx.seq,v 1.8 1995/02/22 01:37:52 gibbs Exp $
|
||||
|
||||
VERSION AIC7XXX_SEQ_VERSION 1.8
|
||||
VERSION AIC7XXX_SEQ_VER "$Id: aic7xxx.seq,v 1.9 1995/03/07 09:00:44 gibbs Exp $"
|
||||
|
||||
SCBMASK = 0x1f
|
||||
|
||||
@ -726,7 +725,7 @@ p_mesgin5:
|
||||
|
||||
test A,0x78 jnz p_mesginN # !DiscPriv|!LUNTAR|!Reserved
|
||||
|
||||
and A,0x7 # lun in lower three bits
|
||||
and A,0x07 # lun in lower three bits
|
||||
or SAVED_TCL,A,SELID
|
||||
and SAVED_TCL,0xf7
|
||||
and A,0x08,SBLKCTL # B Channel??
|
||||
@ -737,8 +736,8 @@ p_mesgin5:
|
||||
# If we get one, we use the tag returned to switch to the proper
|
||||
# SCB. Otherwise, we just use the findSCB method.
|
||||
p_mesgin5_loop:
|
||||
test SSTAT1,0x8 jnz use_findSCB # BUSFREE
|
||||
test SSTAT1,0x1 jz p_mesgin5_loop # REQINIT
|
||||
test SSTAT1,0x08 jnz use_findSCB # BUSFREE
|
||||
test SSTAT1,0x01 jz p_mesgin5_loop # REQINIT
|
||||
and A,0xe0,SCSISIGI # CDI|IOI|MSGI
|
||||
cmp A,0xe0 jne use_findSCB # Still p_mesgin?
|
||||
mvi A call inb_first
|
||||
|
Loading…
Reference in New Issue
Block a user