IBM XT 5160 Technical Reference page 306

Hide thumbs Also See for XT 5160:
Table of Contents

Advertisement

; - - - - -
LOOP THROUGH, MOV I NG ONE ROW AT A T I ME, BOTH EVEN AND ODD FIELDS
LINE
SOURCE
(B I OS FOR THE I BM PERSONAL COMPUTER XT)
I I /08/82
;----- DETERMINE THE SOURCE ADDRESS IN THE BUFFER
5-159
ZERO TO HIGH OF COUNT REG
MULTIPLY NUMBER OF LINES BY 4
ADJUST VALUES
MUL
TI PL Y # ROWS BY 4
SINCE 8 VERT DOTS / CHAR
AND EVEN/ODD ROWS
I F ZERO, THEN BLANK ENT I RE FIELD
GET NUMBER OF LI NES IN AL
80 BYTES/ROW
DETERM I NE OFFSET TO SOURCE
SET UP SOURCE
SUBTRACT THE OFFSET
NUMBER OF ROWS
IN FIELD
DE TERM I NE NUMBER TO MOVE
FIND SOURCE
GET SEGMENTS BOTH PO I NT I NG TO REGEN
FIND SOURCE DOWN
BOTH-SEGMENTS. TO REGEN
ZERO TO HIGH OF COUNT REG
PO I NT TO LAST ROW OF PIXELS
MUL TIPLY NUMBER OF LINES BY 4
TEST FOR MED I UM RES
FIND_SOURCE_ DOWN
I F ZERO, THEN BLANK ENT I RE FIELD
GET NUMBER OF LINES
IN AL
80 BYTES/ROW
DETERM I NE OFFSET TO SOURCE
SET UP SOURCE
ADD I N OFFSET TO IT
NUMBER OF ROWS
IN FIELD
DE TERM I NE NUMBER TO MOVE
# COLUMNS * 2,
SINCE
2 BYTES / CHAR
(OFFSET OK)
OFFSET *2 SINCE 2 BYTES /CHAR
PO I NT TO LAST BYTE
;
SAVE RESULT AS DESTINATION ADDRESS
;
SET DIRECTION
;
SA VE LI NE COUNT IN BL
; GET LOWER RIGHT POS I T I ON I NTO AX REG
;
# COLUMNS
* 2,
SINCE 2 BYTES / CHAR
; OFFSET * 2 SINCE 2 BYTES / CHAR
GRAPH POSN
DI,AX-
DH,1
DX,CX
DX,10lH
DH,I
BL,AL
AX,DX
DL,I
DL,I
DI,I
ES
DS
CH,CH
BL, I
BL,I
Rl1
AL,BL
AH,80
AH
SI,DI
SI,AX
AH,DH
AH,BL
CRT MODE,6
R12-
DI,I
DI
ES
DS
CH,CH
DI,240
BL,I
BL,1
RI6
AL,BL
AH,80
AH
SI,DI
SI,AX
AH,DH
AH,BL
SUB
ADD
SAL
SAL
SAL
SAL
SAL
SAL
INC
CMP
JNC
CALL
MOV
NOTH I NG ,
THE SCREEN I S SCROLLED
PUSH
POP
SUB
SAL
SAL
JZ
MOV
MOV
MUL
MOV
ADD
MOV
SUB
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 LI NE S
AL = # LINES TO SCROLL
(AL=O MEANS BLANK THE ENT I RE
FIELD)
DS = DATA SEGMENT
ES = REGEN SEGMENT
PUSH
POP
SUB
ADD
SAL
SAL
JZ
MOV
MOV
MUL
MOV
SUB
MOV
SUB
PC-XT System BIOS (11/08/82)
EXIT
;----- MEDIUM RES DOWN
;----- USE CHARACTER SUBROUTINE FOR POSITIONING
;----- ADDRESS RETURNED IS MULTIPLIED BY 2 FROM CORRECT VALUE
; ----- DETERM I NE CRT MODE
; ----- DETERM I NE SIZE OF WINDOW
; ----- DETERM I NE THE SOURCE ADDRESS
I N THE BUFFER
;----- MEDIUM RES UP
SCROLL DOWN
i
ENTRY TH I S ROUT I NE SCROLLS DOWN THE I NFORMAT I ON ON THE CRT
.
----------------------------------------------------------------
GRAPH I CS DOWN
PROC
NEAR
STD
MOV
MOV
R8:
ROW LOOP
CALL
Rl1
MOVE ONE ROW
SUB
SI,2000H-80
MOVE TO NEXT ROW
SUB
D I, 2000H-80
DEC
AH
NUMBER OF ROWS TO MOVE
JNZ
R8
CONT I NUE TILL ALL MOVED
;----- FILL I N THE VACATED LI NE (S)
R9:
CLEAR ENTRY
MOV
AL,BH
ATTRIBUTE TO FILL WITH
RIO:
CALL
RI8
CLEAR THAT ROW
SUB
D I ,2000H-80
PO I NT TO NEXT LI NE
DEC
BL
NUMBER OF LINES TO FILL
JNZ
RIO
CLEAR LOOP
JMP
V IDEO_RETURN
EVERYTH I NG DONE
Rll :
BLANK FIELD
MOV
BL,DH
SET BLANK COUNT TO
EVERYTHING
IN FIELD
JMP
R9
CLEAR THE FIELD
GRAPH I CS_UP
ENDP
R12:
4263
4264
4265
4266
4261
4268
4269
4210
4211
R1:
4212
4213
4214
4215
4216
4211
4218
4219
4280
4281
4282
4283
4284
4285
4286
4281
4288
4289
4290
4291
4292
4293
4294
4295
4296
4291
4298
4299
4300
4301
4302
4303
4304
4305
4306
4301
4308
4309
4310
4311
4312
4313
4314
4315
4316
4311
4318
4319
4320
4321
4322
4323
4324
4325
4326
4321
4328
4329
4330
4331
4332
4333
4334
4335
4336
4331
4338
4339
4340
4341
4342
4343
4344
4345
4346
4341
4348
4349
4350
4351
4352
4353
4354
4355
4356
4351
4358
4359
4360
4361
4362
4363
4364
4365
4366
4361
4368
4369
4310
4311
4312
F4DA
F4DA 8AC1
F4DC
F4DC E88800
F4DF 81EFBOIF
F4E3 FECB
F4E5 15F5
F4E1 E9DBFC
F4EA
F4EA 8ADE
F509 DOE2
F50B DIE1
F50D 41
F4B3
F4B3 06
F4B4 IF
F4B5 2AEO
F4B1 DOE3
F4B9 DOE3
F4BB 142D
F4BD 8AC3
F4BF B450
F4C I F6E4
F4C3 8BF1
F4C5 03FO
F4C1 8AE6
F4C9 2AE3
F4CB
F4CB E88000
F4CE 81EEBOIF
F4D2 81EFBOIF
F4D6 FECC
F4D8 15F I
F4EC EBEC
F4EE
F4EE FD
F4EF 8AD8
F4Fl
8BC2
F4F3 E80F02
F4F6 8BF8
LOC OBJECT
F4F8 2BDI
F4FA 81C20101
F4FE DOE6
F500 DOE6
F4AF 00E2
F4Bl 0lE1
F502 803E490006
F501 1305
F50E
F50E 06
F50F IF
F510 2AED
F51281C1FOOO
F516 DOE3
F518 DOE3
F51A 142E
F51 C 8AC3
F51E B450
F520 F6E4
F522 8BF1
F524 2BFO
. F526 8AE6
F528 2AE3

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents