diff --git a/nemu/src/monitor/sdb/addrexp.l b/nemu/src/monitor/sdb/addrexp.l index 255c4ce..d702c5a 100644 --- a/nemu/src/monitor/sdb/addrexp.l +++ b/nemu/src/monitor/sdb/addrexp.l @@ -10,7 +10,7 @@ 0[xX][0-9a-fA-F]+ { yylval = strtoul(yytext, NULL, 16); return HEX_NUMBER; } [0-9]+ { yylval = strtoul(yytext, NULL, 10); return NUMBER; } -${1,2}[a-zA-Z]{2,3} { +$[asgprt$][0-9pa][0-9]? { yylval = isa_reg_str2val(yytext + 1, &success); if(!success) { yyerror(NULL, "Failed to convert reg to value"); diff --git a/nemu/tests/expr_test.c b/nemu/tests/expr_test.c index eb1cf67..f0db0d5 100644 --- a/nemu/tests/expr_test.c +++ b/nemu/tests/expr_test.c @@ -175,7 +175,6 @@ START_TEST(test_expr_plain_register) { for (i = 1; i < 32; i++) { ck_assert(strcpy(buf + 1, regs[i])); gpr(i) = i; - printf("%d: %s\n", i, buf); yy_scan_string(buf); result = yyparse(&value); ck_assert_msg(result == 0, "expr = %s\n", buf);