@whitequark At the instruction level, there are a few types for operands, but we could call this syntax. It's not much of a type system if there's no propagation of type information throughout the program.
But the main thing that is untyped with assempler are the input & output states of basic blocks, or the arrangement of control flow, or the ABIs, and so on. This distinguishes assembler from a high-level language like C.