|
|
发表于 2009-2-12 17:29:22
|
显示全部楼层
DATAS SEGMENT! p. w8 @" C4 z5 B
;此处输入数据段代码
& |- R. u9 D/ M8 J& w- mDATAS ENDS
; e7 r& ?; \) N, c0 ?
% Y: g6 g; W8 c+ C' f/ J5 fSTACKS SEGMENT0 K# ^ f- { h) B% l3 u1 g$ d
;此处输入堆栈段代码
9 M+ ]. k, }" S& YSTACKS ENDS
2 ^, H) I1 N+ W4 @$ K$ R
$ W6 r |4 {* ACODES SEGMENT
* D5 f' _% E8 L8 n" H1 K! ?: w, ~ ASSUME CS:CODES,DS ATAS,SS:STACKS$ N+ Z% N5 X/ g6 E! a+ E9 R
.486; Z! V9 N+ @3 ?3 a3 ^* ]
START:
5 Y0 w2 K+ H+ W7 H% N5 v4 K MOV AX,0f000h
4 p" q) [& R3 Q! e( l: V: F MOV DS,AX
2 v" Q) T7 l$ f# L7 o; U. X* E } ;此处输入代码段代码+ U$ E/ H; E6 g
mov si,0; r* V; [3 L- f( w
last:
6 N+ k; y* L) R: H. a) _, }- p/ w! L mov eax,[si]( r, f& o- R! N; F+ [" y
cmp eax,5f4d535fh
( v' w7 w# F& T) i je over
) T+ @2 E4 U2 o: b add si,10h6 Y) {- `- P: F
jmp last
. |5 h1 w e1 n; U) d( [
% s; s! _7 Q# b/ W# s1 ~+ r over:+ @( q8 a2 \9 P) q6 y" |
add si,18h6 p* E/ `" h5 R( {% D$ C# A
mov eax,[si]* X4 Y! M! Y* `8 S5 {* L2 \$ F$ p& ]& U
mov si,ax
O+ y2 P3 w, h9 i: U# c add si,99 a4 n5 R. n* Z8 G
mov ax,[si]
x$ s, C, `' r+ @6 R- z add al,1# Z* X/ ~3 `! i. C
mov bl,64
+ C0 ~1 y; N3 \4 s mul bl2 M- t9 b7 z2 m' r. {/ W, U
mov bx,ax
: e" T# \& e. k0 u7 `3 Z ) @+ N- \1 X d$ b+ ?
call display- M# {1 Z7 F/ M& I2 J' Q
MOV AH,4CH3 |* d4 Q2 G: U: G+ i
INT 21H 4 K) |: z1 i. y
# E0 Y% p! y; n$ f% n! E) R display proc near
V; [) d) U+ f l2 z# W push ax+ q+ v/ J2 Z6 i# q N# d( o Z
push bx: h) N; {! r6 z
push cx! I( i' s6 N& Q# c
mov ch,4
# A; X$ F# a& W# T, p5 H) @& k rotate:mov cl,4
% |' C! N) t7 n- ^1 Q rol bx,cl
- G1 u5 M$ S/ M- s' i9 |) t5 ]4 Z# H mov al,bl
( k( j! T1 w2 X/ \ and al,0fh- ^2 L( b3 W \
add al,30h4 ~) Y8 @; \' @" ^9 E4 S! z
cmp al,3ah6 n) W' E/ c2 c$ _' _4 F |
jl printit
* a. f; U5 [6 ]& e# P0 m add al,7h. j' X7 z, R; \' i7 K' a
printit:
9 G, l: A( W4 p' b# L: J4 T8 b |$ @ mov dl,al' S+ V/ _6 Z+ i
mov ah,2
6 L9 s5 I4 a* I int 21h% R# C! E" ^+ I' B; @+ b* ]
dec ch
O t. l+ o o0 V- a! h: z jnz rotate- z, ]' E, |4 c3 A- m* Z
mov dl,20h4 i; w; M8 ]4 y: Y4 m" @$ R" R
mov ah,2h
/ F% n( e0 |+ H! z int 21h
4 r: Z* e9 `& I9 ]9 m3 D pop cx
7 a' {; ^& b; X4 u5 A pop bx& Q! L S: H3 L. l; S' r* Y
pop ax
5 p, E0 e1 u% i+ a n% Q ret
- c- j% l! y6 L7 T& q7 [$ o display endp% W y9 S) g1 P
7 ], s5 [' ~$ v! t6 c* s
CODES ENDS
0 @' C4 | S- I END START
; ]5 T+ y4 }) \0 X" x
3 N: c+ J1 A, K: @0 c运行此程序可显示ROM大小.单位以K计算,不过是十六进制的 |
|