Assembler






, -
. ,
,
.

, .
 
- .
25 80 .
80*25.
, ASCII .
- ,
0B0000H. - ,
. ,
ASCII ,
. ASCII
.
 
.
, . .
8.7 .
, .
.
, - . .
8.7 ,
. ( )
. 07H.
,
70H. 00H . ASCII
,
.
 
- 4K .
,
2000 .
,
, .
160 161.
. ,
0 0;
24 79.

 
= 2*(*80 + ) + 0B0000H
 
2 .
0B0000H
. DS, ES
0B0000H,
.

----------------------------------------------------------
00H
01H
07H
0FH - ,
70H ,
80H

----------------------------------------------------------
. 8.7
 
. 8.8
,
. ,
.
, ,
DISPLAY 0B800H.
,
-.

Microsoft (R) Macro Assembler Version 5.00 1/1/80 04:05:26
. 8.8 Page 1-1
 
PAGE ,132
TITLE . 8.8
 
0000 STACK SEGMENT STACK
0000 0040[ DW 64 DUP (?)
????
]
 
0080 STACK ENDS
 
0000 DISPLAY SEGMENT AT 0B800H
0000 DISPLAY_START LABEL WORD
0FA0 ORG 4000
0FA0 DISPLAY_END LABEL WORD
0FA0 DISPLAY ENDS
 
0000 CODE SEGMENT
ASSUME CS:CODE
0000 SIDE_SCROLL PROC FAR
0000 1E PUSH DS
0001 B8 0000 MOV AX, 0
0004 50 PUSH AX
0005 B8 ---- R MOV AX, DISPLAY
0008 8E D8 MOV DS, AX
000A 8E C0 MOV ES, AX
ASSUME DS:DISPLAY, ES:DISPLAY
 
;----- 79
 
. 8.8
000C B9 0019 MOV CX, 25
000F 8D 3E 004E R LEA DI, DISPLAY_START+78
0013 B8 0720 MOV AX, 720H
0016 BLANK:
0016 89 05 MOV [DI], AX
0018 81 C7 00A0 ADD DI, 160
001C E2 F8 LOOP BLANK
 
;-----
 
001E B9 07D0 MOV CX, 2000
0021 8D 36 0F9E R LEA SI, DISPLAY_END-2
0025 8D 3E 0FA0 R LEA DI, DISPLAY_END
0029 FD STD
002A F3/ A5 REP MOVSW
 
002C A3 0000 R MOV DISPLAY_START, AX
 
002F CB RET
0030 SIDE_SCROLL ENDP
0030 CODE ENDS
END
 
. 8.8
 
. 8.8
.
25 160 .
.
,
, 79 0,
0 1. ,
.
 
-,
,
.
-
. , -
.

-,
.
 

,
, - 6845
Motorola. -,
3B4H 3B5H.
3B8H 3BAH.
.
, ,
. ,
-
.