小编Vst*_*why的帖子

在REP MOVSW之前,PUSH CS/POP DS的目的是什么?

为什么在下面的代码中我们推送代码段(PUSH CS)然后将其弹出到数据段(POP DS)?

我将这些行明确地表示为line1和line2.请告诉我MOVSW如何在这里工作.

IF  HIGHMEMORY
PUSH DS
MOV BX, DS
ADD BX, 10H
MOV ES, BX
PUSH CS.           ;line1
POP DS.            ;line2
XOR SI, SI
MOV DI, SI
MOV CX, OFFSET SYSSIZE  +  1
SHR CX, 1
REP MOVSW.    ;line3
POP DS
PUSH ES
MOV AX, OFFSET SECONDRELOCATION
PUSH AX
AAA PROC FAR
RET
AAA ENDP 
SECONDRELOCATION:
more code here.............. 
Run Code Online (Sandbox Code Playgroud)

assembly real-mode x86-16

2
推荐指数
1
解决办法
228
查看次数

标签 统计

assembly ×1

real-mode ×1

x86-16 ×1