Задача более сложная, но в приведенном коде я даже не справился по какой-то причине с подсчетом длины строки. При чем я в принципе не понимаю где моя ошибка. Прошу пожалуйста указать на ошибку, а не скинуть ее решение.


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



Программа уходит в бесконечный луп не выходя из «тела» «цикла».









 , , ,






URL записи