Conversion romain arabe

Signaler
-
bonjour
voila une fonction parmi le programme qui effectue la conversion d'un nombre romain ---> arabe
je suis sure qu'il y'a pas un probleme dans l'algorithme parce que j'ai fais le deroulement plusieurs fois
mais si vous remarque il y'a un probleme dans l'instruction indiquee (++++++++)
j'ai besoin d'aide le plus vite possible !!
merci d'avance
voila le code
-----------
; multi-segment executable file template.

data segment
; add your data here!
romain dw 'CM','DC','CD','XC','LX','XL','IX','IV'
arabe dw 900 , 600, 400, 90, 60, 40, 9, 4
romain2 db 'M' , 'D' ,'C' ,'L', 'X' , 'V','I'
arabe2 dw 1000 , 500, 100, 50, 10, 5, 1
chaine db 'MMDCCXCIII$'

pkey db "press any key...$"
ends

stack segment
dw 128 dup(0)
ends

code segment
start:
; set segment registers:
mov ax, data
mov ds, ax
mov es, ax

; add your code here

mov si,0
mov di,0
mov bx,0
BINOME :
cmp chaine[si],24h
JE FBINOME
mov ah ,chaine[si]
mov al,chaine[si+1]
mov cx,6
BOUCLE :
mov dx,romain[di]
CMP ax,dx
Jne FINSI
mov bx,arabe[di]
mov chaine[si],20h
mov chaine[si+1],20h
FINSI :inc di
LOOP BOUCLE
mov di,0
add si,2
JMP BINOME
FBINOME :
;lea dx, pkey
;mov ah, 9
;int 21h ; output string at ds:dx

; wait for any key....
mov ah, 1
int 21h

mov ax, 4c00h ; exit to operating system.
int 21h
ends

end start ; set entry point and stop the assembler.