|
|
发表于 2009-2-12 17:29:22
|
显示全部楼层
DATAS SEGMENT
5 G( i' \) L4 S/ u& [; C ;此处输入数据段代码
/ k2 [3 h& ]# w' P5 sDATAS ENDS
$ G1 H) `* o% k g
0 w* N, h# V) lSTACKS SEGMENT
( U7 y- K5 n# ^ ;此处输入堆栈段代码* v' F$ N& @" J6 _
STACKS ENDS
, ~4 K5 K, Z$ \' z) C
% V5 d- f9 p& K7 A4 R7 ]CODES SEGMENT
, g% u5 w. m5 u0 h1 Q. {8 u4 S ASSUME CS:CODES,DS ATAS,SS:STACKS
8 F' |4 _5 @0 O( }) X.486
+ \# J) _1 R# _! m4 p" wSTART:+ h- M$ {9 T. _, c# g
MOV AX,0f000h$ v5 G- I. o; |/ N+ Z
MOV DS,AX
/ }% G7 m* D! w7 X# f: W ;此处输入代码段代码
0 Q" C( z. x2 ?9 H- e d" R( U mov si,0. q* @0 H9 l6 [+ r
last: 9 m0 M4 F) B2 h3 Q, v) O) ~
mov eax,[si]
8 _; z( X( p- W& v" x cmp eax,5f4d535fh
$ B: b( a X+ ~ je over
, i9 y# S+ @( K" A3 W add si,10h
" k: I8 ]9 Y/ N7 K5 t; v' F jmp last/ Z/ u( R# ?/ D% L/ C- ] m7 @- o
+ Z, y& _4 L: |+ t over:9 b$ I& x5 Q( R3 X8 \) \5 o
add si,18h
$ y; p% P* n) N/ B% o* C- Y mov eax,[si]
9 y$ }7 a" a- D/ s/ c" a mov si,ax
" n/ u/ F* D p* K) A8 I add si,95 D) t% M" @9 L1 F& p6 H
mov ax,[si]! T" ~( v7 b: s' S
add al,1
n' \1 C4 B+ Z, n6 ` mov bl,64
( c& q6 v2 b9 r5 v mul bl. Z* w- x( m8 W9 j
mov bx,ax. Y3 |3 A+ w/ I7 Q7 L: U% v
! X& X) m( m: J, b2 [5 `( w" ^ call display
& c' a) W; P) h# Y MOV AH,4CH3 R. H. \0 |8 q0 @0 O# Z; U9 }
INT 21H Z: i t8 U% i7 Z$ _: p
+ Z% I5 @: T2 `& [: {
display proc near i% m" r; g- H( \3 y
push ax8 ~& h! n) a0 u- Q3 O, m4 c
push bx5 G5 G, m- H6 y
push cx( Z5 i. q# L9 C* O5 C* d# r
mov ch,4
& N* r9 P: {0 h* q rotate:mov cl,43 Q& d. `* f0 `
rol bx,cl/ O1 h0 m/ E3 K4 n4 X
mov al,bl* a6 }: b/ s. [& U5 L
and al,0fh8 y4 z6 m" Z8 l0 R- i4 E
add al,30h1 l+ A Z! E: P/ |% X. f
cmp al,3ah
* O- r; j. D8 n+ U X: W( r# o2 w t jl printit% p9 i d) H0 p4 a' U
add al,7h" h' \' c S+ [, z1 ]
printit:
7 I s( _- _- u! p5 J9 l mov dl,al
9 Z, `1 |- o0 ]" g: c mov ah,2
( g$ S3 }- a3 J v- y1 `" { int 21h& I! Y5 R* _( j0 Y3 G( m
dec ch5 S8 Z& A2 X9 `: |( l8 M! @, }1 x$ \2 q
jnz rotate
}6 O/ P, T" [7 |% e- L mov dl,20h2 A" I! U6 p+ T8 V
mov ah,2h
) E+ N! M# k$ o int 21h
! G; P' {0 r7 m" Q pop cx
7 v9 _$ H/ i( N( o pop bx
& {) F; T+ A, q" }: x) {7 B4 Q/ d! X pop ax
1 }3 z3 t: h8 A' {& v! o5 Y ret
9 N' Z* n. o q4 n0 T9 B. C display endp
1 Z+ f3 l7 u2 a6 o7 b0 M
, N [) ]2 L& Z# A9 B3 S$ ?CODES ENDS
4 v3 P, M7 o. k3 l END START0 m4 [; M6 B2 o% s# q9 x
: w# Z6 \1 F' ~# }
运行此程序可显示ROM大小.单位以K计算,不过是十六进制的 |
|