关于jmp的疑问
本帖最后由 刘金伟 于 2013-1-26 22:31 编辑汇编第九章里面 依据位移进行转移的jmp指令 里小甲鱼讲了一个关于补码的内容,F6+A=0
小甲鱼说FA为补码=-10
我想问的是,cpu在处理汇编程序代码(识别机器码)时是怎样知道那些应该看做补码,那些直接读取?
比如像上面 F6 如果直接转换为十进制为246,不是-10~~~求解 哪些是指令?哪些是数据?呵呵,完全看cs:ip的指向,cs:ip指哪,哪就是指令,ds决定的段地址,便是数据段,可以利用bx,si,di,bp等进行寻址找数据。
在计算机里,数据都是以补码方式保存的。 数据的正负完全是看编程人员也就是我们自己的,后面章节会讲到,继续学吧 我猜想的是这个指令其实是编译器和已经给CPU指示好了,比如说:
s:mov ax,bx
jmp short s
那么按上往下的执行,肯定s标示在jmp指令前面。那么CPU就计算jmp short s下面一个指令的地址加上这个地址的偏移地址!
页:
[1]