请问下面两段汇编语言是什么意思,各是什么功能 求详细说明 越详细越好.1. MOV CX, 10CLDLEA SI , FirstLEA DI , SecndREP MOVSB 2.CLDLEA DI , [0404H]MOV CX , 0080HXOR AX , AXREP STOSW

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/27 22:45:11

请问下面两段汇编语言是什么意思,各是什么功能 求详细说明 越详细越好.1. MOV CX, 10CLDLEA SI , FirstLEA DI , SecndREP MOVSB 2.CLDLEA DI , [0404H]MOV CX , 0080HXOR AX , AXREP STOSW
请问下面两段汇编语言是什么意思,各是什么功能 求详细说明 越详细越好.
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

请问下面两段汇编语言是什么意思,各是什么功能 求详细说明 越详细越好.1. MOV CX, 10CLDLEA SI , FirstLEA DI , SecndREP MOVSB 2.CLDLEA DI , [0404H]MOV CX , 0080HXOR AX , AXREP STOSW

好麻烦啊,够详细了吧,累

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.