IBM 5150 Hardware Reference Manual page 224

Hide thumbs Also See for 5150:
Table of Contents

Advertisement

LOC OBJ
LINE
sou
RCE
ESFI 740F
2180
JZ
K60
; IF NOT SHIFT. CONVERT LOWER TO LIPPER
2181
2182
;------ CONVERT ANY UPPER CASE TO LOWER CASE
2183
EBF3 3C41
2184
CMP
AL, 'A'
; FIND OUT IF ALPHABETIC
EBFS 7215
2185
JB
K61
; NOT_CAPS_STATE
EBF7 3CSA
2:186
CMP
AL. 'Z'
EBF9 7711
2187
JA
K61
; NOT_CAPS_STATE
EBFB 0420
2188
ADD
Al,
'a '-'A'
; CONVERT TO
LO~ER
CASE
fBFO EBOD
2189
JMP
SHORT K61
; NOT_CAPS_STATE
2190
EBFF
2191
K59:
; NEAR-INTERRUPT-RETURN
EBFF E95CFE
2192
JMP
KZ6
; INTERRUPT_RETURN
2193
2194
i - - - - - ­
CONVERT ANY LOWER CASE TO UPPER CASE
2195
EC02
2196
K60:
; LOWER-TO-UPPER
EC02 3C61
2197
CMP
AL.
'a'
; fINO OUT
IF ALPHABETIC
EC04 7206
2198
JB
K61
; NOT_CAPS_STATE
fC06 3C7A
2199
CMP
AL,
'z'
EC08 7702
2200
JA
1-',61
; NOT_CAPS_STATE
EeOA 2e2:0
2201
SUB
AL.
'n'-'A'
; CONVERT TO UPPER CASE
2202
Eeoc
2203
K61:
; NOT-CAPS-STATE
Eeoc 8BlEICOO
2:::04
MOV
BX,BUFFER_TAIl
; GET THE END POINTER TO THE BUfFER
ECIO BaF3
2205
tiDV
SI.eX
SAVE THE VALUE
fe12 E860FC
2206
CALL
K4
ADVANCE THE TAll
EClS 3BIEIAOO
2207
CIlP
BX.BUFFER_HEAD
HAS THE BUFFER WRAPPED AROUND
ECl9 7409
2208
JE
K62
BUFFER_FUll_BEEP
ECIB 8904
2209
MOV
[SI1,AX
STORE THE VALUE
ECID 891EICOO
2210
MOV
BUFFER_TAIL,eX
1 MOVE THE POltHER UP
Ee21 E93AFE
2211
JMP
K26
INTERRUPT_RETURN
2212
2213
;------ BUFFER IS FUll, somm THE BEEPER
2214
[C24
2215
K62:
BUFFER-FUll-BEEP
~
EC24 f80DOO
2216
CALL
ERROR_BEEP
Ee27 E934FE
2217
K'6
2218
2219
;------ TRANSLATE SCAN FOR PSEUDO SCAN CODES
2220
Ee2A
2221
K63:
j
TRANSLATE-SCAN
EC2A 2C38
2222
SUB
AL,59
; CONVERT ORIGIN TO FUNCTION KEYS
felt
2223
K64:
I TRANSlATE-SCAtl-ORGD
fe2t 2ED7
2224
XlAT
CS:K9
; CTL TABLE SCAN
Eelf BAED
2225
MOV
AH,AL
; PUT VALUE INTO AH
EC30 BODO
2226
MOV
AL.e
; ZERO ASCII CODE
EC32 EBA8
2227
JHP
KS7
; PUT IT INTO THE BUFfER
2228
2229
I<B_INT
EflOP
EC34
2230
ERROR_BEEP
PROC
NEAR
EC34 50
2231
PUSH
AX
j
SAVE REGISTERS
[C35 53
2232
PUSH
BX
EC36 51
2233
PUSH
CX
EC37 BBCOOO
2234
MOV
BX.OCOH
NUMBER OF CYCLES FOR 1/8 SECOND TONE
EC3A E461
2235
HI
AL.KB_CTL
GET CONTROL
INFORMATIOt~
EC3C 50
2236
PUSH
AX
SAVE
EC3D
2237
K65:
BEEP-CYCLE
EC3D 24FC
2238
APQ
AL,OFCH
; TURN OFF TIMER GATE AND SPEAKER DATA
EC3F E661
2239
OUT
KB_CTL,AL
; OUrpUT TO CO'HROl
EC41 894800
2240
MOV
CX,48H
; HALF CYCLE TIME FOR TONE
EC44 EzrE
2241
K66:
LOOP
K66
; SPEAKER OFF
EC46 oe02
2242
DR
Al.2
; TURtl Otl SPEAKER BIT
EC48 E661
~Z43
CUT
KB_CTL.AL
; OUTPUT TO COtlTROL
EC4A 894800
END E2FE
2244
2245
K67:
f1QV
LOOP
CX.4811
"7
; SET UP
coum
; AllOTHER HALF CYCLE
EC4F 48
2246
DEC
BX
; TOTAL TIME COUNT
Eeso 75E8
2247
JtlZ
.6S
; DO MlOTHER C'I'CLE
Ees,! 58
2248
POP
AX
; RECOVER CONTROL
[e53 E661
2249
OUT
KB_CTL,AL
; OUTPUT THE CONTROL
EeS5 59
2250
POP
CX
; RECOVER REGISTERS
ECS6 58
2251
POP
eX
Ee57 58
2252
POP
AX
Ee58 C3
2253
RET
2254
ERROR_BEEP
ENDP
A-31

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents