请问下面两段汇编语言是什么意思,各是什么功能 求详细说明 越详细越好。
1.MOVCX,10CLDLEASI,FirstLEADI,SecndREPMOVSB2.CLDLEADI,[0404H]MOVCX,0080HXORAX,AXREPST...
1.
MOV CX, 10
CLD
LEA SI , First
LEA DI , Secnd
REP MOVSB
2.
CLD
LEA DI , [0404H]
MOV CX , 0080H
XOR AX , AX
REP STOSW 展开
MOV CX, 10
CLD
LEA SI , First
LEA DI , Secnd
REP MOVSB
2.
CLD
LEA DI , [0404H]
MOV CX , 0080H
XOR AX , AX
REP STOSW 展开
2个回答
展开全部
好麻烦啊,够详细了吧,累
MOV CX, 10 ;//这不用解释吧
CLD ;//串地址正向增值,也就是类似i++操作
LEA SI , First ;//将数据段First的地址偏移量送SI
LEA DI , Secnd ;//将数据段Secnd的地址偏移量送DI
REP MOVSB ;//REP 就是字符串的无条件重复前缀 使REP后的指令无条件重复CX值指定的次数,MOVSB 就是将源串一字节传送到目地串,并自动修改指针值(MOVSB和REP重复使用,MOVSB先执行,REP后执行。MOVSB第一次执行时完成的动作是:先将(SECOND)<—(FERST),然后将SI<—SI+1,DI<—DI+1。REP指令第一次执行时,将CX<—CX—1,然后重复执行REP MOVSB。)。
所以它的功能是:
将DS:First单元开始的10个字节数据复制到ES:Second单元开始的内存中。
第二题,
CLD ;同上
LEA DI , [0404H] ;//同上,差不多意思
MOV CX , 0080H ;//同上
XOR AX , AX ;//XOR AX , AX 是异或指令,对应位相同则为0,不同为1,所以相同的两个数相异或,结果为0,同时XOR又属于逻辑运算指令,该类指令执行后标志位清0,也就是FLAG=0。(简单来说就是AX清零)
REP STOSW ;//REP作用同上,STOSW是存入串指令的字操作,STOSB(字节)STOSW(字)。
所以它的功能是:将ES:0404H单元开始的80H个字(100H个字节)的内存填充0。
展开全部
PUSH CS POP AX
ADD AX,1000
PUSH AX
POP DS;设置上述数据段基址
MOV SI,0000;指定的段
CL富10
XOR AX,AX; AX清零
010E:MOV [SI],AL; AL值发送数据段[SI]指定
INC SI,SI MOV CL,0F; +1-> SI
INC AL /> DEC CL,CL减1 /> JNZ 010E;以上的0F的顺序存储在数据段中/> MOV CX,0010 BR /> 011A:MOV [SI],AL
INC SI
DEC AL
LOOP 011A;顺序存储在F0的数据段
诠释第20号
ADD AX,1000
PUSH AX
POP DS;设置上述数据段基址
MOV SI,0000;指定的段
CL富10
XOR AX,AX; AX清零
010E:MOV [SI],AL; AL值发送数据段[SI]指定
INC SI,SI MOV CL,0F; +1-> SI
INC AL /> DEC CL,CL减1 /> JNZ 010E;以上的0F的顺序存储在数据段中/> MOV CX,0010 BR /> 011A:MOV [SI],AL
INC SI
DEC AL
LOOP 011A;顺序存储在F0的数据段
诠释第20号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询