




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DOS功能的调用AH=01 ;带显示的单字符键盘输入AH=02 ;显示器输出单字符AH=08 ;键盘输入(无回显)AH=09 ;显示字符串AH=0A ;输入字符串 AH=4C ;返回操作系统 带显示的单字符键盘输入(1号功能) 格式: MOV AH,1 INT 21H 举例:BAA: MOV AH, 01 INT 21H CMP AL, Y JE YES CMP AL, N JE NO JMP BAAYES:NO: 输出单字符(2号调用) 格式:MOV DL,A;A字符的ASCII码置入DL中 MOV AH,2 INT 21H例:在屏幕中显示“3”MOV DL, 33H ;33H为3的ASCII码MOV AH, 2INT 21H 不带显示的单字符键盘输入(7号、8号调用)与1号功能类似,区别仅仅是输入的字符不在屏幕上显示。MOV AH, 7INT 21H 字符串输出(9号调用)将指定的内存缓冲区中的字符串从屏幕显示输出(或从打印机打印输出),缓冲区的字符串以“$”结束。DS:DX为串的首地址MESSAGE DB How are you! $MOV DX, SEG MESSAGEMOV DS, DXMOV DX, OFFSET MESSAGEMOV AH, 9INT 21H 字符串输入(0AH号调用) 功能是将键盘输入的字符串写入到内存缓冲区,因此事先必须要定义一个缓冲区。DX为缓冲区的首地址,缓冲区的第一个字节为能存放的字符数,第二个字节为实际存入的字符数,从第三个字节开始用来存放键入的字符串,最后键入回车来表示字符串结束,如果实际键入的字符数不足填满缓冲区时,则其余字节添0,如果超过缓冲区容量,则超出的字符被丢失。MAXLEN DB 32ACTLEN DB ?STRING DB 32 DUP(?)LEA DX, MAXLENMOV AH, 0AHINT 21H 返回操作系统(4CH号调用) 格式:MOV AH,4CH INT 21H8259中断控制器初始化-ICW1ICW48259初始化编程的主要任务有: 复位8259芯片。 设定中断请求信号INT有效的形式,是高电平有效,还是上升沿有效。 设定8259工作在单片方式还是多片级联方式。 设定8259管理的中断类型号的基值,即0级IR0所对应的中断类型号。 设定各中断级的优先次序, IR0最高,IR7最低。 设定一次中断处理结束时的结束方式。初始化命令字ICW最多有4个8259A在开始工作前必须写入必须按照ICW1ICW4顺序写入ICW1和ICW2是必须送的ICW3和ICW4由工作方式决定双重循环&串操作&宏定义例:比较字符串是否相同mov si,offset string1mov di,offset string2mov cx,countcldagain:cmpsb;比较两个字符jnz unmat;有不同字符,转移到unmatdec cxjnz again;进行下一个字符的比较mov al,0;字符串相等,设置00h标记jmp output;转向outputunmat:mov al,0ffh;设置ffh标记output:mov result,al;输出结果标记例:查找字符串中的空格mov di,offset stringmov al,20hmov cx,countcldagain:scasb;搜索jz found;为0(ZF=1),发现空格dec cx;不是空格jnz again;搜索下一个字符.;不含空格,则继续执行found:.3. 宏展开 例4.4定义一条INOUT宏指令既可以引用它输入一串字符,也可引用它显示一串提示字符。宏定义: INOUTMACROX,YMOVAH,XLEADX,YINT21HENDM宏调用: DATASSEGMENT INPUTDBPLEASE INPUT ANY CHARACTERS:,$ KEYBUFDB10,11 DUP(?),13,10,$ DATASENDS CODESSEGMENT START: INOUT9,INPUT ;显示一串提示符的宏指令调用LF ;换行CR ;回车 INOUT10,KEYBUFM ;输入一串字符的宏指令调用 INOUT9,KEYBUF+2 ;显示输入的一串字符的宏指令调用 CODESENDSEND START3. 双重循环程序设计例4.12编制程序实现延时1ms。延时程序就是让计算机执行一些空操作或无用操作,来占用CPU的时间,从而达到延时的目的。通常用循环程序实现。程序片段如下: MOV CX,374 DELAY1:PUSHF ;10T POPF ;8T LOOP DELAY1 ;3.4T 上边程序段的循环体和循环控制部分是由指令PUSHF、POPF和LOOP构成。这三条指令执行所花费的时钟周期个数和为10+8+3.4=21.4。若CPU的主频为8MHz,那么它的时钟周期为0.125S。如果要实现延时1ms,则该循环体重复连续执行的次数为: 循环次数=1ms/(0.125S21.4)374 如果要延时100 ms,那么只需将这个程序再执行100次,从而构成一个双重循环。其程序片段如下: MOV BL,100 ;4T1 DELAY2:MOV CX,374 ;4T2 DELAY1:PUSHF ;10T POPF ;8T LOOP DELAY1 ;3.4T DEC BL ;2T JNZ DELAY2 ;8T 显然,该程序的准确延时时间为:T=4T+100(4T+21.4T374+2T+8T)=100.22ms存储器连接例:8255A并行输入输出工作方式方式0:基本输入输出方式适用于无条件传送和查询方式的接口电路方式1:选通输入输出方式适用于查询和中断方式的接口电路方式2:双向选通传送方式适用于与双向传送数据的外设适用于查询和中断方式的接口电路1. 方式0(基本输入/输出方式)24根I /O线全部由用户支配A口、B口、C口都可工作在此方式不设置专用的联络信号线和状态位单向I /OCPU与这些端口交换数据时,可以用IN或OUT指令直接输入输出输出有锁存器功能,输入无锁存功能。2、方式 1选通输入/ 输出方式 输入或
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公共服务采购合同
- 关于动物小学作文300字7篇
- 企业人才招聘流程与选拔方法指导
- 2025二手房预售转让合同
- 2025无产权是否影响房屋网签合同效力
- 技术咨询与服务实施合同书
- 2025企业销售代表劳动合同书
- 淄博春考二模题目及答案
- 自然作文:环境描述技巧与实践应用教案
- 2025年深圳市凭样品买卖合同
- 2024年会计法规综合考查试题及答案
- GA 1812.2-2024银行系统反恐怖防范要求第2部分:数据中心
- 鉴定机构运营管理制度
- 《帕金森病的护理》课件
- 《劳动项目四 扫地》(教案)-2024-2025学年人教版劳动二年级上册
- 2025年江苏东台市国有资产经营有限公司招聘笔试参考题库含答案解析
- 信息技术(基础模块)课件 第5章-新一代信息技术概述
- “教联体”在家校社协同育人中的实践
- 2025年道教人员考试试题及答案
- 商业装修工程合同样本范本
- 初中数学新人教版七年级上册第三章《代数式》教案(2024秋)
评论
0/150
提交评论