我们应该将上半部分与下半部分交换,我的代码就是这样做的,但问题是最后一行应该是“C:>FILE_NAME”。但是该行中的 C 位于倒数第二个。它也缺少一行。我一直在尝试使用 CX 中的数字,但我一无所获。这是代码:
;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