文档详情

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

发布:2017-06-19约8.03千字共47页下载文档
文本预览下载声明
求从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 ; 置数据段
显示全部
相似文档