I just used ndisasm to disassemble code I compiled with the NASM compiler. I see several instances of long blocks where the instruction add [rax],al is repeated, like this:
00000425 0000 add [rax],al
00000427 0000 add [rax],al
00000429 0000 add [rax],al
0000042B 0000 add [rax],al
0000042D 0000 add [rax],al
0000042F 0000 add [rax],al
00000431 0000 add [rax],al
00000433 0000 add [rax],al
00000435 0000 add [rax],al
What do these sequences mean? Wouldn't this be best reduced to fewer instructions?