程序的转换与机器级表示

1.程序转换概述

        1.1 机器指令和汇编指令

                指令分为微指令、机器指令、汇编指令、伪(宏)指令等指令相关概念

                机器指令介于二者之间,处于硬件和软件的交界面

                汇编指令是机器指令的汇编表示形式,即符号表示 

                机器指令汇编指令一一对应,它们都与具体机器结构有关,都属于机器级指令 

 2.IA-32 /x86-64指令系统

         2.1 传送指令

                通用数据传送指令

        MOV:一般传送,包括movb、movw和movl等

        MOVS:符号扩展传送,如movsbw、movswl等         

        MOVZ:零扩展传送,如movzwl、movzbl等

        XCHG:数据交换         

        PUSH/POP:入栈/出栈,如pushl,pushw,popl,popw等

                地址传送指令

        LEA:加载有效地址

        如leal (%edx,%eax), %eax”的功能为R[eax]←R[edx]+R[eax],执行前,若R[edx]=i,R[eax]=j,则指令执行后,R[eax]=i+j

                输入输出指令

        IN和OUT:I/O端口与寄存器之间的交换

                标志传送指令

        PUSHF、POPF:将EFLAG压栈,或将栈顶内容送EFLAG

        2.2 定点算术运算指令

        2.3 按位运算指令

                2.4 控制转移指令

3 C语言程序的机器级表示

        3.1 过程调用的机器级表示

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值