汇编学习(十二)8086汇编拾遗 (11)

《汇编语言》最后一章,键盘和磁盘的读取

一个键盘读写程序:
assume cs:code code segment charstack: jmp short charstart ;字符串及栈处理 table dw charpush,charpop,charshow top dw 0 charstart: push bx push dx push di push es cmp ah,2 ;功能大与2直接返回 ja sret mov bl,ah mov bh,0 add bx,bx jmp word ptr table[bx] ;跳转字符串功能选择函数 charpush: mov bx,top mov [si][bx],al ;按照top 的位置入栈 inc top jmp sret charpop: cmp top,0 ;判段是否为空 je sret dec top ;弹栈元素 mov bx,top mov al,[si][bx] jmp sret charshow: ;展示字符串,设置行列 mov bx,0b800h mov es,bx mov al,160 mov ah,0 mul dh ;dh 保存行数 mov di,ax ;设置列数 add dl,dl mov dh,0 add di,dx mov bx,0 charshows: cmp bx,top jne noempty mov byte ptr es:[di],' ' jmp sret noempty: mov al,[si][bx] mov es:[di],al mov byte ptr es:[di+2],' ' inc bx add di,2 jmp charshows sret: pop es pop di pop dx pop bx ret start: getstr: push ax getstrs: mov ah,0 int 16h cmp al,20h jb nochar mov ah,0 call charstack mov ah,2 call charstack jmp getstrs nochar: cmp ah,0eh je backspace cmp ah,1ch je enter jmp getstrs backspace: mov ah,1 call charstack mov ah,2 call charstack jmp getstrs enter: mov al,0 mov ah,0 call charstack mov ah,2 call charstack pop ax ret code ends end start 

8086汇编

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值