Assembly, főleg kezdőknek...
  • Zizi2
    #10
    Szia!
    Én se sokat értek hozzá, de sikerült megcsináltom. A program (szerintem) úgy működik, hogy ez elsőnek beolvasott karaktert az utolsó helyre teszi, utolsó elöttire a másodikat stb. Igaz az enyém csak 10 karakteres, de működik.

    fradi segment
    assume cs:fradi
    beolv db 10 dup(' ')
    db '$'
    beolvdb db 0

    start:
    mov ah,0 ;karakter beolv.
    mov al,3
    int 10h
    mov di, offset beolv
    add di,9
    push cs
    pop ds
    mov cl,0
    vissza:
    mov ah,0
    int 16h
    cmp al,13 ;enter teszt
    jz vege
    mov [di],al
    dec di
    inc cl
    jmp vissza

    vege:
    mov beolvdb,cl
    mov bh,0
    mov dl,5
    mov dh,10
    mov ah,2
    int 10h
    mov dx,offset beolv
    mov ah,9 ;kiírás
    int 21h

    mov ah,4ch ;kilépés
    int 21h

    fradi ends
    end start