第2,3,4章微处理器与指令系统-15详解.ppt
文本预览下载声明
MOV BX , OFFSET BLOCK ; 将BLOCK 偏移地址送 ; BX 作为缓冲区的指针 MOV AX , [BX] INC BX ;数据指针指向下一个字数据; INC BX MOV CX , 99 ;循环初值即比较次数 AGAIN: CMP AX , [BX] ;AX与BX所指存储单元中的 ;两个16位数比较 JG NEXT ;若AX 中的数大, 不需要处理 MOV AX , [BX] ;否则 , 大数送AX,作为当前 ;的最大数据。 NEXT : INC BX ;数据指针加2 INC BX DEC CX ; 循环次数减一次 JNZ AGAIN ; CX ≠ 0 继续比较 MOV MAX , AX ;否则AX为最好结果, 并存放 ;到 MAX 单元 HLT 列:分析下列程序段完成的是什么功能, 并写出执行后结果。 (AL) =? (DL)= ? MOV AL , 87H MOV DL , AL AND AL , 0FH OR AL , 30 MOV CL , 4 SHR DL , CL OR DL , 30H 屏蔽AL 的高4位 将个位”7“ 转换为ASCII吗 DL 变为非压缩BCD码 8 形成8的ASCII码 功能:将“87”变为ASCII码数据. (AL) = 37H (DL) 38H * * * 串操作约定: 用DS:(E)SI寻址源串,允许段超越; 用ES:(E)DI寻址目的串,但ES段不能超越; 由DF标志位决定(E)SI,(E)DI 指针增减: DF=0,递增;DF=1,递减;( CLD , STD) 指令执行完成后, (E)SI,(E)DI 指向下一个单元。 由串长度(字节、字、双字)决定指针增/减量大小; 带重复前缀时,用(E)CX作重复计数器。 3.2.4 串操作类指令 1. 串传送指令 格式: MOVSB/MOVSW/MOVSD MOVS 目的串,源串 MEM, MEM 操作: 将DS:[(E)SI]所指的源串中的一个字节、字或双字传送到ES:[(E)DI]指的目的串中,然后,按DF指示和操作数长度修改(E)SI,(E)DI指针,即: [ES:(E)DI]←([DS:(E)SI]) (E)SI←((E)SI)±1/2/4 ;修改源指针 (E)DI←((E)DI)±1/2/4 ;修改目的指针 说明: 应用:用于数据块传送 该指令允许加重复前缀REP。即: REP
显示全部