中北大学微机原理课件第05章.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中北大学微机原理课件第05章

求从1开始连续100个数之和,并将结果存放在名字为SUM的字存储单元中。 DATA1 DW ? DATA2 DB 45,107 ARRAY DW 100 DUP(?) MOV BX,SEG L2 MOV BX,OFFSET L2 MOV AX,TYPE DATA1 ;AX=2 MOV AX,TYPE DATA2 ;AX=1 MOV CX ,LENGTH DATA1;CX=1 MOV CX, LENGTH ARRAY;CX=100 MOV CX,SIZE DATA1 ;CX=2 MOV CX,SIZE DATA2 ;CX=1 MOV CX,SIZE ARRAY ;CX=200 MOV AX,HIGH 0809H ;AX=08H MOV AX,LOW 0809H ;AX=09H SIZE 变量名=LENGTH 变量名*TYPE 变量名 5.属性操作符:PTR,THIS BUFW EQU THIS WORD ARRAY DB 9H,5H MOV AX,WORD PTR ARRAY 5.4 DOS系统功能调用 1.有关键盘输入的功能调用 (1)键盘输入(1号调用) 等待计算机键盘输入字符存入AL中,并在屏幕上显示 MOV AH,1 INT 21H (2)键盘输入但无屏幕显示(8号调用) (3)字符串键盘输入(0A号调用) 从键盘接收字符串存入内存。要求事先定义一个输入缓冲区,它的始址放于DS:DX,第一字节指出缓冲区能容纳的最大字符数,第二字节保留实际读入的字符数,第三字节开始存放从键盘上接收的字符,DOS会在最后自动加上回车。 向内存指定单元送10个数,并将这些数在屏幕上显示出来 5.4DOS系统功能调用 2.显示、打印输出功能调用 (1)屏幕字符显示输出(2号调用) DL内容对应的字符显示在屏幕上 MOV AH,2 MOV DL,’A’ INT 21H 5.4DOS系统功能调用 (2)打印输出字符(5号调用) DL内容对应的字符输出到打印机上 (3)屏幕显示字符串输出(9号调用) 要求”$”作为结束标志,DS:DX指向字符串所在存储缓冲区首地址 编写一个延时子程序 DELAY PROC PUSH BX PUSH CX MOV BL,5 NEXT: MOV CX,2801 W10MS: LOOP W10MS DEC BL JNZ NEXT POP CX POP BX RET DELAY ENDP CODE SEGMENT ; 定义代码段 START PROC FAR ASSUME CS:CODE,DS:DATA,SS:STACK BEGIN: PUSH DS ; DS压栈 MOV AX, 0 PUSH AX ; 00压栈 MOV AX,DATA MOV DS,AX ; 置数据段 MOV AX,0 ; 累加器清0 MOV CX, MAX ; 循环控制CX=MAX MOV BX, 1 ; 初始加数用1 AGAIN: ADD AX, BX ; 累加求和 INC BX ; 下一个数 LOOP AGAIN ; 循环转AGAIN MOV SUM, AX ; 求和结果存SUM中 RET START ENDP CODE ENDS END BEGIN [例5.10] 求 N! 程序: DATA SEGMENT ; 定义数据段 N DW 5 YY DW ? DATA ENDS STACK SEGMENT PARA STACK ; 定义堆栈段 DW 50H DUP (?) STACK ENDS CODE SEGMENT ; 定义代码段 START PROC FAR ASSUME CS:CODE, DS:DATA, SS:STACK BEGIN: PUSH DS ; DS压栈 MOV AX, 0 PUSH AX ; 00压栈 MOV AX, DATA MOV DS, AX ; 置数据段

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档