Это то, что я уже успел сделать до сих порНаписать входной строки реверс на Assembley
Data Segment
str1 db 'String_Reverse','$'
strlen1 dw $-str1
strrev db 20 dup(' ')
MSG1 DB 10,13,'ENTER ANY STRING :- $'
MSG2 DB 10,13,'ENTERED STRING IS :- $'
MSG3 DB 10,13,'REVERSED STRING IS : $'
MSG4 DB 10,13,'REVERSED STRING IS : $'
P1 LABEL BYTE
M1 DB 0FFH
L2 DB ?
P11 DB 0FFH DUP ('$')
Data Ends
CUCU MACRO MSG ;MACRO care afiseaza un mesaj dorit
MOV AH,9
LEA DX,MSG
INT 21H
ENDM
Code Segment
Assume cs:code, ds:data
Begin:
MOV AX,DATA
MOV DS,AX
CUCU MSG1 ;afisare msg1
LEA DX,P1
MOV AH,0AH
INT 21H
CUCU MSG2 ; afisare msg2
CUCU P11 ; afisare string introdus
CUCU MSG3
mov ax, data
mov ds, ax
mov es, ax
mov cx, strlen1
add cx, -2
lea si, P11
lea di, strrev
add si, strlen1
add si, -2
L1:
mov al, [si]
mov [di], al
dec si
inc di
loop L1
mov al, [si]
mov [di], al
inc di
mov dl, '$'
mov [di], dl
Print:
mov ah, 09h
lea dx, strrev
int 21h
Exit:
mov ax, 4c00h
int 21h
Code Ends
End Begin
На данный момент у меня есть str1 и она отображается в противоположном направлении, но мне нужна переменная P11 будет показано в противоположном направлении, что я получить с клавиатуры. Из того, что я видел до сих пор, мне нужно strlen (P11), но я понятия не имею, как это получить.
Знаете ли вы, как закодировать его в C (без stdlib)? Можете ли вы написать алгоритм или блок-схему для этого? PS: комментируйте свой код (на английском языке), особенно если вы хотите, чтобы другие помогли. – Jester