Assembly, főleg kezdőknek...
  • sanyiii
    #8
    Sziasztok!

    Most tanulok suliban assembly-t és még elég kezdő vagyok. Van egy program amit egyszerűen nem tudok megírni. Légyszives segítsetek!
    A feladat, hogy egy maximum 40 karater hosszú szöveget be kell kérni (enter lenyomására a beolvasás vége), majd fordítottan kiírni. Szóval ha én beírom hogy 'sanyi', akkor ezt írja ki: 'iynas'.
    Eddig jutottam:

    .MODEL small
    .STACK 100h
    .DATA
    ;
    szoveg1 db 43 dup(?)
    szoveg2 db 43 dup(?)
    ;
    .CODE
    ;
    mov ax,@data
    mov ds,ax
    ;
    mov bx,0
    mov cx,40
    beolvas:
    mov ah,1
    int 21h
    mov szoveg1[bx],al
    inc bx
    cmp al,13
    je beolvas_vege
    loop beolvas
    ;
    dec bx
    beolvas_vege:
    mov szoveg1[bx],10
    mov szoveg1[bx+1],13
    mov szoveg1[bx+2],'$'
    ;
    inc bx
    mov si,0
    mov di,bx
    mov cx,bx
    csere:
    mov al,szoveg1[di]
    mov szoveg2[si],al
    inc si
    dec di
    loop csere

    mov ah,9
    mov dx,OFFSET szoveg2
    int 21h
    ;
    mov ah,4ch
    int 21h
    END

    Előre is köszönöm a segítséget!!