Check for shift count zero
git-svn-id: svn://svn.cc65.org/cc65/trunk@1055 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
@@ -2848,12 +2848,11 @@ void g_asr (unsigned flags, unsigned long val)
|
||||
AddCodeLine ("txa");
|
||||
ldxconst (0);
|
||||
val -= 8;
|
||||
}
|
||||
if (val == 0) {
|
||||
/* Done */
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (val >= 1 && val <= 4) {
|
||||
} else if (val >= 1 && val <= 4) {
|
||||
if (flags & CF_UNSIGNED) {
|
||||
AddCodeLine ("jsr shrax%ld", val);
|
||||
} else {
|
||||
@@ -2864,7 +2863,10 @@ void g_asr (unsigned flags, unsigned long val)
|
||||
break;
|
||||
|
||||
case CF_LONG:
|
||||
if (val >= 1 && val <= 4) {
|
||||
if (val == 0) {
|
||||
/* Nothing to do */
|
||||
return;
|
||||
} else if (val >= 1 && val <= 4) {
|
||||
if (flags & CF_UNSIGNED) {
|
||||
AddCodeLine ("jsr shreax%ld", val);
|
||||
} else {
|
||||
@@ -2936,12 +2938,11 @@ void g_asl (unsigned flags, unsigned long val)
|
||||
AddCodeLine ("tax");
|
||||
AddCodeLine ("lda #$00");
|
||||
val -= 8;
|
||||
}
|
||||
if (val == 0) {
|
||||
/* Done */
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (val >= 1 && val <= 4) {
|
||||
} else if (val >= 1 && val <= 4) {
|
||||
if (flags & CF_UNSIGNED) {
|
||||
AddCodeLine ("jsr shlax%ld", val);
|
||||
} else {
|
||||
@@ -2952,7 +2953,10 @@ void g_asl (unsigned flags, unsigned long val)
|
||||
break;
|
||||
|
||||
case CF_LONG:
|
||||
if (val >= 1 && val <= 4) {
|
||||
if (val == 0) {
|
||||
/* Nothing to do */
|
||||
return;
|
||||
} else if (val >= 1 && val <= 4) {
|
||||
if (flags & CF_UNSIGNED) {
|
||||
AddCodeLine ("jsr shleax%ld", val);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user