文章
8
粉丝
42
获赞
14
访问
1.8k
(1)跳转指令、寻址方式及jmp目标地址计算
• 跳转指令:第3条jmp、第10条jle、第14条jl。
• 寻址方式:均采用相对寻址(根据指令地址和偏移量计算目标地址)。
• 第3条jmp目标地址计算:
指令jmp的虚拟地址是00401008h,指令长度为2字节,所以下一条指令地址是00401008h + 2h = 0040100Ah。
指令中的偏移量是21h(十六进制),因此目标地址为0040100Ah + 21h = 00401031h。
(2)标志位与跳转逻辑
• 符号标志SF:sum=150是正数,二进制最高位为0,故SF=0。
• 溢出标志OF:sum=150未发生溢出,故OF=0。
• 零标志ZF:sum=150≠0,故ZF=0。
• 跳转逻辑表达式:(SF⊕OF)∨ZF = 1时跳转(即有符号数小于等于时转移)。
(3)指令功能、寻址方式与编址分析
• 第5条shll:将eax中的i逻辑左移2位,相当于i×4(因为int占4字节,左移2位是乘以2²=4)。
• 第6条addl:将数组A的基地址0804A010h与i×4相加,得到A[i]的地址。
• 第7条movl:将A[i]的值加载到ec...
登录后发布评论
暂无评论,来抢沙发