I am trying to understand how the assembly language works for a micro-computer architecture class, and I keep facing different syntaxes in examples:
sub $48,
This is AT&T syntax for x86. In AT&T % generally denotes a register while $ is reserved for immediates. If you omit th $ the assembler would interpret the 48 as an address.
%
$