文档详情

2015年信息与通信工程,微机67752326.ppt

发布:2017-09-01约3.24万字共129页下载文档
文本预览下载声明
例:若自Block开始的内存中有100个带符号数,找出最大值存入Max单元。 Block 65 F3 02 00 24 E0 05 00 MOV BX, Offset Block MOV AX,[BX] INC BX INC BX MOV CX,100 Again: CMP AX, [BX] JG NEXT MOV AX,[BX] Next: INC BX INC BX DEC CX JNZ Again MOV MAX,AX HLT Max 例:在分别由Data1和Data2开始的两个内存区域中,分别存放着5个1字节 的无符号数,如果Data1中的第N个数大于Data2中的第N个数,则进行 Data1[N] - Data2[N] 运算,否则 进行 Data1[N] + Data2[N] 运算, 运算结果存回Data1中 Data1 Data2 65 F3 02 00 24 E0 05 00 89 D3 LEA SI, Data1 LEA DI, Data2 MOV CX,5 Again: MOV AL,[SI] CMP AL,[DI] JC Adddat SUB AL,[DI] JMP Next Adddat: ADD AL,[DI] Next: MOV [SI], AL INC SI INC DI DEC CX JNZ Again HLT Data1 Data2 65 F3 02 00 24 E0 05 00 89 D3 串存储 STODS STODSB STODSW 将AL/AX的值存入地址为ES:DI的内存单元,自动修改DI,使其指向下一个单元 利用重复前缀REP,可以建立一个取值相同的数据串 CX=0? CX-1?CX STOS REP STOS Y N 例:初始化内存,使其内容全部为0。 Lea di, dest mov al, 0 Mov cx, 30 Cld again: Stosb Dec cx Jnz again Hlt 23 D0 05 AB 92 Dest 00 00 00 00 DI (AL) ? [DI] ( DI )+1 ? DI 例:初始化内存,使其内容全部位0。 Lea di, dest mov ax, 0 Mov cx, 15 Cld again: Stosw Dec cx Jnz again Hlt 23 D0 05 AB 92 Dest 00 00 00 00 DI (AL) ? [DI] ( DI )+2 ? DI 例:初始化内存,使其内容全部为0。 与 Rep 指令 配合使用。 Lea di, dest mov al, 0 Mov cx, 30 Cld Rep Stosb Hlt 23 D0
显示全部
相似文档