-
Notifications
You must be signed in to change notification settings - Fork 0
/
TRANS.INC
67 lines (53 loc) · 1.43 KB
/
TRANS.INC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
; ========================================================================
; TRANS.INC
;
; Copyright (C) 1988,1989,1990 by Microsoft Corporation.
;
; ========================================================================
; definitions for 3.00 keyboard drivers.
; macros for translation table entry.
; This is used for tables in which a byte in one array is used as
; a search key for a byte in a second array.
ktrans macro vk, asc, ?VKFLAG
if ?VKFLAG EQ 0
db vk
else
db asc
endif
endm
; This is used for tables in which a byte in one array is used as
; a search key for a pair of bytes in a second array (e. g.
; unshifted and shifted translations).
ktrans2 macro vk, asc1, asc2, ?VKFLAG
if ?VKFLAG EQ 0
db vk
else
db asc1
db asc2
endif
endm
; This macro is for the dead key table, which associates an unaccented
; character and an accent deadkey with an accented ANSI character.
deadtrans macro ch, accent, accTrans, ?VKFLAG
if ?VKFLAG EQ 0
db ch
db accent
else
db accTrans
endif
endm
; This macro provides labels for both columns of an associative table.
klabels macro lab1, lab2, ?VKFLAG
if ?VKFLAG EQ 0
lab1 label byte
else
lab2 label byte
endif
endm
; This macro provides a label for the end of the key vector of
; an associative table.
klabdef macro deflab, ?VKFLAG
if ?VKFLAG EQ 0
deflab label byte
endif
endm