汇编语言 程序段将数据段中首地址为ADDR
下面的程序段将数据段中首地址为ADDR、长度为N的一组数据加1,并送回原处。请在_______处填上适当的内容。MOVAX,DATAMOVDS,____________M...
下面的程序段将数据段中首地址为ADDR、长度为N的一组数据加1,并送回原处。请在_______处填上适当的内容。
MOV AX, DATA
MOV DS, ____________
MOV ES, _____________
MOV SI, OFFSET ADDR
MOV ______________, SI
CLD
MOV CX, N
NEXT: ________________
INC AL
STOSB
LOOP NEXT
全还给老师了。希望给出每步的解释说明。越详细越好。谢谢。。。。。(注意是汇编语言) 展开
MOV AX, DATA
MOV DS, ____________
MOV ES, _____________
MOV SI, OFFSET ADDR
MOV ______________, SI
CLD
MOV CX, N
NEXT: ________________
INC AL
STOSB
LOOP NEXT
全还给老师了。希望给出每步的解释说明。越详细越好。谢谢。。。。。(注意是汇编语言) 展开
1个回答
展开全部
ax ax di lodsb你试试看对么.
mov ax,data ;数据段地址赋给AX
mov ds,ax ;再赋给DS和ES
mov es,ax
mov si,offset addr ;得到ADDR的偏移赋给SI
mov di,si ;把ADDR的偏移赋给DI
cld ;置方向位
mov cx,N ;一共有多少个数据
NEXT:lodsb ;把ds:si的值加载给al 同时si加1
inc al ;al加1
stosb ;把al的值存入es:di的位置
loop NEXT ;这个你懂吧
mov ax,data ;数据段地址赋给AX
mov ds,ax ;再赋给DS和ES
mov es,ax
mov si,offset addr ;得到ADDR的偏移赋给SI
mov di,si ;把ADDR的偏移赋给DI
cld ;置方向位
mov cx,N ;一共有多少个数据
NEXT:lodsb ;把ds:si的值加载给al 同时si加1
inc al ;al加1
stosb ;把al的值存入es:di的位置
loop NEXT ;这个你懂吧
更多追问追答
追问
我这里的答案是
DATA
AX
DI
LODSB
不知道是不是答案有问题。
追答
我觉得答案有问题,我很肯定mov ds,data这条指令编译不过。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询