|
@@ -143,9 +143,8 @@ void AssemblyGenerator::visitLoopInstruction(const LoopInstruction& li)
|
|
std::string label1 = generateLabel();
|
|
std::string label1 = generateLabel();
|
|
std::string label2 = generateLabel();
|
|
std::string label2 = generateLabel();
|
|
write(label1, ":");
|
|
write(label1, ":");
|
|
- write("movb ", ptr(), ", %al");
|
|
|
|
- write("testb %al, %al");
|
|
|
|
- write("jz ", label2);
|
|
|
|
|
|
+ write("cmpb $0, ", ptr());
|
|
|
|
+ write("je ", label2);
|
|
visitUnionBlockInstruction(li);
|
|
visitUnionBlockInstruction(li);
|
|
write("jmp ", label1);
|
|
write("jmp ", label1);
|
|
write(label2, ":");
|
|
write(label2, ":");
|