Siemka,
Napisałem program w assemblerze, który ma zamieniać dwa sąsiadujące ze sobą znaki.```
Kod SEGMENT
ORG 100h
ASSUME CS:Kod, DS:Kod, SS:Kod
start: jmp poczatek
tekst DB "Jakis napis","$"
poczatek:
mov bx, OFFSET tekst
petla:
mov al, [bx]
cmp al, '$'
je wyswietlenie
inc bx
mov ah, [bx]
cmp ah, '$'
je wyswietlenie
mov [bx - 1], ah
mov [bx], al
inc bx
jmp petla
wyswietlenie:
mov ah, 09h
mov dx, OFFSET tekst
int 21h
koniec:
mov ax, 4C00h
int 21h
Kod ENDS
END start
Problem polega na tym, iż pomimo program prawidłowo zamienia znaki w przykładowym napisie, to także dodaje na koniec jakieś inne niepasujące znaki ASCII:
Będę wdzięczny za każda pomoc oraz uwagi do mojego kodu.