0
상반부를 아래쪽으로 바꿔야하고 내 코드는이 작업을 수행하지만 마지막 줄은 "C :> FILE_NAME"이어야합니다. 그러나 그 줄에있는 C는 마지막 두 번째에 있습니다. 또한 한 행이 누락되었습니다. 나는 CX에서 숫자로 놀아 보려고 노력했지만 아무데도 못 가고있다. 코드는 다음과 같습니다.x86 어셈블리를 사용하여 vga 텍스트 화면을 반으로 바꿉니다
;Swap two halves of the screen crosswise
JMP START ;This will start the program
START:
MOV AX, 0B800H
MOV ES, AX ;Assign Video Display Area to ES
MOV DS, AX ;Assign Video Display Area to DS
MOV SI, 0
MOV DI, (80*2)*(12) ;Lower half of screen
MOV CX, 13 ;Loop for half of screen
OUTERLOOP:
PUSH CX
MOV CX, 80 ;COLUMNS. I GET IT NOW!
INNERLOOP:
MOV AL, [DS:SI]
MOV B[ES:DI], AL
ADD DI, 2
MOV BL, [ES:DI]
MOV B[ES:SI], BL
ADD SI, 2
LOOP INNERLOOP
POP CX
LOOP OUTERLOOP
INT 20H
당신을 감사 설정! 나는 한 줄이 복사되지 않는다는 사실을 해결할 방법을 찾았 기 때문에 13을 만들었지 만 정상적인 것 같아요. 이제는 할 일이 남아 있습니다. –