第第六六章章 移位指令及循环移位指令 串操作指令 宏指令习题6 ?所谓高级编程技术,是指在汇编语言程序设计中,如果我们把移位及循环移位指令、串操作指令和宏指令巧妙地应用到汇编语言程序设计中,将大大提高编程质量和编程效率。?本章主要介绍这三类指令: 移位及循环移位指令、串操作指令和宏指令的功能, 并通过大量例子说明其应用。 移位指令及循环移位指令?移位指令完成对操作数的移位操作。分为一般移位和循环移位指令。移位操作也是将操作数倍增和减半的有效方法。 移位指令(1)逻辑左移指令【指令格式】SHL D ,COUNT D为通用寄存器或存储器操作数。 COUNT 表示移位的次数。移位一次, COUNTR= 1; 移位多次, COUNT= CL (CL中为移位的次数)。?【功能】对给定的目的操作数 D (8位/ 16位)左移 COUNT 次。最高位移入 CF中,最低位补零。?其操作示意图如图 6-1 所示。图6-1 逻辑左移指令操作示意图?例如:如下逻辑左移指令: ?SHL AL ,1 ? MOV CL ,3 ? SHL CX ,1 ? SHL DX ,CL ? SHL ALFA[DI] ,1 ? SHL ALFA[DI] ,CL ?说明: 本指令影响标志位: OF、PF、 SF,ZF。CF决定移入的最高位。?本指令主要用于向左移位操作。但因为左移一位相当于权值提高一级,故本指令又常作有、无符号数的倍增操作。?但请注意,在左移一次后,当新的操作数最高位与 CF不相同时,则 OF置1,表明有符号数操作产生溢出,不再符合倍增关系。对无符号数,当移位后使 CF置1, 则不再符合倍增关系。
第6章-高级编程技术 来自淘豆网m.daumloan.com转载请标明出处.