画面(dosbox)に書かれたものをテキストモードで保存し、画面をクリアしてから以前に書かれたものを復元するアセンブリコードを書く必要があるので、このコードを書きましたが、正しく動作していないようです..誰でも理由を指摘できますか?本当に感謝します
PS:私はまだ初心者です
これが私のコードです:
Dataseg segment
Data_seg dw 2000 dup(?)
Dataseg ends
Codeseg segment
Main PROC far
assume ds:Dataseg,cs:Codeseg,ss:stackseg
Mov ax,Data_seg
Mov es,ax
Mov ax,0b800h
Mov ds,ax
Mov cx,25*80 ;(rows)*cols-default for screen
Mov di,OFFSET Data_seg
Mov si,0
CLD ;autoincrement
Rep movsw
;now clearing the screen
Mov cx,25*80
Mov ax,0b800h
Mov es,ax
Mov ax,0720h
Mov di,0
Rep stosw
;now restoring the contents of the screen
Mov ax,Data_seg
Mov ds,ax
Mov cx,25*80
Mov di,0
Mov si,OFFSET Data_seg
Rep movsw
Mov Ah,4ch
Int 21h
Main endp
Codeseg ends
end Main