Az elsõ bootolható programom

Kezdőlap Fórumok Programozás Az elsõ bootolható programom

10 bejegyzés megtekintése - 61-70 / 86
  • Szerző
    Bejegyzés
  • #2061914
    pointux
    Felhasználó

      No meg a string összehasonlítás meg valahogy így fog kinézni (8 bites karakterkészlet esetén, csupán egy  db. referencia paranccsal, valós/16 bites módban/segmensben):

      Code:
      xor reg16,reg16
      next_char:
      mov reg8,[m8/1 + reg16]
      cmp reg8,13
      jz command_end
      cmp reg8,[m8/2 + reg16]
      jnz invalid_command
      inc reg16
      jmp next_char

      ahol
      m8/1 a billentyûzetrõl beolvasott parancs
      m8/2 referencia parancs

      (Ja és ez sem space-t, sem semmit nem vizsgál! Na, ezekért ilyen egyszerû.)

      #2061915
      pointux
      Felhasználó

        „Mindez egy pop al -re”
        Ez így nem jó, legyen

        Code:
        pop reg16/reg32

        ami az sp (16 bit), ill. esp értékét növeli 2 ill. 4-gyel, amíg a push fordítva.

        #2061916
        Maul
        Felhasználó

          Köszi a példákat, késõbb meglesem, hogy menne a progimnban.

          #2061917
          tovis
          Felhasználó

            Bocs, és a stack pointer inicializálva van?

            #2061918
            Maul
            Felhasználó
              tovis wrote:
              Bocs, és a stack pointer inicializálva van?

              Az egy nasm utasítás? Mert a progi le se fordult ha stack-et akartam használni (ami egyébként nem lényeges), szóval ilyen szempontból szerintem mindegy. Amúgy amikor megpróbáltam (ha ezzel arra utalsz hogy megadom a memóriában a stack helyét), de az lefagyasztotta a progit.

              #2061919
              kisbetu
              Felhasználó
                Maul wrote:
                szóval ilyen szempontból szerintem mindegy

                Ja.

                Megbízod a postást, hogy hozza el a leveledet.
                De nem mondod meg neki, honnan kéne elhozni.

                Tényleg mindegy.

                #2061920
                Maul
                Felhasználó
                  kisbetu wrote:
                  Ja.
                  Megbízod a postást, hogy hozza el a leveledet.
                  De nem mondod meg neki, honnan kéne elhozni.
                  Tényleg mindegy.

                  Imádom a beszólásaidat, de azért olvasd el rendesen, mire válaszolsz. A mindegy az az, hogy a progi le se fordul, tehát hiába nem mûködne futás közben, a hiba nem ott van.

                  #2061921
                  Maul
                  Felhasználó
                    vizsla wrote:
                    No meg a string összehasonlítás meg valahogy így fog kinézni (8 bites karakterkészlet esetén, csupán egy  db. referencia paranccsal, valós/16 bites módban/segmensben):

                    Tudom, hogy hülyén hangzik, de konkrétan hova milyen változót írjak? Kipróbáltam így, de nem megy:
                    (help: a stringem, konkrétan egy help szó és utána egy nullás byte
                    di: elvileg a stosb ide menti a stringet, billentyû lenyomás után másolja be)

                    nezur:
                        mov al,00
                        stosb
                        mov al,0
                    nezur2:
                        mov ax,[di+al]
                        cmp ax,00
                        je hang
                        cmp ax,[help+al]
                        jne nezur3
                        inc al
                        jmp nezur2
                    nezur3:
                        jmp ujsor

                    a
                    mov ax,[di+al]
                    és
                    cmp ax,[help+al]
                    parancsokra invalid effective addresst ír. De nem értem, miért nem tudja így elérni.

                    #2061922
                    Wait
                    Felhasználó

                      Csak egy kis kitérõ: találtam egy 8085-ös kódkészletet… mellékelve küldöm :happy:
                      Ha valaki átírná a bináris alakokat hexába, és visszaküldené, megköszönném,  ma már nem volt se kedvem, se idõm… :blush:
                      (az elsõ egy KSpead állomány, míg a második egy sima text)

                      [off]
                      kisbetu: elsõ sorban diák vagyok, másodsorban programozónak tanulgatok, autodidakta módon
                      [/off]

                      #2061923
                      valaki456
                      Felhasználó

                        Wait!

                        Ne aggódj, majd én átváltogatom neked 😀

                      10 bejegyzés megtekintése - 61-70 / 86
                      • Be kell jelentkezni a hozzászóláshoz.