int 80h on 8088 CPUs?
so, there's a 16-bit Linux then?
You're mixing up too many things. Linux + DOS programming, 16-bit addressing on 32-bit CPUs etc. Don't just pick up any examples from the internet without knowing the background of such examples (Linux, DOS, WinAPI, 32-bit, 64-bit, 16-bit etc). In your case, you're attempting to program a 16-bit addressing examples (via SCASB) using 32-bit Linux operating system which uses 32-bit default addressing (SI,DI vs ESI,EDI). There's no such thing as 16-bit Linux that runs on 8088/86 processors. And I see traces of 16-bit int 21h usage (which is basically a DOS program) in "mov ax,msg" too!