MOV DS,AX
LEA DX,STR1 ;偏移地址送到寄存器 MOV AH,9 ;9号调用显示字符串 INT 21H
MOV SI,OFFSET BUF ;指针指向待显示字符串尾部 AGAIN:
MOV AH,01 ;输入字符
INT 21H
CMP AL,0DH ;是回车吗 JE DISP ;是,转显示 DEC SI ;指针减1 MOV [SI],AL ;存入输入的字符 JMP AGAIN ;继续输入 DISP:
MOV AH,09 ;显示
MOV DX,OFFSET CRLF ;回车换行 INT 21H
MOV DX,SI ;定位待显示字符串首地址 MOV AH,09 INT 21H
MOV AH,4CH ;程序结束,DOS返回 INT 21H CODE ENDS END START
四、程序框图
实验内容中的1、2、3题程序框图见如下图1-1、1-2和1-3。
开始开始数据初始化数据初始化INT 21H的9号功能显示提示字符串INT 21H的9号功能显示提示字符串SI指向的字符INT 21H的1号功能从键盘接收一个字符是否是小写字母是否是小写字母NN小写字母ASCII码值转化为大写字母ASCII码值存入缓冲区SISI加1指向下一存储单元Y小写字母ASCII码值转化为大写字母ASCII码值存入寄存器NINT 21H的2号功能显示转化后的字母Y循环计数值N为零Y显示转换后的字符内容结束
结束
图 1-1 图 1-2
开始数据初始化INT 21H的9号功能显示提示字符串输入字符是否是回车YSI指针减1存入输入字符显示转换后的字符内容结束
图 1-3
五、实验总结
DOS调用,运行程序文件,得到结果图分别如下所示:
图 1-4 图 1-5
图 1-6
通过实验,我熟悉了汇编语言程序的基本结构,掌握了教程中讲解的跳转类指令以及循环指令等,对DOS功能的调用更加熟悉。英文字母的编码是按ASSIC码表的顺序编码的,大写“A”到“Z”和小写“a”到“z”之间的转换,其ASSIC码值正好相差20H。
实验四 8259A中断实验
一、实验要求
掌握用8088/86控制8259可编程中断控制器,实现对外部中断的响应和处理。
二、实验目的
了解8088/86与8259之间的连接方法。 学习8088/86对8259的控制方法。
三、预备知识
8259A是Intel公司专为控制优先级中断而设计的NMOS芯片。它集中断源优先级排队、中断源识别、中断向量提供和中断屏蔽等功能电路于一体,因而中断系统无需附任何电路,只需对8259A进行编程,就可管理8级优先中断,且中断请求方式和优先级模式等中断结构可通过编程设定或变更,中断入口地址也可由用户任意指定。
四、实验原理说明及连线
1、本实验主要用到的模块:中断模块、单次脉冲源模块等;
2、IR6接单次脉冲的/Q端。
D0D1D2D3D4D5D6D7INTRINTA11109876541726D0D1D2D3D4D5D6D7INTINTACSRDWRA0U028259IR0IR1IR2IR3IR4IR5IR6IR71819202122232425IRQ0IRQ1IRQ2IRQ3IRQ4IR5J06IR6J07IR7J08SP/EN16R025KVCC20H1IIOR3IIOW2A027CAS0CAS1CAS2121315
图 4-1
五、实验内容
用单脉冲发生器的输出脉冲作为中断源,每按一次按键产生一次中断申请,中断服务程序将在实验箱的显示屏显示一个字符“R”。
六、程序框图
主程序框图见图4-2,中断程序框图见图4-3。
程序开始 开始 关中断 设置中断服务程序地址 现场保护 显示字符R
中断允许
现场恢复 开中断 中断返回 图 4-2 图 4-3 等待中断 七、实验步骤
1、确认连接好线路; 2、编写程序
3、装载并运行程序(脱机时调用ZY2TJ.EXE,联机时调用ZY2.EXE)。

