博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年10月18日

摘要: 内存寻址在指令中可以表示成如下的通用格式: ADDRESS_OR_OFFSET(%BASE_OR_OFFSET,%INDEX,MULTIPLIER)它所表示的地址可以这样计算出来: FINAL ADDRESS = ADDRESS_OR_OFFSET + BASE_OR_OFFSET + MULTIPLIER * INDEX 其中ADDRESS_OR_OFFSET和MULTIPLIER必须是常数,BASE_OR_OFFSET和INDEX必须是寄存器。在有些寻址方式中会省略这4项中的某些项,相当于这些项是0。以下是寻址的几种方式: 直接寻址(Direct Addressing Mode)。... 阅读全文

posted @ 2011-10-18 14:37 bug yang 阅读(649) 评论(0) 推荐(0) 编辑

摘要: 简单的汇编例子:.section .data data_items: .long 10,2,4,1,7,3,0.section .text .globl _start_start: movl $0,%edi movl data_items(,%edi,4),%eax movl %eax,%ebx start_loop: cmpl $0,%eax //cmpl相当于比较函数 je exit_loop //如果eax==0,那么跳转到exit_loop je中‘e'的意思为’equal‘ i... 阅读全文

posted @ 2011-10-18 14:30 bug yang 阅读(1168) 评论(0) 推荐(0) 编辑