Я хочу сделать две вещи:
1) принимает строку из пользователя
2) Найдите длину этой строкиДлина входной строки на языке ассемблера
Я попытался следующий код:
.model small
.stack 100h
.data
MAXLEN DB 100
ACT_LEN DB 0 ;Actual length of the string
ACT_DATA DB 100 DUP('$') ;String will be stored in ACT_DATA
MSG1 DB 10,13,'ENTER STRING : $'
.CODE
START:
MOV AX,@data
MOV DS,AX
;Normal printing
LEA DX,MSG1
MOV AH,09H
INT 21H
;Cant understand code from here!
LEA DX,ACT_DATA
MOV AH,0AH
MOV DX,OFFSET MAXLEN
INT 21H
LEA SI,ACT_DATA
MOV CL,ACT_LEN
;AND THEH SOME OPERATIONS
END START
Но я смущен тем, как длина сохраняется в регистре CL
, т. Е. Как увеличивается значение ACT_LEN
? А что на самом деле mov AH,0A
имеет отношение к длине?
Как изменить значение ACT_LEN.Пожалуйста, сделайте это! Все ли сделано командой MOV AH, 0Ah на смещение 01h ?? –