|
发表于 2009-2-12 17:29:22
|
显示全部楼层
DATAS SEGMENT
" t: ?$ k6 | N: M. ]" s ;此处输入数据段代码
/ }6 N3 F0 M/ C8 n4 N2 C T) eDATAS ENDS
! q2 D4 B+ w& \+ g: w [6 A* ?5 \* g+ Y! E Y( G
STACKS SEGMENT& F- A# {" R4 o0 u- I+ m
;此处输入堆栈段代码
" N6 |) U9 Z4 }, RSTACKS ENDS
" L( }% p0 f1 u. C/ V5 @- w8 q! ~# f& N
CODES SEGMENT
, v, {2 i% N% w5 a4 d3 [ ASSUME CS:CODES,DS ATAS,SS:STACKS
' y' y( f' F6 Z$ q- r& V.4863 H& u! J5 N% ~, z' J
START:
$ }) m! q0 ~4 C' O2 M7 {0 F MOV AX,0f000h
; l: N- @5 W' l9 h: k1 E MOV DS,AX
' D( z7 S; P( _9 [% t' M ;此处输入代码段代码4 U0 m: N3 w9 e$ Z
mov si,0
. u' L1 O2 K" Q8 J last: & M6 Z e* R! p- P k& |0 C
mov eax,[si]3 h! I- h$ |, A6 H/ t
cmp eax,5f4d535fh5 N$ H P J( L+ k( r9 d6 J
je over0 K7 u7 G' X$ ^/ l) u
add si,10h, J) ]( d/ D" d2 T
jmp last
2 i( U0 x2 y% N! W8 e% z- A
( w& T$ l) H5 m B6 ~ over:
' F9 ?9 ^' M% _* }3 n add si,18h
- E. @. z0 M z+ T, ` mov eax,[si]
2 N" y0 W; y: L4 E$ |' _& b. Y. | mov si,ax+ h, e7 k& T: x* c' U# r# n( m& D0 o
add si,99 E& E1 W" n% R/ f2 Z& Q
mov ax,[si]3 T4 j4 g* g4 C
add al,1, r$ q- d! M! p) _
mov bl,64
8 E% f' F/ @$ q5 j mul bl
/ b& ^( c0 M5 \/ @ mov bx,ax N- S" |& ~, n8 m! i% L
; A& H2 s' V0 ^1 Y
call display
. f* y! d1 O, W) g7 P MOV AH,4CH0 _* B! a" x# u: h
INT 21H
. `# f( l/ H- e, {
+ c, N+ F* |: b* u; o& j display proc near7 V! u: N/ Q( {2 I
push ax+ Y9 f9 e+ O% z' r
push bx; z- a& s& Q, F( k
push cx7 M3 d" X, b# g: L& t! R
mov ch,4
5 h0 w" c$ o6 E rotate:mov cl,46 l2 g6 M7 H4 W" I* v
rol bx,cl0 B8 E5 ^+ r3 O0 Q$ g0 G/ _
mov al,bl% y( J+ U; G! H
and al,0fh
4 k, [ A0 z8 @1 j# f' L add al,30h; I4 ?8 t" h, h+ h$ u1 i
cmp al,3ah
; V. g2 F$ t# W% L3 z jl printit; D3 t" T' S( }: y* y
add al,7h: x) W8 E8 {. O$ H6 _
printit:
- O" G7 k! Q5 ?: B8 E b mov dl,al- s& L; {( c- S3 g- o$ u! v0 L0 d
mov ah,2
6 u/ ]. q" |' B$ o% O* L int 21h- h$ z5 n+ e8 r) h. @ `) U/ Z
dec ch
/ ^, L; N) {! S2 T' i( @ jnz rotate& D: ^' l% U, _- V3 A* c
mov dl,20h
5 L, |& L1 ~5 M5 J9 G mov ah,2h
" G0 u1 g# F( c4 |2 Y int 21h4 h7 {1 Q e' I1 s& e% @
pop cx. V1 N; A3 \' p
pop bx
2 d5 A2 u$ F4 T' ] pop ax
9 w/ @1 Z* E; x' U ret4 R( ~ @) \ S/ n9 w
display endp
+ k- L0 m* u5 S% `' t7 b7 X% e; C; k
/ Z* v9 R4 C3 a, O* u& R3 I6 O6 xCODES ENDS% i, U9 {" U- f# K7 ?3 H# M
END START* {. \/ F8 f3 _3 C) [8 ?3 a
% y8 ^: W7 i% }3 L运行此程序可显示ROM大小.单位以K计算,不过是十六进制的 |
|