그 이유를 모른 채 DB 20, 22
약간의 시간과 문자열을 정의했습니다 :'20, 22'문자열 DB 20, 22 dup ('?') '이 필요합니까?
내가 첫 번째 바이트 버퍼 크기는 것을 읽고 두 번째 문자열을 사용 바이트 수를 가지고,하지만 난 알고하지 않습니다 두 값 모두 필수입니다. 예를 들어 문자열을 정의하고 레지스터를 가리키고 싶다면 +2를 사용하여이 두 문자를 건너 뛸 수 있습니다. 난 그냥 lea si, string
을 할 수있는 그들없이 문자열을 정의 아닌지 궁금한데
string DB 20, 22 dup('?')
lea si, string+2
lea si, [string] ; I think this is another alternative
. 이것이 가능합니까 아니면 두 항목 모두 필수입니까? 또한 줄을 건너 뛰고 커서를 처음으로 옮길 때 DB 13, 10
컴파일러는 어떻게 13이 버퍼 크기가 아니고 문자 수가 10인지 알 수 있습니까? 나는 아마도 말도 안되는 말이지 만이 문제에 대한 설명은 감사 할 것입니다.
'x dup (y)'는 "y"값의 "x"복사본을 작성하는 한 가지 방법입니다. 이것은 내게 길이 접두어가 붙은 20 '문자열로 보입니까?' 문자 수를 고려해야합니다. – cHao
메모리에 문자열을 표현하는 몇 가지 방법이 있으므로 문자열에 대한 작업에 따라 다릅니다. –
내가 신경 쓰지 않았기 때문에 dup()을 제거했습니다. 내가 알고 싶은 것 중 하나는 문자열을 정의하는 방법이 있다면 'lea si, string'으로 간단히 가리킬 수 있습니다. – lisovaccaro