| 汇编语言---程式设计 (4) |
| 责任编辑:admin 更新日期:2005-8-6 |
p; SUB BH,BH
8: SHL BX,1
9: MOV AX,BWMOV ; 移动值
10: JMP CHKKEY[BX] ; 进入各处理程式
..
40:CK47:
41: SUB DX,AX ; Y 向
42:CK4B:
43: NEG AX ; 向左为负
44:CK49:
45: ADD BP,AX ; X 向
46: JMP SHORT CKFUN
47:CK4D:
48: SUB DX,AX
49: JMP CK49
50:CK51:
51: ADD DX,AX
52: JMP CK49
53:CK48:
54: NEG AX ; 向上为负
55:CK50:
56: ADD DX,AX
57:CKFUN: ; 用变数观念检查「视窗」
58: CMP DX,BWTOP ; 超出上限?
59: JNS CKFUN1
60: MOV DX,BWTOP ; 上限值
61:CKFUN1:
62: CMP DX,BWBTM ; 超出下限?
63: JBE CKFUN2
64: MOV DX,BWBTM ; 下限值
65:CKFUN2:
66: CMP BP,BWLFT ; 超出左限?
67: JNS CKFUN3
68: MOV BP,BWLFT ; 左限值
69:CKFUN3:
70: PUSH BP
71: ADD BP,BWADDX ; 右限+边际值再比
72: CMP BP,BWRGT ; 超出右限?
73: POP BP
74: JBE CKFUN4
75: MOV BP,BWRGT ; 右限值
76:CKFUN4:
77: ..
CKFUN4以下为功能处理,由前面的功能参数决定。
用这种方法,多种功能可以共用一个入口,程式精简且速度快。 |
|