|
|
发表于 2009-2-12 17:29:22
|
显示全部楼层
DATAS SEGMENT
0 Z- v0 Z0 a2 y. I& u# E* n2 W2 S ;此处输入数据段代码
' O* M( W# w! E$ z# T3 v8 W, XDATAS ENDS
6 X5 p, w- K5 C3 i: }6 K% h" L P# y, k
STACKS SEGMENT7 ^, f5 u; f( V9 s0 R2 r
;此处输入堆栈段代码
, `* i5 J" _. g& H$ zSTACKS ENDS# v. P5 ], m8 F" i7 W9 D
8 y( U1 c# u, {1 |& d; ^* VCODES SEGMENT
: C' \" q3 `* Z7 p& L9 f ASSUME CS:CODES,DS ATAS,SS:STACKS0 [. O' v; V) V$ H( g/ M/ s
.486
3 X K' [( D( ^, ^+ NSTART:
' f: V7 M. [- s2 k; S! _0 m& E MOV AX,0f000h
4 t: W! C1 |8 o, O9 } MOV DS,AX
6 ]4 v) k- Y: f& m S ;此处输入代码段代码
# T5 {, X, g0 r9 W mov si,0
) w4 D( C! B- f5 v) h+ W; | last:
; B1 T _1 m) e4 D" I& D mov eax,[si]
' X' T7 v$ r" j! |% _* y b; [ cmp eax,5f4d535fh
% R. Y' G) e9 M3 Z' D5 r je over# U& X) _) Z" T
add si,10h5 v% ]9 _! p1 U5 f
jmp last: v: M% d8 T# |# h$ P
. g' g5 B' ]1 b8 z
over:
% U& |* ^: j/ ?5 D- n# f. Y+ Z add si,18h
5 @& b& t) d0 R8 S mov eax,[si]: `, }; V1 [; ]0 L- Z5 W3 o) [
mov si,ax
* b( e! S$ Y* `8 v+ x add si,9" y4 ]: g3 C. \3 D
mov ax,[si]
1 H" @8 m; `5 u" [) B6 Q" | add al,1
4 J- ]. p4 j% z mov bl,64# _, N$ h6 v2 v) w( j4 d: y
mul bl
9 }8 S' k4 u4 w: S" ?! A mov bx,ax4 D9 G. [8 U) p% i
7 x" U2 M/ d! e" l& t
call display0 J, i5 }5 q" }3 N$ F6 [: f
MOV AH,4CH
$ ^. Z' C1 p9 V2 j k INT 21H % n/ V. [- R2 H1 V( ~4 m6 E
- w4 @, Q+ s4 J- D
display proc near j, `/ E. k8 S1 r* o
push ax, m) Q4 Q( u& m- [
push bx
0 z8 E* p( B8 V, u5 @) v& H1 x4 }: l push cx2 I& N y" g b2 U
mov ch,49 d6 {5 R) M5 P( G
rotate:mov cl,4
- Q; C1 ~ T; ]5 J2 w$ H% X rol bx,cl' r1 w9 k& t( A. I9 m9 |* q! L
mov al,bl) M% H4 `6 r: d& `" Y* @9 M
and al,0fh$ R2 O! c+ L9 H( n2 r6 w
add al,30h
7 g; K3 `. V5 d* w cmp al,3ah' i3 v4 v' h3 n, P* O
jl printit; C% E$ |9 n; B2 n, @& F' k: X' i
add al,7h
. n% C! j: _) |1 G! I printit:7 X6 O7 @& M, ]1 J3 b
mov dl,al4 x/ e, o) m+ X& `/ s0 J, z- z' S
mov ah,2% w! o f- l" q/ W4 C
int 21h7 S0 d- R- W( `( w( ~3 J
dec ch
( N: e8 P8 q0 ~2 y) E jnz rotate
( O; s0 O3 v6 }) `2 @ mov dl,20h
8 |' A7 A* b5 M6 q/ i mov ah,2h6 z( I) Q, @% t9 |. s6 W7 G
int 21h
5 Y9 i6 i* G1 q1 x pop cx
5 [) Z. f1 ^' i& C: N, u1 B$ ?2 S pop bx, ]: `$ l5 X3 y
pop ax- V2 ^/ O/ A2 N" l6 Z3 `4 Y+ J
ret4 m( V& T$ w9 O4 S# P: C# R
display endp& m/ O$ J+ d0 o [* f6 `
+ |2 ]7 `& D' ?% m- l
CODES ENDS& S# U* ?& z& g7 v# X
END START
: G0 w# @& q* }% J7 G
! l2 i/ a* v! L) G运行此程序可显示ROM大小.单位以K计算,不过是十六进制的 |
|