计算机系统基础_第三章-程序的转换以及机器级表示_个人随笔

第三章 程序的转换以及机器级表示

程序转换与汇编指令

test按位与,or按位或,不影响OF和CF,两者均为0

符号扩展movs 带符号数扩展到高位,有符号到有符号。

零扩展movz 无符号数扩展到高位,有符号到高位为正数或无符号。

扩展 b-> l movzbl或movsbl

截断 l-> b movb 只取目的操作数的位数

指令转移目标地址=指令地址+指令字长+偏移量


无符号整数 溢出看CF

带符号整数 溢出看OF

booth乘时注意是否带符号

booth乘法位数太多时,用乘移位法


SHL SHR 逻辑左移,逻辑右移

SAL SAR 算术左移,算术右移


eax = eax & 0x01 l是32位

函数返回,栈帧顶部esp +4 (pop 返回地址)


对齐方式:
在这里插入图片描述

pragma pack(n)单个元素对齐

_attribute((aligned(M))) 整个结构体按M个字节对齐

_attribute((packed)) 所有结构体内部元素紧凑对齐 优先


部分练习解析

以后更新…

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值