|
|
发表于 2009-2-12 17:29:22
|
显示全部楼层
DATAS SEGMENT0 b( K: M' |0 [5 R* }
;此处输入数据段代码 . U" b- Y u1 ^/ `
DATAS ENDS
: E8 `( x5 `/ f! D9 Q6 i" n7 ?; w3 M$ F; L
STACKS SEGMENT
t9 e, p! t0 B, r# D, D h$ p" ? ;此处输入堆栈段代码9 R$ u: Q" a9 {2 C3 s/ r
STACKS ENDS8 v b( i- K3 z1 |& y8 U; T5 f4 b) ~
2 D/ m; z7 V5 {5 K0 {CODES SEGMENT5 j0 P W. M: ~8 E" w, d+ {
ASSUME CS:CODES,DS ATAS,SS:STACKS% ]3 u3 \5 }) T
.486
- V! S+ c5 N" USTART:
9 M8 [5 V7 E2 i+ H9 {' m MOV AX,0f000h
" F, O6 @/ W4 v1 ^" d/ @- u3 d MOV DS,AX
# ]5 l9 Y, r% X ;此处输入代码段代码0 V. X* x, N! f* o
mov si,0% i$ y* }" d* R" Y. x& L4 k
last:
7 ?8 F/ p I+ a% D' L mov eax,[si]
# s6 s/ F4 i* [ cmp eax,5f4d535fh
2 ], w1 W! E% A0 q0 Y je over
9 A. w- @' i$ K$ b9 J. n' k( z) u add si,10h
* Q a! s$ L. @. L1 f/ p% c jmp last
* q7 [: k0 R: o
: W- U- h) R& o; D over:; u+ p6 A' q( k9 y+ F
add si,18h( ^ W% G: E$ s# a$ O" n
mov eax,[si]
3 s0 ]1 X; t& S1 E* j mov si,ax6 f# k- t3 J% f9 x' h4 u7 u
add si,9
7 @8 T, F9 I' I2 ?4 Q: t mov ax,[si]
' A E; m0 e* j! |# i% c5 o5 } add al,1
9 C' O) Y% _/ m. l" @) S4 [4 o) T; v mov bl,647 r) ^/ L+ {& A, p' I/ B, c
mul bl
% O3 S/ f; \; V% p mov bx,ax
# O4 O5 o( n- Q" F7 o
8 W( [5 B9 S! V. F9 Q+ a0 P% x call display8 c6 n. n' P% c( r, ?
MOV AH,4CH
' O5 r# ^/ I: W$ }* R$ w0 ~ INT 21H ) H3 p, r6 o1 t
1 l2 x( d- m! `2 b. N display proc near. N% G7 a* x4 s
push ax
: V# e, W Y8 ?9 G0 z3 Q2 K0 g5 h1 H8 x push bx0 O7 E) n7 i' c) ]' V; e
push cx" ~& g2 x0 A6 {% R4 \4 [( \
mov ch,4& y% `3 C' c/ d: X9 p* |
rotate:mov cl,4( H3 x( {0 K$ T2 q/ r
rol bx,cl
* E; L. m: I' z7 C8 [ mov al,bl. M$ s0 {, Y( u
and al,0fh/ @; t" ^0 O) H* x( P9 d
add al,30h
9 Z+ ~8 k4 R- z2 o i& _ cmp al,3ah
4 z+ Z8 \/ J. v, V% E: q4 p jl printit
5 Q# L- s8 w) {- _* b& v1 s add al,7h
" N7 W# H A5 C8 T; v printit:6 p4 j$ ~8 \# Z% c
mov dl,al
; L% |5 b/ |+ Q6 |* U W mov ah,2
9 X* q# p* y0 m! X, c. z) @! V int 21h
( P, s- d) |7 u" F" A$ C/ D: x dec ch! r C7 p3 g$ {9 j' [8 m8 N
jnz rotate
0 j4 b m" c; C+ x; Z; j I mov dl,20h1 f/ l% N+ u7 R, l: Z
mov ah,2h8 n5 H8 R h; A# n9 X4 f
int 21h+ C+ }" T% Y( x) E5 d1 w+ Q
pop cx
. a" ]8 Y2 Q+ O u$ M8 h4 q pop bx' p& t# p/ o6 w l8 y! n# v
pop ax/ h5 q5 U; d0 l
ret
+ ]* q T0 K" i) }9 U# \ display endp
# J e! O" F( }$ O x; x. m$ Y6 n& e" y4 ^/ L
CODES ENDS9 l6 V- X5 b; N9 H* I/ Z$ N$ j/ |& x
END START
* Y- @. U& N6 n7 W: l6 y" F& j1 T/ O* F5 _& \) }
运行此程序可显示ROM大小.单位以K计算,不过是十六进制的 |
|