Is she....you know...CGA palette 1?
@foone @Dio9sys @luna this is actually also a practical example of cga programming
although personally i'd do
mov ax, B800h
mov es, ax
instead of popping b800 into es
because the 8086 has specialised instructions for moving to the ax register which most commerical apps use. i think it's slightly slower but doesn't matter in this case
also you can keep the segment in ax, which if you want to change the program later to do something else, or port it to EGA/VGA, will be helpful