8086 prosessorunda "pop sp" adlı vacib bir göstəriş mövcuddur; bu, yığının başından stack pointer (sp) dəyərini oxuyur.
Əlavə olaraq, 80486 prosessoru stack pointer registrini idarə etmək üçün başqa bir əhəmiyyətli göstəriş əlavə edib: "bswap sp". Bu göstəriş stack pointer-in yüksək və aşağı baytlarını bir-biriylə dəyişir.
"bswap sp" göstərişinin kodu 0F CC-dir;
"pop sp" göstərişinin kodu 5C-dir;
Yaddaş seqmenti 65536 bayt uzunluğundadır;
Yaddaş dövrlüdür: FFFF ünvanından sonra növbəti ünvan 0000-dır (bütün ünvanlar və kodlar onaltılıq formada verilib);
"pop sp" göstərişi sp ilə göstərilən ünvandan iki baytlıq sözü əldə edir və onu sp-yə yükləyir (əvvəl aşağı bayt, sonra yüksək bayt).
Sizə sp registrinin ilkin və son dəyərləri və yaddaşın məzmunu verilir. Elə ən qısa proqram tərtib edin ki, icra olunduqdan sonra sp göstərilən son dəyərə bərabər olsun. Proqramda yalnız "pop sp" və "bswap sp" göstərişlərindən istifadə etməyə icazə verilir.
Birinci sətirdə ikili onaltılıq formada iki 16-bit ədəd olacaq: ilkin və son sp dəyərləri (0000-dan FFFF-ə qədər). Sonra isə 4096 sətir — yaddaş seqmentinin dökümü veriləcək.
Döküm formatı belədir: [8 bayt][2 boşluq][8 bayt], burada hər [8 bayt] ardıcıl 8 baytdan ibarətdir və bunlar bir boşluqla ayrılıb. Hər bir bayt iki rəqəmli onaltılı formada (00-dan FF-ə qədər) göstərilir.
Birinci sətirdə ən qısa proqramın bayt sayı onluq formada verilir. İkinci sətirdən başlayaraq — proqramın dökümünü girişdəki formatla uyğun şəkildə çıxış edin. Sonuncu (tam olmayan ola bilər) sətirin ardından dərhal yeni sətir simvolu gəlsin və son çıxış baytından sonra boşluq olmasın.
Əgər bir neçə ən qısa proqram varsa, leksikoqrafik olaraq ən kiçiyinin dökümünü verin.
Əgər verilmiş yaddaş və sp dəyərləri ilə məqsədə nail olmaq mümkün deyilsə, yalnız bir sətirdə IMPOSSIBLE sözünü çıxış edin.
Nümunə 1