条件处理与有限状态机编程详解
1. 表驱动选择
表驱动选择是一种利用表查找来替代多路选择结构的方法。当需要进行大量比较时,这种方法效果最佳。使用时,需要创建一个包含查找值和标签或过程偏移量的表,然后通过循环来搜索该表。
以下是一个包含单字符查找值和过程地址的表的部分示例:
.data
CaseTable BYTE 'A' ; lookup value
DWORD Process_A ; address of procedure
BYTE 'B'
DWORD Process_B
; etc.
假设 Process_A 、 Process_B 、 Process_C 和 Process_D 分别位于地址 120h 、 130h 、 140h 和 150h ,该表在内存中的排列如下:
| 查找值 | 过程地址 |
| ---- | ---- |
| ‘A’ | 00000120 |
| ‘B’ | 00000130 |
| ‘C’ | 00000140 |
| ‘D’ | 00000150 |
下面是一个示例程序 ProcTable.asm ,用户从键盘输入一个字符,程序使用循环将该字符与查找表中的每个条目进行比
超级会员免费看
订阅专栏 解锁全文
4803

被折叠的 条评论
为什么被折叠?



