- 1、本文档共113页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于8086的微机原理 补充课件参考教材 微型计算机原理与接口技术(第四版) (中国科技大学-周荷琴 吴秀清主编) 第2章 8086 系统结构 第3章 8086的寻址方式和指令系统 第4章 汇编语言程序设计 第4章 汇编语言程序设计 原理:时间计数器每55ms自动加1,所以将CX和DX中数除以65520得到小时数,余数除以1092得分数,余数除以18.2得秒数。 应用举例:利作中断调作产生5秒延时(P206) DELAY5S PROC LLP:MOV AH,0 INT 1AH CMP DX,0500H JNZ LLP RET DELAY5S ENDP 3、DOS与BIOS调用举例 例:编写程序,将键入的4位十进制数以压缩的BCD码形式存入字变量SW中。 为了接收键入的4位十进制数,需定义一变量数据区,定义形式为: BUF DB 5,0,5 DUP(?) ;为回车符留一字节单元。 程序如下: DATA SEGMENT MES DB ‘PLEASE INPUT 4 NUMBERS’ DB 0DH,0AH,‘$’ BUF DB 5,0,5 DUP(?) SW DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV DX,OFFSET MES MOV AH,9 INT 21H LEA DX,BUF MOV AH,10 INT 21H ;等待从键盘上接收数字 MOV AX,WORD PTR BUF+4 AND AX,0F0FH ;转化为非压缩BCD数 MOV CL,4 SHL AL,CL OR AL,AH ;十位与个位数合并在AL中。 MOV BYTE PTR SW,AL MOV AX,WORD PTR BUF+2 AND AX,0F0FH SHL AL,CL OR AL,AH MOV BYTE PTR SW+1,AL MOV AH,4CH INT 21H CODE ENDS END START 例:设计程序,使计算机不停地响铃(其ASCII码为07H),按任意键停止。 CODE SEGMENT ASSUME CS:CODE START:MOV DL,07H MOV AH,2 INT 21H MOV AH,0BH INT 21H CMP AL,0FFH JNZ START ;有键按下,AL=0FFH MOV AH,4CH INT 21H CODE ENDS END START 思考题: 试设计一程序,使计算机屏幕上每秒钟显示一行字符“Good Morning!”,按任意键结束。 4.4 汇编语言程序设计的基本方法 1.顺序结构程序设计 例1:求两个数的平均值,这两个数分别在X单元和Y单元中,而平均值放在Z单元中。假定均为字节数,程序如下: DATA SEGMENT X DB 95 Y DB 87
文档评论(0)