没有合适的资源?快使用搜索试试~ 我知道了~
首页汇编实验报告 学习使用DOS功能调用和BIOS中断编写键盘处理程序
一:要求:编写汇编语言程序,使用DOS中断接收键盘输入,每次以不回显的方式接收一个字符,将其以十六进制字符串的形式显示。例如,键盘输入“1”时,屏幕输出“30”。当接收到ESC键时,程序结束。 使用BIOS中断接收和处理键盘输入 要求: 编写汇编语言程序,使用BIOS中断接收和显示键盘输入。只要求能够处理控制键(如Ctrl、Alt和Shift等)和大小写字符键(如A、z等)。显示方式如下: (1)当按下A、b、z等字符键时,就显示字符本身; (2)当同时按下控制键和字符键时,显示控制键标志及字符。例如: ① 按下Ctrl键和B时,显示Ctrl-B; ② 按下Alt键和k时,显示Alt-k; ③ 按下Ctrl、Shirt键和z时,显示Ctrl-Shift-z; ④ 按下Ctrl、Alt键和z时,显示Alt-Alt-z; ⑤ 按下Shirt、Alt键和z时,显示Alt-Shift-z; ⑥ 按下Ctrl、Shirt、Alt键和z时,显示Ctrl-Alt-Shift-z; (3)对于Ctrl键、Shirt键和Alt键,不要求区分左、右键; (4)当按下Esc键时,程序结束; (5)不要求对双态键(如Caps Lock、Num Lock和Scoll Lock等)、功能键(如F1、F2等)和功能请求键(如Print Screen等)处理
资源详情
资源评论
资源推荐

实验报告十二
(一) 实验名称
键盘输入输出处理
(二)学生姓名:林榆耿 学号:08380076 班级:计科 A 班
实验时间:2009.12.24
(三) 实验目的
学习使用 DOS 功能调用和 BIOS 中断编写键盘处理程序
(四) 实验环境和器材
实验环境:win7 masm for windows 编译器
调试工具:CV
(五)实验内容:
一:要求:编写汇编语言程序,使用 DOS 中断接收键盘输入,每次以不回显的方式接
收一个字符,将其以十六进制字符串的形式显示。例如,键盘输入“1”时,屏幕输出
“30”。当接收到 ESC 键时,程序结束。
算法描述:本程序分为二个部分
主程序:使用 INT21 的 8 号命令不回显的接收一个字符,ascii 码存在 AL 中,判断
AL=1bh “( ESC”),若相等则结束程序,不等则调用子程序输出。
子程序 2(dispbxh): 把 bx 按十六进制输出,具体见代码注释。
代码如下:
data segment
data ends
code segment
assume cs:code,ds:data
; 按十六进制形式输出一个字
;入口参数 bl,出口参数 bl
;通过 2 号中断输出
dispbxh proc near
mov cl,4
mov ch,2
next: rol bl,cl ;连续循环移位四次交换 BL 的高低四位
mov al,bl
and al,0fh ;把 al 的高四位清零,这样就 al 存放的就是入口时 bl 的高四位,第二
次循环时 al 存放的就是入口时 bl 的低四位
add al,30h
cmp al,3ah
jl outp
add al,07h ;是a~f,要多加7
outp:mov dl,al ;用二号命令输出
cmp dl,0
je next2
mov ah,02h
int 21h
next2 : dec ch












安全验证
文档复制为VIP权益,开通VIP直接复制

评论1