-140- | PC机汇编语言实战精解 | ![]() |
|||||||||||||||||||
mov_cur: exit: main move_cur move_cur change_attr retu: change_attr code |
call call jmp mov int endp proc push push mov mov mov mov int pop pop ret endp proc push push mov mov int cmp jb cmp ja mov or mov mov int pop pop ret endp ends end |
move_cur change_attr get_key ah,4ch 21h near dx ax ah,02 bh,0 dh,byte ptr current dl,byte ptr current+1 10h ax dx near ax cx ah,8 bh,0 10h al,30h retu al,39h retu bl,ah bl,80h cx,1 ah,9 10h cx ax main |
;调用MOVE_CUR子过程移动光标 ;调用CHANGE_ATTR子过程改变字符属性 ;跳至GET_KEY继续等待键盘输入 ;结束进程 ;移动光标子过程 ;保存所用的寄存器 ;选择10H中断的02功能 ;显示页号置入BH寄存器 ;光标行号送入DH寄存器 ;光标列号送入DL寄存器 ;移动光标位置 ;恢复寄存器 ;返回主过程 ;改变字符属性子过程 ;保存所用的寄存器 ;选择10H中断的08功能 ;显示页号送入BH寄存器 ;取得光标指向字符的ASCII码及属性 ;这个字符是数字吗? ;不是数字则返回 ;取得的字符属性送入BL寄存器 ;将属性改为闪烁显示 ;显示一个字符 ;利用10H中断的09功能 ;重新显示字符及新的属性 ;恢复寄存器 ;返回 |
||||||||||||||||||
程序的"企划"很简单,运行这个程序后我们可以用"I,J,K,M"四个键移动光标,如果将 | |||||||||||||||||||||
Copyright © 2004-2015 Reanimator | www.cookmoon.org |