zinger Creative Commons License 2003.10.04 0 0 264
Kedves Tervezők!
Számomra nagyon fura, és érdekes – de hát ez van, és eddig ez így jó is volt, és elfogadom -, hogy a processzor PC-je által mutatott területen utasítások (természetesen) és adatok (nem természetesen) is jelen vannak. Tudunk csinálni; sima adatszegmenst, de nem nagyon; natúr kódszegmenst. Lehet-e itt tisztítást végezni? Hogyan kéne átalakítani az utasításkészletet, hogy ez elérhető legyen.
Vagy ez eleve nem lehetséges, mert amikor megemlítem az A vagy DE regisztereket, már ekkor is címzést végzek.
Ez természetes, hisz valamit csak valamivel (valamikkel) lehet csinálni.
Ekkor viszont érdekes, hogy a MOV A,07Fh utasítás nem is egy byte-os utasítás, meg egy adatbyete-os, hanem eleve 2 byte-os és 256 db létezik belőle (egy teljes lap az utasítástáblázatban). Hm hm .. ez egy érdekes megoldási javaslat, ahol az adatokat szeretném átminősíteni utasításokká. E módszerrel viszont a 2 byte-os címekkel semmit sem tudok kezdeni.
Egy másik szemlélet: Mivel a CALL-ok egy halom PUSH-al kezdődnek és egy halom POP-al fejeződnek be, ezért ezt elésegítendően, lehetne egy (v. több) komplett regiszterkészlet (regisztercsoport) cserélő utasítás. A call e byte-ot kapna 2 a célcím lenne másik 2 pedig az új regiszterkészlet címe. Így a regiszter tartalmak mehetnek a veremre, az újak címe adott, a folytatási cím is. A return meg csak simán felnyalná a veremről a cuccot.
Ebben a szemléletben az adatok egy tömbnek, rekordnak tekinthetőek, és mint az „A” meg a „HL” kisméretű indexel címezhetőek.
Nos..?