|
|
发表于 2009-2-12 17:29:22
|
显示全部楼层
DATAS SEGMENT! l5 ?. L$ [' t; |- m3 a
;此处输入数据段代码 1 T! Q+ w& P' N% b
DATAS ENDS
2 G3 x) j; w5 p) Z+ b) m9 \- x# D! N" {
STACKS SEGMENT! y& c/ ?2 o6 U2 G H, d+ w
;此处输入堆栈段代码
/ N, h3 C5 e* d6 _6 TSTACKS ENDS9 B+ T$ \9 [/ M# a
' x1 y; B% g% k5 X
CODES SEGMENT1 k1 s2 C0 e3 a3 }) y9 @0 f
ASSUME CS:CODES,DS ATAS,SS:STACKS/ Q4 [2 p4 L1 P" S( M- J5 z+ k
.486, V- J, _* P( w" m: r
START:$ e6 ~, C' E3 u( x
MOV AX,0f000h
$ L% U' r) m5 K8 r2 s MOV DS,AX
% k( W! U& w E! M5 r! ?3 x3 w1 T ;此处输入代码段代码" o F; J) H0 H, \ D7 L& C
mov si,0
! S8 h+ A) _3 Y8 x1 B! E/ w$ b last: 9 K$ F: o3 \, E. K9 I" f
mov eax,[si]9 G; t( g; n9 I
cmp eax,5f4d535fh
4 n7 Y2 [0 Y9 a V je over1 z1 G- q, t6 ~1 L
add si,10h7 h" S" W! w9 b( g) m! ?3 F) n
jmp last g+ y- b: _3 C$ y. Y
5 \9 g; O2 W' j7 p9 i/ X7 J
over:# F, ^" x6 Q5 ^4 H8 I5 v- _3 Y% r
add si,18h8 d* i) w' m; M8 ^
mov eax,[si]
- ]0 Q8 _. J2 B. L3 K mov si,ax
9 b: A; x* y2 W4 o6 ?9 U" O2 _ add si,9
5 n, p9 y {# h* c# \4 J' r mov ax,[si]! U0 I* R: G2 ~: F- d) U4 ], b
add al,1
% x, c" Y! ~6 c9 o4 L8 V mov bl,643 A1 K' t- V$ m/ F
mul bl. V7 b5 P Q" \: j: C
mov bx,ax. T8 b6 G8 A$ E& o3 c
+ f9 ]/ u, O! t! ]" Q
call display P5 O: @, Q5 l9 c1 E+ v$ b
MOV AH,4CH
! S$ e. i" V8 i' y1 | INT 21H / F' V* K3 O+ G" I
% y- |( s" R6 c0 N; C" t
display proc near
% |! O1 Z; m/ I; h2 E push ax
" S7 L* C, h( ?6 j/ k$ i, L( \$ n push bx
1 o3 P7 c4 W& c9 b push cx: F. W$ d. M9 i; x
mov ch,41 f$ ^) u/ [: E) s, R
rotate:mov cl,4+ G* W7 i) J O0 P: a
rol bx,cl6 ]7 @: a( X# `4 Z; R4 k
mov al,bl
V' E! u4 e4 m and al,0fh
2 g r7 h6 d J/ D5 k add al,30h
0 `, K; W+ x- `1 c# T6 A cmp al,3ah
' K! V, l9 |+ f# Y* T jl printit, n* u4 u# }# `1 g! n _) Q
add al,7h7 z, P$ f' A' Y, P, X6 E
printit:
8 \/ D3 g; Z" E( o' H# _4 S mov dl,al1 l$ h& N' [( V6 d8 L
mov ah,2
9 A3 l8 J3 B: ~3 e( _ int 21h$ r( o4 w- o; S; U1 I: { E
dec ch
8 f9 h' ?4 g. M; C d jnz rotate Z; n. T7 i. O- _2 {
mov dl,20h
- x" r7 r1 \' o5 k. |& l! q! t. O4 u mov ah,2h
, r0 o3 y6 j; t0 h int 21h% K- T6 L. c; R% m0 w8 l
pop cx- ~& F! Q8 \( T& ]
pop bx
$ m9 T" Z! p" J8 i pop ax
; `1 r) |4 f) h6 M1 {4 e- P ret
/ a3 m2 K, M- }; ] display endp
3 [6 }3 l. ^* \8 T o3 {' t% R" Q- W* P; \
CODES ENDS
- Z b( @6 V0 B. ~5 s END START
+ I, p, j3 W& W( K$ o" ]5 Q$ v- ~7 |) g X# t
运行此程序可显示ROM大小.单位以K计算,不过是十六进制的 |
|