Задача более сложная, но в приведенном коде я даже не справился по какой-то причине с подсчетом длины строки. При чем я в принципе не понимаю где моя ошибка. Прошу пожалуйста указать на ошибку, а не скинуть ее решение.
DATA SEGMENT
STRING DB "ABCDE", 0
DATA ENDS
SSEG SEGMENT STACK
DW 100 DUP(?)
SSEG ENDS
CODE SEGMENT
ASSUME CS:CODE, DS: DATA, SS:SSEG
START:
XOR AX, AX
MOV SI, 0
MOV SI, OFFSET STRING ; SI ---> FIRST STRING MEMBER. USED TO COUNT STRING'S LENGTH
;COUNTING STRING'S LENGTH
WHILE:CMP STRING[SI], 0
INC SI
JNZ WHILE
MOV AX, SI ;AX => 5H
EXIT:MOV AH, 4CH
INT 21H
CODE ENDS
END START
Программа уходит в бесконечный луп не выходя из «тела» «цикла».