汇编程序的逻辑位移与算术位移有何本质上的区别?

好123网址之家2022-10-04 11:39:541条回答

已提交,审核后显示!提交回复

共1条回复
雪柔_zz 共回答了22个问题 | 采纳率90.9%
汇编语言中的逻辑右移(SHR)是将各位依次右移指定位数,然后在左侧补0,算术右移(SAR)是将各位依次右移指定位数,然后在左侧用原符号位补齐.
1年前

相关推荐

为什么要定义堆栈段,很多汇编程序都没有显性的用到堆栈段(既没有用到ss和sp,pop,push),但还是定义了堆栈段,并
为什么要定义堆栈段,很多汇编程序都没有显性的用到堆栈段(既没有用到ss和sp,pop,push),但还是定义了堆栈段,并开辟了一定的存储空间,既然没用到,为什么要定义堆栈段并且开辟存储空间?
如下面的代码是求1+.+100的和?
为什么定义了堆栈段,并开辟了200个字节存储区后,在后面的程序中没有用到呢?
STACK SEGMENT
DB 200 DUP(0)
STACK ENDS
DATA SEGMENT
SUM DW
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:STACK,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV AX,0
MOV CX,100
NEXT:ADD AX,CX
LOOP NEXT
MOV SUM,AX
CODE ENDS
END START
jenqi08201年前1
龙楼凤阁 共回答了19个问题 | 采纳率84.2%
第一,在定义时,还没有写程序,不知道程序会不用用到堆栈
第二,即使自己没有用到,在发生中断、过程调用等情况时,还是用到了堆栈
所以在定义时都会分配一定的堆栈空间的