|
|
发表于 2009-2-12 17:29:22
|
显示全部楼层
DATAS SEGMENT
" b; n8 i% @/ u) Q- P/ E: n; b2 {/ ~ ;此处输入数据段代码 4 N5 m2 G \6 g0 l
DATAS ENDS
9 [$ I6 _7 \; e0 V) {
- |5 A J2 W, s0 k- }; gSTACKS SEGMENT! z4 G; K2 U& c' [. N/ u
;此处输入堆栈段代码
; C+ N" G$ @# l! t c) P5 q: Z1 gSTACKS ENDS0 w6 T& R* q" W, `
4 t5 c$ Y4 V' n& t1 s4 R: W
CODES SEGMENT
9 ?0 P( c! ? M/ ?9 j ASSUME CS:CODES,DS ATAS,SS:STACKS* D" _1 D8 d4 T- s# ^
.486
: O% l1 l6 C" D7 I i4 VSTART:
5 f& F, q f' L( f MOV AX,0f000h
% @2 g3 ]6 O9 d& u9 a5 B( s( l) Z; b MOV DS,AX/ _. N2 ~- j1 ~: V9 K! {9 R7 V6 b+ m
;此处输入代码段代码7 Y) M* c+ H# y9 b
mov si,0# L* E* q4 z8 h* L
last: , V5 ~, m' J1 o( z- C
mov eax,[si]! t- w: \3 Z6 Q+ a1 ?, t
cmp eax,5f4d535fh
+ Q$ w1 O, P$ z& V je over& T5 X- _/ o- o* L& b
add si,10h- ~/ ~0 j: z, L% f* [0 Z
jmp last$ x8 |6 v+ z7 _, k' i# x X
5 l( Q) U* V# M# b7 F over:- S3 h7 T6 I. S$ V+ f+ K0 J# M
add si,18h
; w9 s+ y0 M& z( c mov eax,[si] M; ?$ R/ o6 E- A$ B/ f( U9 Z4 t2 e
mov si,ax% p8 y- o! M. Y' a ?
add si,98 G5 u3 v+ S9 q3 H$ |! Z
mov ax,[si]
( c, x9 d1 ~& r) Q5 i add al,1
6 ^+ _# z7 k) b& ?6 c( ? mov bl,64
7 F) h! n; F4 f7 s" K2 e- m( D mul bl$ H) |2 b3 J' t! z* a9 m: P' J
mov bx,ax
3 ?- e, D# g5 H3 W5 y: @
/ y3 |9 _- D" F3 `& T2 ~ l# i! ~ call display
. n# e, z/ V3 [* c" U MOV AH,4CH
( e4 O+ k+ t0 M/ c0 o INT 21H 6 O3 |0 r: j/ a2 p6 N& d
. y8 y; r8 c I: u( y
display proc near: J! M8 N k9 a& @8 x3 u
push ax9 j8 d1 Q. L: u& @0 ~3 \5 i' a- v" r
push bx
# j N4 [+ u; T/ J5 v! C; T' K: m4 G, {1 C push cx# o! X; g5 n @8 P" `' S5 b* c: g
mov ch,4& _& a G$ s. ~, c% B/ P
rotate:mov cl,4
. v8 Q! w$ U$ f" m4 l( J rol bx,cl
" I$ Y; L! j& l! D% s# e mov al,bl
4 ^; {! a/ ]" N3 {* ~( ]# _ and al,0fh
$ `5 d: {% t$ p5 r; c3 ?" m) W( A5 H add al,30h! U. h; I- ]# D3 Z4 V1 ]$ S7 w |
cmp al,3ah
* L7 b5 m" N5 n3 d jl printit
+ c1 V- F4 w# ^5 L: T- d# _ add al,7h4 I P d( ?4 O4 @. s
printit:
' |. U" ]2 b* e mov dl,al$ h. q+ w! H$ g3 O$ d4 X3 {
mov ah,2# Y* I/ P5 s" D
int 21h
: a, v" [3 V5 d3 R4 d dec ch
1 v# s8 M3 A, n jnz rotate" A- Z! V: @! B2 V
mov dl,20h, @7 d; }) T/ u9 H: p! U
mov ah,2h% ]' m Y7 T6 k8 Y
int 21h) M5 s4 o. c2 f5 Y* s7 E5 M
pop cx
# @* H4 h' t, Y+ J6 H2 w9 x% S pop bx4 o& I- f }& N g4 f6 O
pop ax1 u4 w5 M' L7 D2 A3 D' `3 i
ret
6 ~2 M; G9 `+ ?8 U( Q' L4 o, \2 p display endp+ p. w( t7 N( Z) {
W; _+ X/ M" {2 gCODES ENDS
! Y7 ~1 \2 ?% i7 n$ O) q; L END START
$ e( K+ ?. J$ P& d% x, P
6 N, h% U, L2 ~/ B运行此程序可显示ROM大小.单位以K计算,不过是十六进制的 |
|