shl指令和sal指令的区别
答:一、位移指令 具体含义:SHL: 逻辑左移;SAL: 算术左移;SHR: 逻辑右移;SAR: 算术右移 具体用法:SHR:每位右移, 低位进 CF, 高位补 0;SAR:每位右移, 低位进 CF, 高位不变,它们的结果影响 OF、SF、ZF、PF、二、循环移位指令 具体含义:ROL:循环左移;ROR:循环右移;RCL: 带进位循环左...
答:汇编语言中sal(算术左移指令)和shl(逻辑左移指令)指令的寻址方式、控制移位方式等都一样,区别其实只有一处:\r\nSAL算术移位指令在执行时,实际上把操作数看成有符号数进行移位,最高位符号位移入CF,但本身保持原值;其余位顺序左移,次高位被舍弃。\r\nSHL逻辑移位指令在执行时,实际上把操作...
答:楼上说的对,shl和sal,左移的操作,效果都是一样的(shl和sal的机器码都是相同的)sar和shr的主要区别在于,向右移动时,sar会根据最高为是否为1来扩展符号位,shr只把移出来的位补0 比如 -1 的16位二进制是1111 1111 mov ax, -1 sar ax, 1 ; ax还是1111 1111 shr ax, 1; 这下ax就...
答:SHL和SAL事实际没有区别,移动结果都是一样的,SHL是逻辑左移,SAL,算法左移,它们都是向左移动几位,最右就补几个0比如 SHL ax,CL ;ax=1111 1111B CL=4 ,移动后AX=1111 0000SAL AX,CL ;AX=0101 1100 CL=5移动后 AX=1000 0000 SHR是逻辑右往,向右移动几位,最左边(即最高位补0)...
答:用来代替机器码编程的。现在用的 80x86 汇编语言的编译软件,出自微软公司。当年,比尔·盖茨,还十分年轻,手下的程序员,牛,跳槽也是常事。这个人,想用 SHL,那个人,说用 SAL。盖茨不得罪人,和稀泥,两个词,就都流传下来了。像乔布斯,当年,就太强势了,反而,被驱逐出去了。
答:汇编移位指令 ;SHL(Shift Left): 逻辑左移 ;SHR(Shift Right): 逻辑右移 ;SAL(Shift Arithmetic Left): 算术左移 ;SAR(Shift Arithmetic Right): 算术右移 ;其中的 SHL 和 SAL 相同, 但 SHR 和 SAR 不同.;SHL、SAL: 每位左移, 低位补 0, 高位进 CF ;SHR : 每位右移, ...
答:SHL/SAL一样:逻辑/算术左移,最高位进到CF,最低位补0;SHR:逻辑右移,最低位进到CF,最高位补0;SAR:算术右移,最低位进到CF,最高位不变;ROL:循环左移,最高位进到CF的同时补到最低位;ROR:循环右移,最低位进到CF的同时补到最高位;RCL:带进位循环左移,最高位进到CF的,同时...
答:1. SHL (算术左移)2. SHR (算术右移)3. SAL (逻辑左移)4. SAR (逻辑右移)5. ROL (循环左移)6. ROR (循环右移)7. RCL (带进位的循环左移)8. RCR (带进位的循环右移)
答://其实sal和shl的操作是等价的,上面的操作使用shr操作是一样的结果,都是左移源操作数n位,每次移位将最高位移入cf标志位 注意sar和shl就不同了:mov eax,-2 sar eax,1//有符号右移,高位保持符号位不变,此处为1,操作后eax =0xffff ffff = -1;shr eax,1//无符号右移,高位补0,操作...
答:SAL( Shift Arithmetic Left ) 算术左移指令 该指令可用来实现算术左移操作。移位量用单个字节编码。移位量可以是一个立即数,或者放在单字节寄存器元素 CL 中。此外SHL( Shift Logical Left ) 逻辑左移指令与 SAL 的效果是一样的。都是将右边填上0。例如 SAL D , k D << k → D 表示对D...
网友评论:
印典19196944329:
SAR,SHR,SAL,SHL区别 -
38602强剂
: SHL,SAL分别是逻辑左移和算术左移,运行结果是一样的,都是数据往左移动,然后在右边补零; SHR是逻辑右移,数据往右移动,在左边补零.如:1000 0000->0010 0000(逻辑右移两位) SAR是算术右移,比较特殊.他的最高位一直是不变的.如1000 0000算术右移7位后就成了1111 1111.
印典19196944329:
SHR,SAR,SAL,SHL区别 -
38602强剂
: 楼上说的对,shl和sal,左移的操作,效果都是一样的(shl和sal的机器码都是相同的) sar和shr的主要区别在于,向右移动时,sar会根据最高为是否为1来扩展符号位,shr只把移出来的位补0比如 -1 的16位二进制是1111 1111 mov ax, -1 sar ax, 1 ; ax还是1111 1111 shr ax, 1; 这下ax就变成0111 1111了这就是“算数”和“逻辑”移位的区别,算数移位保留操作数的符号,逻辑移位只把操作数当作一块单纯的存储空间
印典19196944329:
左移命令<< 循环左移命令 - cror - 有什么区别? -
38602强剂
: 左移指令<< : 是左移指令,低位补零. 左移指令将操作数的bit位向左移动n位,空出来的位用0填充.左移指令包含sal和shl,这两条指令的作用是相同的,空出来的位用0填充. 循环左移指令_cror_: 循环左移指令,低位补高位移除的数据. 使能输入有效时,将IN输入无符号数(字节、字或双字)循环左移N位后,将结果输出到OUT所指定的存储单元中,移出的最后一位的数值送溢出标志位SM1.1.当需要移位的数值是零时,零标志位SM1.0为1.
印典19196944329:
汇编指令的逻辑运算 -
38602强剂
: AND 与运算.or 或运算.XOR 异或运算.NOT 取反.TEST 测试.(两操作数作与运算,仅修改标志位,不回送结果).SHL 逻辑左移.SAL 算术左移.(=SHL) SHR 逻辑右移.( 每位右移, 低位进 CF, 高位补 0) SAR 算术右移.(每位右移, 低位进 CF, 高位不变) ROL 循环左移.ROR 循环右移.RCL 通过进位的循环左移.RCR 通过进位的循环右移.以上八种移位指令,其移位次数可达255次.移位一次时, 可直接用操作码. 如 SHL AX,1.移位>1次时, 则由寄存器CL给出移位次数.如 MOV CL,04 SHL AX,CL
印典19196944329:
汇编中的逻辑指令 -
38602强剂
: CPU在存储程序原理中扮演的角色是—— 运算器与控制器,运算器对应的就是逻辑运算指令和算术运算指令、浮点运算指令等,控制器对应的是跳转指令,而逻辑运算指令都是基于 布尔代数的,即我们在高中数学中学的 或 且 非. 对应的指令为 and or not 当然还有xor.and 集合观点是取 流(01流)的交集, or是取并集 not是取补集 xor是取子集.数论的观点 and是二进制乘法 xor是二进制加法..等等.逻辑运算是很关键的东西,因为这是cpu控制器实现控制的条件.因此是很重要的.需要深入的理解一下
印典19196944329:
汇编指令EQU的作用? -
38602强剂
: EQU是等值命令. 汇编指令EQU的作用如下. 1、用符号名代表字符串 .用一个具有一定含义的符号名定义某一个较长的字符串,在随后的程序中就用该符号名. 2、用符号名关键字或指令助忆符 .用一个(组)程序员自己习惯的符号名来代...
印典19196944329:
8086汇编中,SHL和SAL为什么是一样的而SHR和SAR为什么是不一样的?也就是逻辑左移右移跟 -
38602强剂
: 算术右移和逻辑右移对最高位的填充不同.算术右移填充sf,逻辑右移填充0吧
印典19196944329:
汇编语言中的移位指令具体的操作是怎样的呢? -
38602强剂
: SHL/SAL一样:逻辑/算术左移,最高位进到CF,最低位补0;SHR:逻辑右移,最低位进到CF,最高位补0;SAR:算术右移,最低位进到CF,最高位不变;ROL:循环左移,最高位进到CF的同时补到最低位;ROR:循环右移,最低位进到CF的同时补到最高位;RCL:带进位循环左移,最高位进到CF的,同时CF值补到最低位;RCR:带进位循环右移,最低位进到CF的,同时CF值补到最高位;SHLD:双精度左移,第二个操作数移位到第一个操作数,第一操作数进到CF,和逻辑左移类似,低位移到高位;SHRD:双精度左移,第二个操作数移位到第一个操作数,第一操作数进到CF,和逻辑由移类似,高位移到低位;这样差不多可以了吧.
印典19196944329:
pascal 中shl的意思 -
38602强剂
: shl 是逻辑左移指令,每移一位相当于把源操作数乘以2.格式:SHL(或SHR) OPR,CNT逻辑左移/右移指令只有它们的移位方向不同,移位后空出的位都补0.注:逻辑移位指令常用于无符号数*2或/2,受影响的标志位:CF、OF、PF、SF和ZF(AF无定义).另外,shl 不是pascal 语言本身的指令,是属于汇编语言中的指令. 关于移位指令,有算术左移指令sal和算术右移指令sar, 逻辑左移SHL和逻辑右移SHR,循环左移ROL和循环右移ROR.386及其后继机型可以使用的SHLD双精度左移和SHRD 双精度右移
印典19196944329:
汇编语言指令大全,要详细的 !!!!
38602强剂
: 最佳答案IBM-PC汇编语言指令集 数据传送指令集 MOV 功能: 把源操作数送给目的操作数 语法: MOV 目的操作数,源操作数 格式: MOV r1,r2 MOV r,m MOV m,r MOV r,data XCHG 功能: 交换两个操作数的数据 语法: XCHG 格式: XCHG r...