Подсчет количества символов в строке - Assembler
Формулировка задачи:
Как сделать чтобы считались символы в строке
data segment
string db 100,100 dup ('$')
data ends
code segment
assume cs:code,ds:data
start:
mov di,1000h
mov cx,0FFh
mov al,es:[di]
cmp al,01h
jne l1
inc simbols
add di,10h
loop l2
mov ?,simbols
ret.data
simbols db 0
code ends
end startРешение задачи: «Подсчет количества символов в строке»
textual
Листинг программы
lea si, string mov ax, 0 ;загрузка длины строки в регистр ax mov al, [si]
Объяснение кода листинга программы
lea si, string- в данном коде используется инструкция LEA (Load Effective Address), которая загружает в регистр SI адрес строки.mov ax, 0- в регистр AX загружается начальное значение 0, которое будет использоваться как счетчик для подсчета количества символов в строке.mov al, [si]- значение байта из строки загружается в регистр AL. Дальше код продолжается, но эти три пункта выполняются при начале работы программы и являются ключевыми для понимания задачи.