目录 上一页 下一页 下一章

-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

目录 上一页 下一页 下一章