From 30d4d8984bfc64e971bfbb3b913c37ed8a8da17b Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Sat, 9 Aug 2014 18:23:14 +0200 Subject: 5a: MOVM.IA.W.S ..., [R15] is exception return and needs to be allowed (thanks aiju) --- sys/src/cmd/5a/lex.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/src/cmd/5a/lex.c b/sys/src/cmd/5a/lex.c index 89ff6661c..7880aa780 100644 --- a/sys/src/cmd/5a/lex.c +++ b/sys/src/cmd/5a/lex.c @@ -564,7 +564,8 @@ outcode(int a, int scond, Gen *g1, int reg, Gen *g2) } if(a == AMOVM){ - if((scond & (C_SBIT|C_WBIT)) == (C_SBIT|C_WBIT)){ + if((scond & (C_SBIT|C_WBIT)) == (C_SBIT|C_WBIT)) + if(g2->type != D_CONST || (g2->offset & (1<<15)) == 0){ yyerror("MOVM .S and .W are exclusive"); errorexit(); } -- cgit v1.2.3