汇编语言程序设计(四子程序).ppt
《汇编语言程序设计(四子程序).ppt》由会员分享,可在线阅读,更多相关《汇编语言程序设计(四子程序).ppt(23页珍藏版)》请在课桌文档上搜索。
1、汇编语言程序设计实验,子程序是程序的一部分,是完成特定功能的程序段,它能够在程序的任何地方被调用。在使用子程序时应注意:(1)参数的传递。子程序调用时,经常需要将一些参数传给子程序,而子程序也常常需要在运行后将结果和状态等信息回送给调用程序。这种子程序和调用程序之间的信息传送,就是参数传递。参数的传递可通过寄存器、变量、地址表、堆栈等方式进行。(2)相应寄存器内容的保护。由于CPU寄存器数量有限,子程序要用到的一些寄存器常在调用程序中也被用到,为了防止破坏调用程序中寄存器的内容,需在子程序入口处将所用到的寄存器内容压入堆栈保存;(3)子程序还可以调用别的子程序,即子程序嵌套。与子程序调用有关的
2、CPU指令有:CALL和RET;伪指令有:PROC和ENDP。,实验四 子程序及功能调用实验,1.实验目的:掌握汇编语言子程序及功能调用结构、指令及调用方法。学习二进制数转换为十六进制数并显示的方法。2.实验内容:掌握子程序的编程格式:子程序名 PROC NEAR/FAR(子程序属性)RET 子程序名 ENDP。编写一个子程序,把一个16位二进制数用十六进制形式在屏幕上显示出来。分别运用如下2种参数传递方法,并用一个主程序验证它。采用AX寄存器传递这个16位二进制数。采用wordTEMP变量传递这个16位二进制数。3.实验用设备仪器及材料:硬件:计算机 软件:DEBUG调试软件。4.实验要求:
3、能在DEBUG提示符下,编写简单的汇编程序。熟练掌握修改寄存器、存储单元的方法,理解段地址、偏移量的表达方式。,实验四 子程序及功能调用实验,5.实验步骤:用文件编辑器编写汇编语言程序(如:记事本),并以asm为后缀命名,如:2.asm 运行masm编译器进入dos,调入所编写的汇编程序,生成2.obj,然后用 link.exe连接2.obj文件,生成可执行文件2.exe.用DEBUG调用2.exe文件,格式为DEBUG 2.EXE 用D命令观察内存单元值用U命令观察源程序 用G命令运行程序 用T命令单步执行程序用R命令观察或修改寄存器内的值,实验四 子程序及功能调用实验,6.实验报告:同学要
4、对本次实验课的内容加以总结,并写出自己对本次实验的体会和 收获。实验报告格式:实验名称 实验材料 实验步骤 实验总结,实验四 子程序及功能调用实验,实验原理:AX中16位二进制数对应4位十六进制数,先转换最高4位成ASCII码并显示(循环左移4位,使最高4位移到AL的低四位,使AL高4位为0,等待处理,注意事先保存原AX值,防止丢失),然后转换次高四位并显示,以此类推。最后显示“H”(表示16进制)1位十六进制(对应4位二进制)转换为ASCII码原理如下:将获得的16进制数与9H比较:若9H,则先加上30H,再加上07H,才为该数的ASCII码。,实验四 子程序及功能调用实验,高四位,次高,次
5、低,低四位,0,4,8,12,15,AX,AX,循环左移4位 ROL AX,CL,DL,次高,次低,低四位,高四位,高四位,低四位,次高,次低,DH,DL,高四位,低四位,屏蔽DL高4位 AND DL,0FH,DL,高四位,0,高四位,3,高四位,3,判DL低4位,DL39H,DL39H,DL+07H,DL内的数送显示,显示功能调用AH=02H,DL=数,INT 21H,实验四 子程序及功能调用实验,DL+30,保存AX中的数,DX,ASCII码对照表:,低10位,高6位,实验参考程序1(寄存器传递参数):data segment wordtemp dw 105Eh;也可用二进制表示 0001
6、 0000 0101 1110bdata endscode segment assume cs:code,ds:datastart:mov ax,data mov ds,ax mov ax,wordtemp call ALdisp mov ax,4c00h;设置功能调用 AH=4C 带返回码结束 int 21h ALdisp proc;实现al内容显示的子程序 push ax;过程中使用了AX、BX、CX和DX,寄存器内容压栈保护数据。push bx push cx push dx mov bx,4;设置移动次数,存放ASCII码地址首地址,实验四 子程序及功能调用实验,a1:mov cl,4
7、;设置左移位数 rol ax,cl;循环左移 push ax;暂存ax里的数据,DOS功能会改变AL内容 mov dl,al;转换al的高4位 and dl,0fh;将dl中的高4位清零 or dl,30h;dl高4位变成3 cmp dl,39h jbe aldisp1;dl内的数小于等于39h转移 add dl,7;是0Ah0Fh,还要加上7aldisp1:mov ah,2;显示,ah=02表示:将dl中的内容以字符的形式输出到屏幕 int 21h;系统功能调用,至于是那种功能调用,取决于ah里的内容 pop ax;弹出栈,此时ax的内容为循环左移4位原数 dec bx;计数器减1(左移次数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 程序设计 子程序
链接地址:https://www.desk33.com/p-257678.html