|
|
发表于 2009-2-12 17:29:22
|
显示全部楼层
DATAS SEGMENT* F3 ], A8 W1 L! O$ u
;此处输入数据段代码 3 @4 q& c" j$ I6 }0 X: _
DATAS ENDS
& T+ ?3 }' u) G U, L$ p: Q$ S- j7 M @- B; f0 O
STACKS SEGMENT3 [- U* n0 `/ w
;此处输入堆栈段代码' m; K% Q4 d4 [+ }
STACKS ENDS4 f) S6 B1 a+ _3 J7 L0 g4 O) h" `
/ y/ x" D9 U$ I1 P/ C
CODES SEGMENT
6 b+ y% ?. f) H% t* c" ]5 A ASSUME CS:CODES,DS ATAS,SS:STACKS
) S8 l U( ]& b! z.4867 e# F8 X. P0 D9 Q
START:
" A: i5 s4 b* v% Q4 p# @ MOV AX,0f000h
( q& G* T8 [* n3 m: G% Q {& H9 ] MOV DS,AX: q" P- }. d+ q6 X5 k5 H- Q
;此处输入代码段代码
" J0 c" b& F7 e6 Z mov si,0+ T0 F! w6 m1 x) ^) S- g) d
last: / ]1 G5 ]& Q9 b1 k$ r4 A3 V, _
mov eax,[si]
* G) }0 D9 a/ l( o4 e cmp eax,5f4d535fh
) T. U- S, v! W+ o* ^0 ? je over
6 F- L. M/ Q- X) N add si,10h0 M7 W' T8 W$ l' }0 A B3 {- V
jmp last$ x6 [" l& Q; X3 w/ x) k* @
/ c! L3 Y0 w4 B5 T
over:! b$ R }9 M4 g# X" i" x
add si,18h
% h U+ v( m7 } mov eax,[si]
D- H% b% F3 v/ n. m mov si,ax
7 f/ C6 t+ h& @' D) M/ ] add si,9
: i( d' Z& C5 a% n mov ax,[si]
5 ^, h' c q3 h, m( k) V: O4 l add al,1 |+ \$ e0 E3 O+ W' A2 L0 _/ ?& ]7 p
mov bl,64
: e& i B2 q# K) e/ _7 s( s mul bl" A5 {$ G: ]/ g4 I
mov bx,ax
5 D; K9 K& I# P( w& A! D$ _
) R% U3 C/ i# v call display
1 j" `7 U9 g- A, o3 \1 X- ~) B MOV AH,4CH: G9 V8 K% p0 ~# z5 i: L
INT 21H
5 t( t; n- m! d6 m9 u& O$ s 1 u! e, `% T- Z7 }4 y: b
display proc near
8 E8 G+ @. h0 n' y push ax
8 B0 P- T& e- e push bx
! k- O- o* ]+ H' s push cx% y/ d8 i0 j4 ?+ v1 I* S" y6 |
mov ch,4" ?' [5 ~' A8 S$ K0 Y
rotate:mov cl,4 s* j p; f# Q5 V, ~7 Q/ V
rol bx,cl
' e% e* f7 J( s% \6 D mov al,bl
' y3 Z8 C s2 _) ]/ \+ d% R and al,0fh2 n+ i9 t! m+ R+ b, Y1 O* [# N5 |
add al,30h
" A, {9 H7 C' |8 V cmp al,3ah z( i4 C( I' M: k& p* N
jl printit
# j: W0 [; k- b/ w: c add al,7h/ J4 Z5 i6 d: [' f! e
printit:* q4 G% j9 [6 c2 |: Y
mov dl,al
2 E1 [! s, L6 j7 t9 H6 s! r3 O; e mov ah,2" V* w* j$ U. V2 X1 p4 Y
int 21h
& l7 J: X* q% u3 _) n9 g dec ch7 `& v S U) ]+ x7 m# F7 f3 A, W
jnz rotate
" i- ]/ Z* j5 W' G+ M& h! v mov dl,20h) ?+ t+ n) f4 ^% g
mov ah,2h
2 T# `+ X* [/ g% h9 M int 21h( U/ \) r$ q& k' |1 z4 c4 D$ a/ L
pop cx
/ a) U, B! o' F$ k pop bx
7 a. G2 ?( I7 s& R pop ax
# i; Z3 W4 o* F1 G3 s, f ret1 N. L1 f8 E& h" t1 n8 o; x
display endp A, m# {* ]' @+ h
0 x0 n9 C' O0 B2 M2 f, b7 Y
CODES ENDS
5 b) }, X! `# p2 o END START5 q9 O# _7 y0 ]$ ]
0 L2 x7 t4 _3 W( y6 i5 b0 x: r运行此程序可显示ROM大小.单位以K计算,不过是十六进制的 |
|