BSS Bullshit
BSS stands for block started by symbol. Its a place in the program to reserve memory for uninitialized variables that will change in value during execution. To declare a bss variable, you will need to allocate space like such:
| method | explanation |
|---|---|
| resb | Reserve space for byte |
| resw | Reserve space for word |
| resd | Reserve space for double word |
| resq | Reserve space for double precision float(quad word) |
| rest | Reserve space for extended precision float |
Following the method, you will give it a quantity. 1 byte, 2 bytes, etc… you really just need resb, but the other methods can be used aswell if you find them better
An example bss variable declared:

Lesson 9 sys read
MAN I’M A BOOKWORM. I AM A READER, A BOOK READER, A WORM EATER. This is how its done:
eax is 3 for sysread call
ebx is the file we read from. 0 for sys in
ecx is address of bss variable
edx is the max bytesize of our bss variable
For inputs, the program checks until a linefeed.