|
|
发表于 2009-2-12 17:29:22
|
显示全部楼层
DATAS SEGMENT" W& }$ }. G2 o3 q) j8 z, A
;此处输入数据段代码
( H( F: t: ?: o' S. \% oDATAS ENDS0 L4 H) Y- ?- G `
% L5 K' z, {+ j g& q
STACKS SEGMENT
& N4 a( O9 z- r. |0 S ;此处输入堆栈段代码
1 D9 t" Z( z) ?4 |$ O3 K1 i" ~, DSTACKS ENDS
! h3 c' i, l9 I. o8 ^6 Q" h8 ]1 F4 ^6 z) J6 V
CODES SEGMENT
& b6 W. ]3 J) k ^, l ASSUME CS:CODES,DS ATAS,SS:STACKS
* A4 _/ R- R$ V: O- e% r.486
% b- ^, o U5 L& nSTART:2 ^, [9 A7 a# R- u( ~
MOV AX,0f000h
$ S) g8 J9 a8 K# v3 ~ MOV DS,AX! t, h, a( r2 c$ j. f" z
;此处输入代码段代码
. l1 d# x! J3 Y5 ~* v: u) L mov si,0
3 j# `7 v, X8 Z* i last: ) Z, o" X( r* k7 H" |- H8 ]
mov eax,[si]. F5 j/ W+ G+ D8 P
cmp eax,5f4d535fh6 `" F/ ^1 R$ Y& P- P
je over
$ K3 }# u( p1 x7 Z' e# R& f add si,10h
5 `( A* V0 z3 X7 D jmp last% ^; M, k; D% }* U) G: X
& B8 ]- H( e% e
over:
9 S! j1 W1 v \; h add si,18h
/ p: s- Q3 x4 M+ J: W$ n2 ]6 l mov eax,[si]0 s6 F$ n, i# Y1 ?4 t% Y$ e1 N
mov si,ax
+ a* w" ?; }7 C9 H1 X: k4 M add si,9
: H# v5 t8 A! {# z' D. }* |8 L mov ax,[si]* P& Z1 n' r8 C/ }3 B" A
add al,1
1 J( N* {5 q3 W8 a+ T2 K: K mov bl,64! K' {* {7 U: |0 f
mul bl3 z! b5 c" m) Y: K; u
mov bx,ax* N/ C) q) f% u: F5 k" X. G- z2 ~
5 @- y5 I4 X B. V
call display5 T8 B- q9 m* s( V. r
MOV AH,4CH* n. }1 C4 v' d' A: e: N
INT 21H
! U+ r7 o7 A8 f4 [: q: W' j% Y# r3 r
( v& \3 C! k+ |% @, @" A! m% a display proc near' x* P6 S. l0 E7 K9 M9 u/ Z: V2 t, b
push ax
0 H1 R2 W( C3 p2 t4 d push bx2 ], w/ L9 T" [& m% u; s# x
push cx* x7 ]: R2 }& Y* C+ K
mov ch,4& b$ ?) z. \# ~
rotate:mov cl,4
6 @$ g- \8 K. `( W rol bx,cl4 v2 p5 U: Q3 U% g1 p3 J' q
mov al,bl. E2 N5 Z4 c N( p- z' Q6 o
and al,0fh
# Z1 O& ]# ?) \9 o+ @! B. h, A add al,30h. k1 Q: P5 n l
cmp al,3ah
3 H; B; u0 K7 f jl printit3 f. ?3 _' d5 c. ?% x' ^: Q
add al,7h! H: _3 U1 U C( l
printit:
U! r( g/ l( |, O( W6 A1 z& L mov dl,al' m3 M( r8 k( X' L9 l* ]4 r5 S7 i
mov ah,2
+ n# |6 M" d, \( s. M0 S int 21h
5 p7 H4 }8 L1 [8 T2 f dec ch
1 L& g4 H" ^# [; G jnz rotate/ ~+ p: A4 v5 m" \8 C
mov dl,20h
8 A' J2 [+ C: o( R mov ah,2h
8 D2 j" M2 H2 K& r: z( W, O int 21h) G% p' @8 ?3 f3 Z, W
pop cx9 p8 Y8 z) W2 ^6 R0 z/ K
pop bx
+ D8 X) o0 ]5 `% D2 \9 N$ ? pop ax
; u: R! H5 h0 g9 _$ N ret
; w \8 ~ g# H- t display endp
- j( k/ o/ ^* }
9 L! u4 Q. F, I3 t' t6 uCODES ENDS! o" M5 d2 k- p
END START- v2 [) |5 Z+ b6 ?
0 F. h4 k: A& T q/ z* M- s/ ~
运行此程序可显示ROM大小.单位以K计算,不过是十六进制的 |
|