+ &jmp (&label("done"));
+
+&set_label("break",16);
+ &cmp ("ebx",4);
+ &jb (&label("tail"));
+ &mov (&DWP(0,"edi"),"edx");
+ &lea ("edi",&DWP(4,"edi"));
+ &add ("eax",4);
+ &sub ("ebx",4);
+ &jz (&label("done"));
+ &mov ("ecx",8);
+ &jmp (&label("loop"));
+
+&set_label("tail",16);
+ &mov (&BP(0,"edi"),"dl");
+ &lea ("edi",&DWP(1,"edi"));
+ &inc ("eax");
+ &shr ("edx",8);
+ &dec ("ebx");
+ &jnz (&label("tail"));
+
+&set_label("done");
+ &pop ("ebx");
+ &pop ("edi");