하루의 기록

소프트웨어 개발과 독서와 이런 저런 관심사 늘어놓기

MMIX: 명령행 인자 출력하기

명령행 인자를 출력하는 MMIX 코드

argv    IS      $1
t       IS      $255
k       GREG    0
        LOC     Data_Segment
        GREG    @
NewLn   BYTE    #a,0
        LOC     #100
Main    SET     k,0
Loop    LDOU    t,argv,k
        BZ      t,Term
        TRAP    0,Fputs,StdOut
        LDA     t,NewLn
        TRAP    0,Fputs,StdOut
        ADDU    k,k,8
        JMP     Loop
Term    TRAP    0,Halt,0

레지스터 $0에 저장된 명령행 인자 갯수를 이용한 명령행 인자 출력

cnt     IS      $0
argv    IS      $1
t       IS      $255
k       GREG    0
        LOC     Data_Segment
        GREG    @
NewLn   BYTE    #a,0
        LOC     #100
Main    SET     k,0
Loop    LDOU    t,argv,k
        TRAP    0,Fputs,StdOut
        LDA     t,NewLn
        TRAP    0,Fputs,StdOut
        ADDU    k,k,8
        SUB     cnt,cnt,1
        BNZ     cnt,Loop
Term    TRAP    0,Halt,0
이전 글: 첫삽
다음 글: 500 Primes
© 2014-2023 Jahyun Oh / Gatsby로 만듬