base: split into asm and masm