IBM XT 5160 Technical Reference page 305

Hide thumbs Also See for XT 5160:
Table of Contents

Advertisement

LOC OBJECT
LINE
SOURCE
(BIOS FOR THE IBM PERSONAL COMPUTER XT)
11/08/82
;----- DETERMINE GRAPHICS MODE CURRENTLY
IN EFFECT
;----- DETERMINE BIT OFFSET
IN BYTE FROM COLUMN MASK
;----- DETERMINE BYTE OFFSET FOR THIS LOCATION IN COLUMN
;----- MULTIPLY BH
(VALID BITS
IN BYTE)
BY CH (BIT OFFSET)
TEST FOR MED I UM RES
FIND_SOURCE
ADJUST VALUES
MULT I PL Y # ROWS BY 4
SINCE 8 VERT DOTS / CHAR
AND EVEN/ODD ROWS
ZERO INTO STORAGE LOCATION
LEFT JUSTIFY THE VALUE
IN AL
(FOR WR ITE )
ADD I N THE B IT OFF SET VALUE
LOOP CONTROL
ON EX IT, CL HAS SH I FT COUNT
TO RESTORE BITS
GET MASK TO AH
MOVE THE MA SK TO CORRECT LOCATION
RECOVER REG
RETURN WITH EVERYTH I NG SET UP
SET PARMS FOR MED RES
SET PARMS FOR HIGH RES
HANDLE IF MED ARES
;
SAVE RESULT AS DESTINATION ADDRESS
;
SAVE LINE COUNT
IN BL
;
GET UPPER LEFT POS I T ION I NTO AX REG
;
ADDRESS OF PEL WITH I N BYTE TO CH
;
SH I FT BY CORRECT AMOUNT
;
I NCREMENT THE PO INTER
; GET THE # OF BITS
IN RESULT TO DH
;
SAVE BX DUR I NG OPERAT I ON
;
WILL SAVE AL DUR I NG OPERATION
CRT MODE,6
R7 -
DH,I
DX,CX
DX, 10 IH
DH,I
GRAPH POSN
DI,AX-
AL, I
AH,BL
AH,CL
BX
CL,CL
CL,CH
BH
R6
DX,CL
SI,DX
DH,BH
CH,DL
BX ,2COH
CX,302H
CRT MODE,6
R5 -
BX,I80H
CX,703H
NEAR
BX
AX
SAL
SUB
ADD
SAL
CMP
JNC
CALL
MOV
NOTH I NG ,
THE SCREEN I S SCROLLED
CH ,CL = UPPER LEFT CORNER OF REG I ON TO SCROLL
DH ,DL = LOWER RIGHT CORNER OF REG I ON TO SCROLL
BOTH OF THE ABOVE ARE
I N CHARACTER POS I T IONS
BH = FILL VALUE FOR BLANKED LINES
AL = # LI NES TO SCROLL
(AL=O MEANS BLANK THE ENT I RE
FIELD)
DS = DATA SEGMENT
ES = REGEN SEGMENT
SUB
AND
ADD
DEC
JNZ
ROR
MOV
SHR
POP
RET
ENDP
SHR
ADD
MOV
MOV
MOV
CMP
JC
MOV
MOV
PROC
PUSH
PUSH
SCROLL UP
TH I S ROUT I NE SCROLLS UP THE I NFORMAT I ON ON THE CRT
EXIT
ENTRY
TH IS SUBROUT I NE DE TERM I NES THE REGEN BYTE LOCA T I ON
OF THE
I ND I CA TED ROW COLUMN VALUE IN GR APH I C S MODE.
ENTRY --
DX = ROW VALUE
(0-199)
CX = COLUMN VALUE
(0-639)
EXIT --
S I
OFFSET I NTO REGEN BUFFER FOR BYTE OF INTEREST
AH
MASK TO STR I P OFF THE BITS OF INTEREST
CL
BITS TO SH I FT TO RIGHT JUST I FY THE MASK
IN AH
DH
# BITS IN RESULT
; ----- DETERM I NE CRT MODE
; ----- DE TERM I NE SIZE OF WINDOW
;----- USE CHARACTER SUBROUTINE FOR POSITIONING
;----- ADDRESS RETURNED IS MULTIPLIED BY 2 FROM CORRECT VALUE
.
- - - - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
-
--
-
-
-
-
-
-
-
- - -
-
- - -
-
- - -
-
- - - - - - -
-
-
-
-
--
GRAPH I CS UP
PROC
NEAR
MOV
BL,AL
MOV
AX ,CX
;
SET UP THE REG I STERS ACCORD I NG TO THE MODE
;
CH = MASK FOR LOW OF COLUMN ADDRESS
(
7/3 FOR HIGH/MED RES)
;
CL = # OF ADDRESS BITS
IN COLUMN VALUE
( 3/2 FOR H/M)
;
BL = MASK TO SELECT BITS FROM POINTED BYTE
(80H/COH FOR H/M)
;
BH = NUMBER OF VALID BITS
IN POINTED BYTE
(
1/2 FOR H/M)
;----- DETERMINE 1ST BYTE IN IDICATED ROW BY MULTIPLYING ROW VALUE BY 40
( LOW BIT OF ROW DETERMINES EVEN/ODD, 80 BYTES/ROW
MOV
AL,40
PUSH
DX
SAVE ROW VALUE
AND
DL,OFEH
STRIP OFF ODD/EVEN BIT
MUL
DL
AX HAS ADDRESS OF 1ST BYTE
OF
INDICATED ROW
POP
DX
RECOVER
IT
TEST
DL,I
TEST FOR EVEN/ODD
JZ
R4
JUMP IF EVEN ROW
ADD
AX,2000H
OFFSET TO LOCATION OF ODD ROWS
R4:
EVEN ROW
MOV
S I ,AX
MOVE-PO I NTER TO S I
POP
AX
RECOVER AL VALUE
MOV
DX,CX
COLUMN VALUE TO DX
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
~I~~
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
R5:
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
R6:
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
R3
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
F49E 2BDI
F4AO 81C20101
F4A4 DOE6
F46A BBC002
F46D B90203
F470 803E490006
F475 7206
F477 BB800
I
F47A B90307
F47F D3EA
F481
03F2
F483 8AF7
F489 02CD
F48B FECF
F48D 75F8
F47D
F47D 22EA
F485 2AC9
F487
F487 DOC8
F48F 8AE3
F491 D2EC
F493 5B
F494 C3
F495
F495 8AD8
F497 8BC 1
F4A6 DOE6
F4A8 803E490006
F4AD 7304
F499 E86902
F49C 8BF8
F454 B028
F456 52
F457 80E2FE
F45A F6E2
F45C 5A
F45D F6C20 I
F460 7403
F462 050020
F465
F465 8BFO
F467 58
F468 8BDI
F452
F452 53
F453 50
5-158
PC-XT System BIOS (11/08/82)

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents