微机原理与应用 (7).pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:27 大小:267KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

微机原理与应用 (7).pdf

微机原理与应用(7).pdf

预览

免费试读已结束,剩余 17 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

微机原理及应用主讲:谢维成http://xweicheng.ys168.comscxweicheng@yahoo.com.cn第4章汇编语言程序设计•汇编语言的格式•语句行的构成•指示性语句•指令语句•汇编语言程序设计及举例4.1汇编语言的格式(P111、P99<3>)8086汇编语言程序举例MY_DATASEGMENTSUMDB?MY_DATAENDSMY_CODESEGMENTASSUMECS:MY_CODE,DS:MY_DATAPORT_VALEQU3MAINPROCFARGO:PUSHDSMOVAX,0PUSHAXMOVAX,MY_DATA4.1汇编语言的格式MOVDS,AXMOVSUM,0CYCLE:CMPSUM,100JNANOT_DONEMOVAL,SUMOUTPORT_VAL,ALHLTNOT_DONE:INAL,PORT_VALADDSUM,ALJMPCYCLE4.1汇编语言的格式RETMAINENDPMY_CODEENDSENDGO1、汇编语言源程序是分段的,通常每个模块程序包括数据段、堆栈段和若干代码段。2、每个程序结构类似,可以复制。4.2语句行的构成指令性语句,其格式为:标号:(前缀)指令助记符操作数;注释GO:PUSHDS指示性语句,又叫伪指令,其格式为:变量伪指令操作数;注释SUMDB?4.2语句行的构成1返回4.5汇编语言程序设计及举例4.5.1直线运行程序设计返回4.5.6有关I/O的DOS功能调用(P149)第3版在P177,第4版在P149在C语言中有scanf和printf语句实现从键盘输入和从CRT上显示的功能scanf("%d",&x);printf(“\n学生姓名:%c\n",name);在汇编语言中实现从键盘输入和从CRT上显示的功能只能通过调用DOS功能和BIOS软件中断。返回4.5.6有关I/O的DOS功能调用DOS功能中断实际上就是DOS提供的一组计算机基本功能子程序,下表是部分键盘输入及显示中断。4.5.6有关I/O的DOS功能调用操作系统的核心是由许多有关I/O驱动、磁盘读写以及文件管理等子程序构成。这些子程序都编了号,可由汇编语言源程序调用。实际上计算机提供DOS中断调用和BIOS中断调用,开放计算机的基本功能,如I/O驱动、磁盘读写以及文件管理等。在调用时一般分四个步骤。4.5.6有关I/O的DOS功能调用1、DOS软件中断调用过程(1)将功能调用号传送到AH中;(2)把调用参数(入口参数)送到规定寄存器或存储器区域中;(3)发中断命令INT21H;(4)在返回参数(出口参数)寄存器或存储器区查询执行结果;与高级语言函数调用相似:p2=round(p,5,1)4.5.6有关I/O的DOS功能调用2、DOS显示功能调用(1)显示一个字符例1:在CRT显示器上显示字符“5”,程序段如下:MOVAH,02H;将功能号02(从中断表中查询)传送到AH中MOVDL,35H;把“5”的ASCII码传送到调用参数DL中INT21H;发中断命令INTN调试程序演示……disp2.asm2、DOS显示功能调用(2)显示字符串被显示的字符串必须以’$’结束,且所显示的内容不应出现非可见的ASCII码,否则产生不可预料的结果。2、DOS显示功能调用例2:在CRT显示器上显示“HelloWorld!”:DatasegmentBufferdb“HelloWorld!”,”$”Dataends……movah,09h;将功能号09传送到AH中leadx,buffer;把字符串的起始地址送到DX中int21h;发中断命令INTN……调试程序演示……disp9.asm返回2、DOS显示功能调用例3:在显示器上循环显示数字“0123456789”50遍,最好显示一个字符后有延时,提示:……MOVAH,02H;将功能号02(从中断表中查)传送到AH中MOVDL,AL;把要显示的ASCII码传送到调用参数DL中INT21H;发中断命令INTNINCAL;每次显示后把数字的ASCII码加1后循环……可以用循环程序做为延时实验调试程序……作为作业在实验室调试3、DOS键盘输入功能调用(1)从键盘输入一个字符(有回显)从键盘输入的字符在AL中。执行INT21H后从AL中取输入的结果。3、DOS键盘输入功能调用例4:从键盘输入一个字符回显并保存:Datasegmen