İki təlimat#2486

İki təlimat

1 saniyə
64 meqabayt
Asan

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.

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.

Giriş

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.

Çıxış

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ələr

Nümunə 1

Loading
Loading