其他分享
首页 > 其他分享> > 在?一起翻车。。。

在?一起翻车。。。

作者:互联网

CSAPP第一次小测——汇编

在?一起翻车。错了四道四道,老哥,您这是干啥啊?好好补一补,博客记一下,警戒+积累,本次大坑是:

T1在这里插入图片描述
考察add指令
两个正整数相加,结果存放在%edx=0x2729 5700‬

T2
在这里插入图片描述
在这里插入图片描述
考察cmpl指令和有符号跳转指令jge
注意有符号整型数据以二进制补码的形式存放,而jge指令为有符号大于等于Greater or Equal(Signed),因此将对两个数据进行有符号整型数据处理,%edx=0xb44b077d=1011 0100 0100 1011 0000 0111 0111 1101‬显然是一个负数,而%eax=0x4bfd7fdb=0100 1011 1111 1101 0111 1111 1101 1011‬为正数。因此%eax - %edx>0,不进行跳转.L2,%eax=%eax-%edx=0x4bfd7fdb-0xb44b077d=0x97b2785e

  • 注意有符号整数用补码形式存储
  • 对于一个16进制有符号数,是一个负数的标志是符号位为1,只要X>10000=8,那么他就是负数
    -计算器直接×-(1),然后截取后4个字节即可得到补码

T3
在这里插入图片描述
考察movsbl符号扩展指令传送指令

  • movsbl:在一些强制转化时可能使用,进行符号位扩展,高位扩展位用符号填充
    0x9e=1001 1110用符号位1扩展高位得到 111111111111111111111111 1001 1110=0xffffff9e
  • 注意带L是移动32位

T4
在这里插入图片描述
在这里插入图片描述
考察寄存器组成
在 cmpl %ecx,%ebx 之时,%ebx=0xed22153a,%eax=0xed225201

  • jae指令代表无符号数大于等于
  • %ebx < %eax,所以不进行跳转,直接运算0x9+0xed22153a=0xed221543‬
    -错误原因:没有理解cmpl指令和jae是Des-Src

T5
在这里插入图片描述
这里敲个警钟!传送指令,目的,源,必须要完全字节对应!是多大就多大除非是mov
在这里插入图片描述
考察传送指令
这里由于movb dh都是单字节,而目的eax是4字节,所以编译不通过

T6
在这里插入图片描述
考察leal指令
%ecx*4+0x60=2 C85B CCAC‬,丢弃其高位得到0xC85B CCAC,

  • 虽然这里没说这是一个什么类型的数据,但是一般应该是一个int型的有符号整型,所以要得到真值取补码。。。。
  • 在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
考察指针
改变a的值,然后将b指向的a赋值给d指向的c,所以C=0x8726a341+0x9a9b61dc=0x1 21C2 051D,丢弃最高位:‬566363421,变为正数

T8
在这里插入图片描述
在这里插入图片描述
考察传送指令类型

T9
在这里插入图片描述
#考察寻址方式
4*%ebx+%eax=0X10C
0x47+0xAD=0xFA,注意格式是大写

T9
在这里插入图片描述
考察算数左移指令:
ah=0011 1011左移5位,低位补0,得到0110 0000=0x60

T11
在这里插入图片描述
考察jmp指令的PC相关寻址
在这里插入图片描述
在这里插入图片描述
3930d9df+53=0x3930da32‬

T12
在这里插入图片描述
考察jmp指令的PC相关寻址
首先计算地址2:259adf8a-16=0x259adf74‬
地址1:0x259adf74‬-2(机器指令74 16占2个字节)=0x259adf742

T13
在这里插入图片描述
考察jmp指令PC相关寻址
目标=65f510a8+ffffffd3=1 65F5 107B,丢弃溢出:65f5107b

  • 注意小端法

T14
在这里插入图片描述
考察函数过程
‬①首先pushl %ebp,帧栈往下增长,因此%ebp=%ebs=0x991bf252-0x4=0x991BF24E‬
②第四行开辟栈空间,esp-$40=0x991BF226‬,特别注意,是减去十进制40,也就是0x28
③x为第二个参数,首先处理,所以x的地址为ebp-4=0x991BF24E‬-4=0x991BF24A,y的值为0x991BF24A-4=0x991BF246
⑤看图(为啥字ebp要减去C而不是8?我现在仍然疑惑。。。)
在这里插入图片描述

标签:符号,补码,eax,指令,考察,翻车,1011,一起
来源: https://blog.csdn.net/weixin_44307065/article/details/106455915