generating assembly code