- 1、本文档共46页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理实验教案分析
微机原理与应用实验 实验一 求最大值程序 一、实验目的 1.掌握条件判断指令的用法。 2.掌握循环程序的设计方法。 3.学习在屏幕上显示字符的方法。 4.学习在PC机上建立、汇编、链接、调试和运行汇编语言的过程。 二、实验内容 在首地址为DATA1的数组中找出最大值,并在屏幕上显示出来。 实验一 求最大值程序 三、程序框图 实验一 求最大值程序 四、实验步骤及要求 (1)输入程序,进行调试,运行出求最大值程序的结果。 (2)如何把程序改成求最小值的程序。 (3)如果为有符号数,其最大值、最小值怎么求取。 实验一 求最大值程序 五、程序理解介绍 要理解这个程序,需要理解以下几点: 1.程序完成的任务有:定义及初始化、求最值、显示最值。 2.对于无符号数比较大小,可采用JA或JB类指令。 3.怎么显示字符?利用INT 21H的AH=02H号子功能,显示DL的内容。 4.返回DOS可用INT 21H的AH=4CH号子功能。 5.宏定义介绍 DISX MACRO X MOV DL,X MOV AH,02 INT 21H ENDM 实验一 求最大值程序 六、实验程序 DISX MACRO X MOV DL,X MOV AH,02 INT 21H ENDM STACK SEGMENT STA DB 512 DUP(?) TOP EQU LENGTH STA STACK ENDS DATA SEGMENT BUF DB MAX NUMBER:,0DH,0AH,$ DATA1 DB 35H,07H,0ABH,56H,12H DB 98H,0CDH,76H,0FAH,0BFH BLOCK DB 10 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,STACK MOV SS,AX MOV SP,TOP MOV AX,DATA MOV DS,AX MOV DX,OFFSET BUF MOV AH,09 INT 21H MOV SI,OFFSET BLOCK MOV CX,[SI] DEC CX MOV SI,OFFSET DATA1 MOV AL,[SI] MAX1: INC SI CMP AL,[SI] JA NEXT MOV AL,[SI];AL中定义为最大值 实验一 求最大值程序 NEXT: LOOP MAX1 MOV BL,AL MOV CL,04 SHR AL,CL CMP AL,09 JA MAX4 ADD AL,30H MAX2: DISX AL MOV AL,BL AND AL,0FH CMP AL,09 JA MAX5 ADD AL,30H MAX3: DISX AL MOV AH,4CH INT 21H MAX4: ADD AL,37H JMP MAX2 MAX5: ADD AL,37H JMP MAX3 CODE ENDS END START 实验一 求最大值程序 实验二 两个多位十进制数相加的程序 一、实验目的 1.学习宏指令的编写方法。 2.学习在屏幕上显示字符串的方法。 3.学习子程序的调用方法。 4.掌握数据传送和算术运算指令的用法。 5.掌握多位十进制数加(减)程序的编制方法。 6.学习在PC机上建立、汇编、
文档评论(0)