单片机
返回首页

第12章 用到栈的跳转(X86汇编教程)

2015-05-15 来源:51hei

本X86汇编教程目录 http://www.51hei.com/mcu/2619.html

        用过高级语言的同学都知道.高级语言有函数概念.可以跳转到某地方执行代码计算一些东西,计算完成后可以返回原处继续执行代码.现在我们要用汇编实现这个了...嘛

        方法是这样的:在跳转前,先把IP寄存器的值压入堆栈,然后跳转,计算后要返回再出栈到IP即可.是不是觉得稍微麻烦了点?其实8086提供了相关指令,帮我们轻松完成:


指令名                :CALL

指令说明             :和JMP相同,只是在跳转前会把当前地址压栈,方便返回


指令名                :RET

指令说明             :没有操作数,指令执行效果相当于POP IP,也就是返回

 



 

实例代码:
JMP START;跳转到代码开始处
AXQingLing:;这里是'AX清零函数'的起点(其实就是个标号)
MOV AX,0000H;AX清零
RET;返回
START:;代码开始
MOV AX,1234H;往AX随便写个数字
CALL AXQingLing;调用'AX清零函数'(其实就是个跳转)
;代码到此结束
 

 

请把我的实例编译后放进Debug试试吧.

作业:在我的实例中增加个'BX和CX一起清零函数',并在我的实例中'调用AX清零'之后'调用'一次,(记得用RET返回啊...)

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 家用电源无载自动断电装置的设计与制作

  • 短波AM发射器电路设计图

  • 带有短路保护系统的5V直流稳压电源电路图

  • 如何调制IC555振荡器

  • 基于ICL296的大电流开关稳压器电源电路

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章