atarionline.pl Rzeczy które chciałbyś w MADSie ale boisz się poprosić :) - Forum Atarum

Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

  • :
  • :

Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

    • 1: CommentAuthortebe
    • CommentTime3 Jun 2023
     
    poprawione ->link<-

    dta 'text'^*,"text"*^
    • 2: CommentAuthormono
    • CommentTime4 Jun 2023
     
    Dzięki, działa pięknie.
    • 3: CommentAuthorVagant
    • CommentTime7 Jun 2023 zmieniony
     
    Witam i mam pytanie. Dopiero zaczynam zabawę z MADS i przesiadam się z kickassemblera z c64. Występują tam wygodne dyrektywy .fill a zwłaszcza .lohifill opisane tutaj ->link<-
    Czy jest jakiś odpowiednik w MADS?
    • 4: CommentAuthormono
    • CommentTime8 Jun 2023 zmieniony
     
    W mads masz:
    - iterator :n ->link<-
    - dyrektywę .rept ->link<-
    Do .lohifill musisz używać osobnych konstrukcji typu:
    lo:
    :$100 .byte <[40*#]
    hi:
    :$100 .byte >[40*#]

    albo też .reptów.
    Nie wiem czy jest w dokumentacji, ale dzięki temu że do .repta przekazuje się też parametry, to można .repty zagnieżdżać np.
    .rept 2
    .rept 3,#
    .byte #,:1
    .endr
    .endr
    • 5:
       
      CommentAuthorpirx
    • CommentTime8 Jun 2023 zmieniony
     
    hej,

    .fill może być zastąpiona skrótem

    :N

    nie potrzeba oddzielnych wersji dla word itp.

    np.

    :4 .byte 0

    (cztery zera)

    :4 .word 0

    (osiem zer)

    .fillword 5,i*$80

    to będzie

    :5 .word #*$80


    ->link<-

    Jeśli chodzi o .lohifill, to ni ma, a w sumie to by się przydało. Można emulnąć makrem. Może nawet zrobię, by nam się kod o 1000 linii skrócił :]

    >>> hehe za wolno klikalem, mono jak zawsze wygrywa :)
    • 6: CommentAuthormono
    • CommentTime8 Jun 2023
     
    Wszystko to wina smarkzabawek - ja piszę na prawdziwym komputrze :)

    sin i cos też jest w madsie, ale ja nie umiem używać i generuję sobie sam tablice pythongiem ale zawsze mam projekt z makefilem.
    • 7: CommentAuthortebe
    • CommentTime8 Jun 2023
     
    bez przesady z tym skracaniem kodu, bo przestaje być to czytelne

    już .lohifill może być mylące, czy chodzi o lo(x), hi(x), lo(x)...
    czy lo(x), lo(x)..... hi(x), hi(x)....

    w xasm skracanie rejestrów przez ^ też wg mnie jest za daleko posuniętym skracaniem kodu

    jeśli czytanie kodu wymaga zatrzymania się i zastanawiania tzn. że jest nieczytelny
    • 8: CommentAuthorVagant
    • CommentTime8 Jun 2023
     
    Dzięki!
    • 9:
       
      CommentAuthormiker
    • CommentTime8 Jun 2023
     
    Taka prośba od Świętego, może da radę:
    "Szukam czegoś - może mads ma takie coś (...) które jest w stanie zrobić listę zmiennych używanych przez daną procedurę od np etykiety, sprawdzając wszystkie podskoki typu jsr, rozgałęzienia itp".
    • 10: CommentAuthormono
    • CommentTime8 Jun 2023
     
    @tebe: Podpisuję się pod tym obydwoma ręcami.
    • 11: CommentAuthortebe
    • CommentTime8 Jun 2023
     
    jeśli mają jakąś systematyczną nazwę, np. skp0, skp1, skp2 ...

    to .ifdef je wyłuska

    .rept 100,#
    .ifdef skp:1
    .print skp:1
    .endif
    .endr
    • 12:
       
      CommentAuthormiker
    • CommentTime8 Jun 2023
     
    A co jeżeli nie mają?
    • 13:
       
      CommentAuthorpirx
    • CommentTime8 Jun 2023
     
    @tebe
    bez przesady z tym skracaniem kodu, bo przestaje być to czytelne


    Zgoda, w dodatku ni ma etykiety lo i hi i potem trzeba się odwoływać do jakiegoś "etykieta+(etykieta_end-etykieta)/2"
    i się trzeba zastanowić, czy dać +1, czy nie ;)
    • 14: CommentAuthortebe
    • CommentTime8 Jun 2023
     
    miker: można przełącznikiem -t podejrzeć wszystkie etykiety

    -t[:filename] Generate ".lab" labels file