|
发表于 2009-2-12 17:29:22
|
显示全部楼层
DATAS SEGMENT- N6 {; o! ^5 I/ Q- o
;此处输入数据段代码
6 a1 X. C$ ^' Z5 ?$ L% ^6 Z& oDATAS ENDS( \4 S: j8 O: b* q
# Z+ y/ s/ c, U
STACKS SEGMENT1 H( y! d N6 a/ p/ L7 J1 I
;此处输入堆栈段代码
d' {8 U/ ~* h# ]STACKS ENDS& c1 i: T) k7 ^: O. K
: w: p' q) q9 K; M; x1 j) S' t1 w! zCODES SEGMENT# v) b. d4 {6 X, I, B w+ C% F& t
ASSUME CS:CODES,DS ATAS,SS:STACKS
5 z [. v) Q0 o8 n; N9 {- u.486) d9 j2 t6 u# ]
START:/ h9 c) h; N: Q7 G- L
MOV AX,0f000h
$ ~. j8 L; l. @' P# @ MOV DS,AX
9 |. t( u# D. P) m& [ ;此处输入代码段代码- U: y0 M7 x" p( {! r
mov si,0
' d V8 V8 D* X0 H2 H& o) x0 \. B last: % z/ P7 Z: E9 i% ~5 S8 `0 I$ {
mov eax,[si]
9 V# x- m5 [2 l; D' C" a: B4 A cmp eax,5f4d535fh
- i1 x6 m9 \% G& G7 U& g je over& A- |) T* M8 k9 b& K
add si,10h. {, Q& q9 B7 x6 @4 T) c
jmp last
1 e7 Y; y- I; b6 W% e4 d0 s& N 1 G1 d% q' o$ n( r }
over:2 h e) c' Z! _1 z& I3 v+ @
add si,18h0 [) L- I$ \: K9 H1 N& K
mov eax,[si]
2 R t* P7 L! b \5 v; N mov si,ax
& U- Y& p+ g" Z6 U( t3 e; k; L add si,9
, a; o3 D/ F- M! p( T mov ax,[si]$ L9 U2 e/ v4 W3 k5 A/ H$ y
add al,15 D/ ]# B* ` }6 i: `7 v: D
mov bl,64
4 h0 H; O6 u: F+ n mul bl
$ @" @+ v7 [( Y% F# s) h c8 o mov bx,ax2 s; `. {& u4 F5 P% M
* D7 V4 t5 a* r4 r# J5 t
call display$ u1 r" I7 Z* {% l
MOV AH,4CH
# Z S3 A! P4 F8 ]7 v INT 21H
- D' ]/ {: ]2 h+ O. P8 v1 y 9 Y5 E. k' b# @: B( U6 z9 t- |
display proc near
% j. w& e$ q9 `- p; P push ax
! z" q2 Y; \# [4 c' K* g push bx& B9 Y9 f X$ F$ @) l, @
push cx
# [+ f" E' R4 S mov ch,4. K8 t5 d$ ?, p1 y& h. K
rotate:mov cl,4$ `& y+ |/ Q8 y. j! Z/ i
rol bx,cl
; y- ?/ ?+ D# j2 f e mov al,bl
6 G+ [6 k# f3 n- [$ x and al,0fh
/ P1 P* U2 G2 C/ X. c) z) H7 j add al,30h
: Y. U- ^) N2 M- o cmp al,3ah2 Q* C: R! M+ F9 e# J2 g5 Z7 Y
jl printit5 D; _) c8 ]/ [, E7 l
add al,7h
" g( B: S. Y+ e$ D* P v printit:
% ?4 k) i- S8 g4 Z# x' [* R8 k mov dl,al+ ?6 e M: @, @! f7 k+ j0 v
mov ah,2
: H- E& C$ V* r& A3 B int 21h" Y: s# G. Y) F9 a+ l5 J. {8 J
dec ch
8 Y# E0 O2 [& z* V jnz rotate) |9 v( ^- s* R
mov dl,20h
% g' Y- }* s: C* {# ^ mov ah,2h
( P# m; ^. v U) K+ @- g G int 21h
9 N( w3 a, F! b5 e: C pop cx
( x* X/ r! i y/ i3 ^0 u pop bx- [ z$ }9 X/ T2 e( W8 j2 }
pop ax& \/ W3 E1 s/ j9 S5 ?, g
ret
1 b, j# r& Y8 N4 x2 h& @# c display endp
4 i. f$ b$ f3 ]* p7 `( i; D
1 K1 o+ d n( FCODES ENDS
. f/ n3 W1 L+ s" d* D1 ?& e" ]# X END START
, P! H8 o _6 b3 n1 C( O$ a/ G k$ q8 j
运行此程序可显示ROM大小.单位以K计算,不过是十六进制的 |
|