ZKX's LAB

汇编语言如何实现键盘输入 汇编 键盘输入

2021-04-25知识22

汇编语言,怎么从键盘输入字符串呢? 使用dos的10号功能调用实现。10号功能调用的缓冲区结构为 buf db 255,?255 dup?(注:各部分的含义:最大长度、输入串的实际长度(不含回车)、实际的串)例如:buf db 255,?255 dup?mov ah,10lea dx,bufint 21h实际的串的首地址在buf[2],可用 lea si,buf[2]得到

汇编从键盘输入的指令应该怎么写? 输入单个字符mov ah,01hint 21h输入字符串mov ah,0ahint 21h应用实例:DATA SEGMENTDATA ENDSCODE SEGMENTSTART:ASSUME CS:CODE,DS:DATAAGAIN:MOV AX,DATAMOV DS,AXMOV AH,01HINT 21HCMP AL,1BH;输入Esc键退出JE EXITCMP AL,61HJB AGAINCMP AL,7AHJA AGAINSUB AL,20HMOV DL,ALMOV AH,02HINT 21HJMP AGAINEXIT:MOV AH,4CHINT 21HCODE ENDSEND START

汇编无键盘输入的判断 0B 检验键盘状态 AL=00 有输入AL=FF 无输入中断调用AH 功能 调用参数 返回参数00 程序终止(同INT 20H)CS=程序段前缀01 键盘输入并回显 AL=输入字符02 显示输出 DL=输出字符03 异步通迅输入 AL=输入数据04 异步通迅输出 DL=输出数据05 打印机输出 DL=输出字符06 直接控制台I/O DL=FF(输入)DL=字符(输出)AL=输入字符07 键盘输入(无回显)AL=输入字符08 键盘输入(无回显)检测Ctrl-Break AL=输入字符09 显示字符串 DS:DX=串地址'$'结束字符串0A 键盘输入到缓冲区 DS:DX=缓冲区首地址(DS:DX)=缓冲区最大字符数(DS:DX+1)=实际输入的字符数0B 检验键盘状态 AL=00 有输入AL=FF 无输入0C 清除输入缓冲区并请求指定的输入功能 AL=输入功能号(1,6,7,8,A)0D 磁盘复位 清除文件缓冲区0E 指定当前缺省的磁盘驱动器 DL=驱动器号 0=A,1=B,.AL=驱动器数0F 打开文件 DS:DX=FCB首地址 AL=00 文件找到AL=FF 文件未找到10 关闭文件 DS:DX=FCB首地址 AL=00 目录修改成功AL=FF 目录中未找到文件11 查找第一个目录项 DS:DX=FCB首地址 AL=00 找到AL=FF 未找到12 查找下一个目录项 DS:DX=FCB首地址(文件中带有*或?AL=00 找到AL=FF 未找到13 删除文件 DS:DX=FCB首地址 AL=00

#键盘扫描原理汇编#矩阵键盘汇编程序设计讲解#汇编 键盘输入

随机阅读

qrcode
访问手机版