文档详情

计算机原理与汇编 汇编程序.ppt

发布:2017-06-17约5.14千字共49页下载文档
文本预览下载声明
三、循环程序设计 2、LOOPE/LOOPZ指令 格式: LOOPE/LOOPZ 目标 功能:循环次数(CX)-1 ? CX;若(CX)不为零,且ZF=1,转到目标处,继续执行, 否则,顺序执行。 循环处理要点 四、 子程序设计 程序结构 过程 程序 用户程序 连接库 系统功能调用 程序结构 过程 主调过程(主程序) 被调过程(子程序) 过程 过程定义 过程调用 过程返回 过程定义 过程调用 过程返回 过程说明 过程调用 参数传递 过程调用 过程调用 过程调用 过程调用 用栈传递参数 间接调用 用栈传递参数 在主调程序中压入参数 参数和返回地址在栈中的位置 在被调过程中读取参数 在主调程序中读取返回的参数 P249 例6-19 用栈传递参数处理要点 用栈传递参数处理要点 RET 指令的格式与功能 间接调用过程 间接调用过程 间接调用过程 间接调用过程 五、系统功能调用 上机题 上机题 上机题 上机题 DOS及BIOS功能调用 采用软中断指令 INT n (其中:n为中断类型码) (1)PUSHF,TF、IF清0,CS、IP入栈 (2)按中断类型码n,从中断向量表对应位置取出将要调用的功能子程序的入口地址?CS,IP (3)功能子程序返回:IRET 系统功能调用 应用程序 外设硬件接口 BIOS DOS DOS功能调用 调用方法: 入口参数 子程序编号送AH INT 21H DOS功能调用 ——基本I/O功能调用 功能 入口参数 出口参数 说明 键盘输入 AH = 1 AL=字符ASCII码 字符显示 控制台输入 AH = 8 同1号 无显示 显示输出 AH = 2 DL = 字符ASCII码 打印输出 AH = 5 DL = 字符ASCII码 直接控制台 AH = 6,7 ZF=0,AL=字符ASCII码 输入/输出 DL = 0FFH/字符码 ZF=1无键按下 字符串输出 AH = 9 字符串须以‘$’结束 DS:DX=串首址 字符串输入 AH = 0AH 首先定义缓冲区 DS:DX=串首址 MOV AH, 1 ;等待按键 INT 21H ;字符回显 MOV DL,AL MOV AH,2 ;显示字符 INT 21H MOV AH, 8 ;等待按键 INT 21H ;字符不显示 MOV DL,0FFH ;键盘输入 MOV AH,6 INT 21H MOV DL,24H ;屏幕输出 MOV AH,6 INT 21H DATA SEGMENT BUF DB ‘HOW DO YOU DO?$’ ... DATA ENDS ... MOV AX,DATA MOV DS,AX ... MOV DX,OFFSET BUF MOV AH,9 INT 21H ... DATA SEGMENT BUF DB 10 ;缓冲区长度 DB ? ;实际输入个数 DB 10 DUP(?) ;存储空间 ... DATA ENDS ... MOV AX,DATA MOV DS,AX ... LEA DX,BUF MOV AH,10 INT 21H ... DOS功能调用 ——基本I/O功能调用 功能 入口参数 出口参数 说明 设置日期 AH = 2BH AL=0或AL=0FFH 均为二进制数 CX=年号 DH=月,DL=日 读取日期 AH = 2AH CX=年号 均为二进制数 DH=月,DL=日 设置时间 AH = 2DH CH=小时,CL=分 AL=0或AL=0FFH 均为二进制数 DH=秒,DL=毫秒 读取时间 AH = 2CH CH=小时,CL=分 均为二进制数 DH=秒,DL=毫秒 MOV CX,
显示全部
相似文档