×
嵌入式 > 技术百科 > 详情

第10章 代码的跳转(1)(X86汇编教程)

发布时间:2020-06-16 发布时间:
|
       最近发生了一些事情,没法像以前那么上网了,手指受了点伤打字也不方便,所以隔了那么久,写这章是为了说明:"这教程还没挂,不要放弃这教程!",写完这章我会停更一段时间.安心养伤...另外,现在是借用别人的PC写教程无法截图什么的请原谅...
        这一章讲的是跳转,跳转是什么呢?跳转就是当代码执行到一定地方后跳到另一个地方去执行.跳转是很重要的,有了跳转电脑才能根据鼠标键盘的操作执行相应的代码.如果没有跳转,电脑就只能按照设定的路一直走.管你鼠标键盘怎么动.一段代码执行过去就死机了.而有了跳转,你按下鼠标的时候电脑就能跳转到鼠标相关代码去执行.
        不过,能根据情况判断的跳转是比较复杂的,要很久之后才教,这一章先教"无条件跳转",所谓的无条件跳转就是不管什么情况,有没有碰到鼠标键盘只要运行到无条件跳转代码都会跳转."图"解↓
某行代码
某行代码
某行代码
无条件跳转代码,向下跳3行──┐
某行代码                                    │
某行代码                                    │
某行代码←─────────┘
某行代码
某行代码
        就这样,CPU碰到跳转代码后就会跳转到代码指定的地方执行.可以上跳也可以下跳.当然,不可能用行数来表达想跳转的地方的.因为汇编终究会转换成机器码,机器码可不是按行来算的,而是字节.不过,放心,我们学的是汇编,不是机器码,我们只要告诉编译器我们要跳转到哪一行,汇编编译器会自动把相差的字节数计算出来写上去的.
        那么,我们如何告诉编译器,我们要跳转到哪一行呢?这就得用到标号了.还记得前边讲解的汇编代码格式吗?在指令名前边还能加个叫做"标号"的东西,用":"(不含双引号)和指令区分开.实例如下↓
BiaoHao:MOV AX,BX
        我们可以在汇编指令前面加个标号,然后在我们的跳转指令里边加上这个标号,就能跳转到这行代码了.
        好了,说了这么多,该介绍跳转指令了...
 

 


 

 

指令名                :JMP
操作数数量         :1
操作数名             :内存地址(就是代码标号啦)
指令用途             :跳转到内存指定地方执行代码

实例:

某行代码
某行代码
JMP BiaoHao
某行代码
 
 
某行代码
BiaoHao:MOV AX,BX
某行代码
恩,这一章就讲到这里了.
例行作业:
编写一段程序,要求有2个以上的标号.
3次以上的跳转
禁止跳转到同一个地方超过2次
作业提交邮箱:o7007@vip.qq.com
提交作业请发代码..我可不想去debug里跟踪程序..



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Semtech的LoRa技术携手Chipsafer将牧场连接至云端