Re: ASM - Typ procesora

Autor: Grzegorz Szyszlo (znik_at_avalon.wbc.lublin.pl)
Data: Fri 11 Apr 1997 - 14:17:42 MET DST


tabor_at_infoserv.ii.uj.edu.pl (TABOR) wrote:
> Ponizsza funkcja assemblerowa rozpoznaje typ procesora. Znam na tyle
>assembler, ze rozumiem poszczegolne operacje, ale sensu calosci
>zupelnie nie "jarze"

temat jest raczej na grupe programming pl.comp.programming , ale
moze uda mi sie cos wyjasnic.

>GetCPUType proc far
> xor ax, ax #wyzerowanie akumulatora
> push ax #odlozenie akumulatora na stos
> popf #to co odlozyl akumulator, jest zdejmowane do flag
> pushf #spowrotem odlozenie flag. po co ? bo nie wszystkie
                         bity flag maja swoje zatrzaski. te bez zatrzaskow
                         sie nie wyzeruja (wartoscia z AX), przez co
                         beda mialy wartosc '1'.
> pop ax #to co bylo odlozone z flag jest odczytywane
                         do akumulatora. po co ? zeby te glupie bity
posprawdzac
> and ax, 0f000h #no wlasnie. masz sprawdzanie. zerowanie bitow, ktore
                         sa w kazdym typie procesora
> cmp ax, 0f000h #a teraz sprawdzenie, czy wystepuje brak bitow flag,
                         ktore sa charakterystyczne dla xt'kow .
> jnz getcpu_2 ; skocz jesli nie 8088,80188,8086,80186
                        #no i zmiataj stad jesli to nie ^^^^^^^^^^^^^^^^^

i tak dalej. nie chce mi sie reszty komentowac.
w kazdym badz razie w nowszych procesorach slowo stanu juz nie ma 16bitow,
lecz 32. dlatego tam sa inne pushy i popy.

> Interesuja mnie rowniez informacje o kodach rozkazow:
> xadd dx, dx
> setb ah
> smsw dx

tego nie wiem.

-- 
               oOOo      /===================================\
         /=====\__/=====/  http://avalon.wbc.lublin.pl/~znik |
         | Grzegorz Szyszlo mailto:ZNIK_at_avalon.wbc.lublin.pl |
         \===================================================/
          polecam  http://www.agh.edu.pl/ogonki/   mime.html


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 16:01:52 MET DST