鱼C论坛

 找回密码
 立即注册
查看: 1756|回复: 3

关于jmp的疑问

[复制链接]
发表于 2013-1-26 22:30:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 刘金伟 于 2013-1-26 22:31 编辑

汇编第九章里面 依据位移进行转移的jmp指令 里小甲鱼讲了一个关于补码的内容,F6+A=0
小甲鱼说FA为补码=-10
我想问的是,cpu在处理汇编程序代码(识别机器码)时是怎样知道那些应该看做补码,那些直接读取?
比如像上面 F6 如果直接转换为十进制为246,不是-10~~~求解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-1-28 09:50:10 | 显示全部楼层
哪些是指令?哪些是数据?呵呵,完全看cs:ip的指向,cs:ip指哪,哪就是指令,ds决定的段地址,便是数据段,可以利用bx,si,di,bp等进行寻址找数据。
在计算机里,数据都是以补码方式保存的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-1-28 09:56:03 | 显示全部楼层
数据的正负完全是看编程人员也就是我们自己的,后面章节会讲到,继续学吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-1-29 08:57:28 | 显示全部楼层
我猜想的是这个指令其实是编译器和已经给CPU指示好了,比如说:
s:mov ax,bx

jmp short s

那么按上往下的执行,肯定s标示在jmp指令前面。那么CPU就计算jmp short s下面一个指令的地址加上这个地址的偏移地址!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-7 22:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表