相关链接:INT21H的0Ah号功能实现原理

http://topic.csdn.net/u/20100711/11/9326a3e5-000e-4db8-a05b-8c71e46c0d6a.html

;int21h的0ah号功能实现原理
 assume cs:code,ds:data
 
 data segment 
 string db 0dh,0ah,'Press any kry to exit...$'
 buffer db 5,0,5 dup (0) 
 data ends

code segment 
   start: mov ax,data
     mov ds,ax
     mov dx,offset buffer
     mov ah,0ah
;以下部分实现int21h的0ah号功能
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     push si
     push bx
     push ax

mov si,dx
     mov bx,[si] ;0,0ffh
     dec bx
     add si,2
  getkey:
     mov ah,0
     int 16h ;读键盘
     cmp al,08 ;Backspace //行内编辑功能功能1

jz @del
     cmp al,0 ;!!!!!!!! //过滤部分输入
     jnz cheshi
     cmp ah,4bh ;方向键"<-" //行内编辑功能功能2

jnz  skip
@del: or bh,bh ;cmp bh,0
     jz skip
     mov ax,0e08h
     int 10h
     mov al,20h
     int 10h
     mov al,08h
     int 10h
     dec si
     dec bh
skip:jmp getkey
cheshi:
     cmp bh,bl
     jb yes
     cmp al,0dh
     jz yes
     mov ax,0e07h ;超出缓冲区警告
     int 10h
     jmp  getkey
 yes: mov [si],al ;存入缓冲区
     inc si
     cmp al,0dh ;回车结束输入
     jz quit
     mov ah,0eh
     int 10h ;在当前光标处显示
     inc bh ;Byte计数,最多为255个
     jmp getkey
 quit: mov si,dx
     mov [si+1],bh

pop ax
     pop bx
     pop si
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     mov dx,offset string
     mov ah,9
     int 21h
     mov ah,0
     int 16h
     mov ax,4c00h
     int 21h

code ends
   end start

INT21H的0Ah号功能实现原理相关推荐

  1. 学习 launch-editor 源码整体架构,探究 vue-devtools「在编辑器中打开组件」功能实现原理...

    1. 前言 你好,我是若川[1],微信搜索「若川视野」关注我,专注前端技术分享,一个愿景是帮助5年内前端开阔视野走向前列的公众号.欢迎加我微信ruochuan12,长期交流学习. 这是学习源码整体架构 ...

  2. bic计算机原理,CBTC系统区域控制器(ZC)功能及原理探究

    屈耀 摘  要:地面区域控制器(ZC)作为CBTC系统的核心地面设备,剖析其功能.工作原理及外部通信,对我们深化认知,学习和理解有着极为重要意义. 关键词:区域控制器;ZC;CBTC 中图分类号:U2 ...

  3. 为什么要有ID发号器、原理是什么以及如何实现?

    一.前言 上一篇文章<如何将一个长URL转换为一个短URL?>中谈到如何将长地址URL转换为短地址URL,其中谈到了一个比较理想的解决方案就是使用发号器生成一个唯一的整数ID,然后转换为6 ...

  4. IM要做手机扫码登录?先看看微信的扫码登录功能技术原理

    本文原文由作者Amazing10原创发布于公众号业余码农,收录时有改动,感谢原作者的技术分享. 1.引言 某天中午,吃完午饭,摊在自己的躺椅上,想趁吃饱喝足的午后时间静静享受独自的静谧. 干点什么好呢 ...

  5. IM扫码登录技术专题(三):通俗易懂,IM扫码登录功能详细原理一篇就够

    本文引用了作者"大古同学"的"二维码扫码登录是什么原理"一文的主要内容,为了更好的理解和阅读,即时通讯网收录时有修订和改动,感谢原作者的分享. 1.引言 自从微 ...

  6. 网络交换机功能和原理详解

    网络交换机,是一个扩大网络的器材,能为子网络中提供更多的连接端口,以便连接更多的计算机.它具有性能价格比高.高度灵活.相对简单.易于实现等特点.那么,网络交换机具体有哪些功能呢?网络交换机的原理是什么 ...

  7. [html] 图片上传时实现本地预览功能的原理是什么?

    [html] 图片上传时实现本地预览功能的原理是什么? 通过HTML5 File API读取用户上传的图片,生成一个image对象显示到页面 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容 ...

  8. html代码高亮带行号,kindeditor代码高亮自动行号功能

    kindeditor代码高亮自动行号功能 代码自动行号功能 kindeditor默认未开启代码行号显示功能的,可以通过在html视图下,将需要显示行号的代码做如下更改: 不过虽然这样自定义很强,不过想 ...

  9. 18位身份证号验证算法的原理以及C#实现和在管理系统的应用

    18位身份证号验证算法的原理以及C#实现和在管理系统的应用 本博文介绍一下我自主开发的企业工资管理系统中关于员工18身份证号合法性验证的原理以及采用C#实现的代码.在实际的管理系统中应用!经过我自己的 ...

最新文章

  1. 谷歌不更新android studio,彻底迈向64位:谷歌宣布 Android Studio 将停止 32 位版本更新...
  2. poj 1740 A New Stone Game 博弈
  3. JSP 中的Cookie
  4. 利淘优选——青龙羊毛
  5. 立即终止Sleep的线程
  6. 抛出这8个问题,检验你是否真的会ThreadLocal
  7. CodeForces - 1427C The Hard Work of Paparazzi(dp+剪枝)
  8. 基于Python向Abaqus导入txt、dat数据(附abaqus中python二次开发课程)
  9. cs231n图像分类笔记(上)学习记录
  10. Qt/C++ 网易云api 在线播放音乐
  11. 计算机八进制 算法视频,八进制算法
  12. 推挽与开漏输出详解(转)
  13. correl函数相关系数大小意义_EXCEL中的相关系数能说明什么?
  14. 如何让计算机断开网络连接网络设置,电脑怎样设置定时断网,教您怎么设置
  15. 方舟手游服务器设置文件翻译,方舟生存进化手游界面中文翻译 语言不通不发愁...
  16. 重邮计算机学院新闻,感知重邮丨重庆邮电大学计算机学院稳固学科建设核心 提升人才培养质量...
  17. 专业的网站流量分析和统计分析工具
  18. Java中的数字工具类-----持续总结中
  19. java并发编程艺术——基础篇
  20. Intel有那些45纳米的CPU

热门文章

  1. 【Python】**kwargs
  2. 交叉编译 util-linux
  3. linux c pci bar0读写,解决部分linux发行版内核加载时出现 pci 0000:01:00.0: BAR 6: no pa...
  4. AI笔记: 计算机视觉之照明模型和颜色模型
  5. css盒子模型 浮动
  6. 【计算机考研】考研英语阅读
  7. python tuple用处_python tuple有什么用
  8. java 获取整型随机数_java获取随机数的几种方法
  9. 手机相册里的照片误删怎么恢复?这样做很简单
  10. 2023,滴滴“摸着自动驾驶过河”