|
发表于 2009-2-12 17:29:22
|
显示全部楼层
DATAS SEGMENT3 l* M) |+ U0 O" |7 s' D; d+ b8 c
;此处输入数据段代码
5 [$ W/ ]# H. C8 }DATAS ENDS
4 l7 A1 ]1 {& M1 Z: b6 i# F
4 k" K2 `7 }9 Z1 Q" a6 p7 N, W5 ASTACKS SEGMENT' O K1 L7 O0 j }
;此处输入堆栈段代码3 g: u7 X+ W$ B+ T% \2 r6 U6 K
STACKS ENDS
/ c: h& p5 N9 F7 ]6 A8 J$ b% ?5 C- j5 t2 ?' P
CODES SEGMENT
D M/ F+ ]: j# m; Y4 \2 s* t( p0 y ASSUME CS:CODES,DSATAS,SS:STACKS( ^+ Q7 Z1 u; b& a$ L
.4866 N/ Z1 U* w, ]% z( K2 Y) ?8 `# \
START:5 \3 q% A4 p+ m1 z, M/ y5 q
MOV AX,0f000h
/ C7 d% K& J% `1 f/ E1 {( y MOV DS,AX
* z5 V3 D/ _& w6 D9 }( k ;此处输入代码段代码9 H- x5 H h# J) O, e, d
mov si,06 j/ b# K" n: }, E# T8 J
last: ! S5 L; F) U, ], L$ X
mov eax,[si]; S5 i0 J+ b, U/ N& }
cmp eax,5f4d535fh: \; J+ ^. I5 O1 L' C
je over, j3 ^3 Z+ o9 F8 Q
add si,10h! t* x7 E* W3 B% H: m
jmp last' Z* G' n1 k4 q
! o d4 y6 ^3 n9 p# z3 P1 ` over:
2 _9 v3 e" S1 Y3 x. E3 V add si,18h
6 _6 W- z5 v4 N0 |- d) ~; ]+ o1 u mov eax,[si]
( ]/ H$ v" s* q/ g) ^ mov si,ax
8 l5 u L- I& J. \/ ~4 v add si,95 }/ R* v# _3 D ]
mov ax,[si]
% h+ y4 p3 T0 Q1 M+ D add al,1% O9 _; ]4 `0 s
mov bl,64
& A! P6 n+ l+ s- Q/ N4 k mul bl
6 A4 Z+ k0 P2 O; B# U* s mov bx,ax
8 Z5 R$ m5 T* g, M7 n
+ c4 v2 O8 K- W call display
! [0 h* B. z$ v' }# ~2 v MOV AH,4CH' Y5 Q0 ?6 o* z z
INT 21H 3 X3 E% `# d* b
' `2 Q# r U" Y# l a1 w
display proc near+ o9 |* [( L& P% j' s
push ax
4 D+ ^' y2 o X2 L. [ push bx
1 S0 }. \; ^. V9 q7 n# m push cx5 N( _7 v) ?, `6 v1 @7 F. l
mov ch,4
+ @5 l- t0 t# ~/ L0 |/ Y, t rotate:mov cl,4* s- S: Y: d. Y6 S6 B
rol bx,cl& J4 b; }2 A/ b# a/ u
mov al,bl
+ R8 ~- J+ v- x3 @3 P9 B and al,0fh E7 E3 W( \7 {+ I
add al,30h# r6 h6 h+ e7 }
cmp al,3ah
7 G3 h M" c3 A jl printit0 h7 @1 i) |5 |, \; f1 [4 |
add al,7h' v2 |) J( w: ~) b3 F# n
printit:4 u/ V4 F6 C! d: I
mov dl,al
3 _; ?& \, @, ^6 v mov ah,2
5 _4 U" c7 L& L2 ^2 s7 [ int 21h
5 i" ?/ q' {& R dec ch2 R. Q( [2 p& o( q
jnz rotate
. x. _% K6 G+ ~+ T v: Q( @ mov dl,20h
: `: R; b) J( f, N- L mov ah,2h9 [/ y6 j i& K1 V
int 21h+ J6 l: d. k) M
pop cx6 J# c' o( q4 |6 F
pop bx
$ V& p4 _0 N1 M pop ax4 |$ }7 y. a. J: }) G+ \" g
ret2 x4 E, r V. ]6 _6 O
display endp
/ X, [& h; m; s1 }/ A3 U' n# Z6 h3 W4 ~5 Y V3 F
CODES ENDS1 Z6 U! V" [# g; d, s
END START( X3 P/ o0 P* B# n
2 A O8 E% D& \% w4 u
运行此程序可显示ROM大小.单位以K计算,不过是十六进制的 |
|