25.03.2015 Views

IBM 5150 PC Technical Reference (6025005, August, 1981) (PDF)

IBM 5150 PC Technical Reference (6025005, August, 1981) (PDF)

IBM 5150 PC Technical Reference (6025005, August, 1981) (PDF)

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

LOC OBJ LINE SOURCE<br />

F32B 06 3760 PUSH ES ESTABLISH ADDRESSING TO REGEN BUFFER<br />

F3ZC IF 3761 pop OS FOR BOTH POINTERS<br />

F32:0 SOFBOO 3762 CMP BL.O o SCROll MEANS BLANK FIELD<br />

F330 C3 3763 RET ; RETURN WITH FUGS SET<br />

3764 SCROLL_POSITION ENOP<br />

3765<br />

3766 j------ MOVE_ROW<br />

F331 3767 HIO PROC NEAR<br />

f331 SACA 3768 MOV Cl,Dl • GET • OF eOLS TO MOVE<br />

F333 56 3769 PUSH 51<br />

F334 57 3770 PUSH 01 I SAVE START ADDRESS<br />

F33S F3 3171 REP MOVSW ; MOVE THAT LlUE ON SCREEN<br />

F336 A5<br />

F337 SF 3772 POP 01<br />

F336 Sf 3773 POP 51 I RECOVER ADDRESSES<br />

F339 C3 3774 RET<br />

3775 HID ENDP<br />

3776<br />

3777 j------ CLEAR_ROW<br />

F33A 3778 HII PROC NEAR<br />

F33A SACA 3779 MOV Cl.Dl I GET I CCUJMNS TO CLEAR<br />

F33C 57 3780 PUSH 01<br />

F33D F3 3781 REP STQSW I STORE THE fILL CHARACTER<br />

F33E AS<br />

F33f SF 3782 pop 01<br />

F340 C3 3783 RET<br />

3784 Nil ENDP<br />

3765 ;--------------------------­ ---­ ---­<br />

3766 ; SCROLL_DOWN<br />

3787 THIS ROUTINE MOVES THE CHARACTERS WITHIN A DEFINED<br />

3788 BLOCK DOWN ON THE SCREEN, FILLING THE TOP LINES<br />

3789 WITH A DEFINED CHARACTER<br />

3790 ; INPUT<br />

3791 (AH I = CURRENT CRT MODE<br />

3792 (All = NUMBER OF LINES TO SCROLL<br />

3793 (CX I = UPPER LEFT CaRtIER OF REGION<br />

3794 (OX) = LOWER RIGHT CORNER OF REGION<br />

3795 (BHJ = FILL CHARACTER<br />

3796 (OS I = DATA SEGMENT<br />

3791 'ESJ = REGEN SEGMENT<br />

3798 ;OUPUT<br />

3799 NOHE -­ SCREEN IS SCROllED<br />

3800 ; --­ ---­ ----­ ------------------------­<br />

F341 3801 SCROLL_DO~N FROC NEAR<br />

f341 FD 1802 STD ; DIRECTION FOR SCROLL DOWN<br />

f342 8AD8 3803 NOV BL,AL ; LINE COUtIT TO BL<br />

F344 80FC04 3804 CMP AH,4 ; TEST FOR GRAPHICS<br />

F347 7208 3805 JC HI2<br />

F349 80FC01 3806 CNP AH,7 i TEST FOR BW CARD<br />

F34C 7403 3S07 JE HI2<br />

F34E E9A601 3808 JMP GRAPHICS_DOWN<br />

F351 1809 NI2.: ; CONTINUE_DOWN<br />

F351 53 3810 FUSH BX ; SAVE ATTRIBUTE IN 8H<br />

F352 8BCZ 3811 NOV AX,OX ; LOWER RIGHT CORNER<br />

F354 E893FF 3812. CALL SCROll.POSITION ; GET REGEN LOCATION<br />

F357 742.0 3811 JZ HI.<br />

F3S9 2BfD 3814 SUB SI,AX ; SI IS FROM ADDRESS<br />

f358 8AE6 3815 MOV AH,OH ; GET TOTAL II ROWS<br />

F35D un 3816 SUB AH,Bl ; COUNT TO MOVE IN SCROLL<br />

F35F 3817 N13:<br />

F3SF E8CFFF 3816 CALL NID ; MOVE ONE ROW<br />

F362 2.BF5 3819 SUB SI,ep<br />

F364 2BFD 3820 SUB DI,BP<br />

F366 fEce 3821 DEC AH<br />

F368 75F5 3622 J~lZ HI3<br />

F36A 3823 N14:<br />

F36A 58 3824 POP AX t RECOVER ATTRIBUTE IN AH<br />

F368 B020 3825 MOV AL, •<br />

F36D 3826 N15:<br />

F36D ESCAFF 3827 CAlL HII ; CLEAR ONE ROW<br />

F370 2BFa 3828 SUB aI,BP ; GO TO NEXT ROW<br />

F372 FEee 3829 DEC 8L<br />

F374 75F7 3830 JNZ HIS<br />

F376 E957FF 3831 JMP HS ; SCROll.END<br />

F379 3832 N16:<br />

F379 8ADE 3833 HOY BL,DH<br />

A-52

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!