이 코드의 목적은 INC 카운터가 사용 된 횟수를 나타내는 숫자 아래에 "hello World"라는 제목을 표시하는 것입니다. 이 코드를 실행하면 MS DOS에서 문자 스트링이 그 아래에 문자 K (숫자가 필요함)로 표시됩니다. 부수적으로, 레지스터 D는 사용할 수 없으며 할당 된 메모리 위치는 899입니다. 그래서 기본적으로 프로그램을 실행할 때마다 숫자 대신 문자 (또는 다른 임의의 문자)를 얻는 이유를 알아내는 데 도움이 필요합니다. . 내 문제는 첫 번째 INT 21 이후이지만 100 % 확실하지는 않습니다. 가능하다면 나는 이것에 대한 약간의 의견과 아마 정정을 원할 것이다. 여기 내 코드는 다음과 같습니다x86 어셈블리 (카운터 표시 방법)
debug
a100
MOV cL, 02
MOV AL, [0899]
MOV BL, [0900]
SUB AL, BL
MOV BL, 0
JGE 115
INC BL
ADD AL, CL
JMP 10D
MOV [0899], AL
MOV DX, 054B
MOV AH, 09
INT 21
ADD BL, 30
MOV CL, BL
MOV AH, 02
INT 21
INT 20
e 054B "Hello World" 0d 0a "$"
g=100
인쇄 할 것으로 예상되는 것은 무엇입니까? 숫자를 얻기 위해 30 시간을 추가하는 방법은 한 자리 숫자 (예 : 0..9)에서만 작동합니다. 숫자가> = 10 인 경우 10으로 나누고 나머지 30h를 출력해야합니다. – Michael