|
|
发表于 2009-2-12 17:29:22
|
显示全部楼层
DATAS SEGMENT) M g/ J& z5 J5 |
;此处输入数据段代码
$ R3 x! K' C# T+ ` ?DATAS ENDS5 u5 @+ {) ?) k4 u2 g$ r
2 {( H! c2 O$ O1 @" X0 c6 L
STACKS SEGMENT
* Y0 h8 ]( W9 e: F& P ;此处输入堆栈段代码+ G# w; d2 j- J5 e) n
STACKS ENDS
0 X) @/ @" H& k0 X9 M
8 g- g/ v4 ]1 Y0 X/ O) DCODES SEGMENT
9 {( _ H* ^0 z# m- L4 I7 B8 O ASSUME CS:CODES,DS ATAS,SS:STACKS8 z; ~2 |$ G3 Q+ s3 ]
.4866 U9 T) f. `# b! [
START:
. a" ~ o& J2 ]' D O MOV AX,0f000h
. u$ N3 [! ]; D MOV DS,AX
* q3 a' }! D8 U6 A ;此处输入代码段代码
* C1 G% {" _/ d4 C; F9 | mov si,0
3 ^+ ^) |! C3 y# }2 D last:
6 n: y$ f/ y5 R. W, S6 e mov eax,[si]3 T, {9 `9 B! p5 X7 H
cmp eax,5f4d535fh
7 g1 K! R5 W0 S3 B7 L, W je over$ R5 H" F+ D; ]3 X
add si,10h3 H9 [4 E! i$ Q, u" h, o- x5 o' s
jmp last/ y1 K4 t( ^8 y9 f
% Q) _- x" \% F* e# A
over:# y4 v# F8 L3 Z3 _6 Q' d6 s k# V
add si,18h: b8 u( h, I& }3 n8 ]1 [
mov eax,[si]
- K- ~4 U' w2 ~ mov si,ax
$ i0 s/ O& Y/ E6 c! I1 T; S0 r- V add si,91 m, I1 Y+ |* U* ^
mov ax,[si]) `0 q5 O+ t# z+ r( E
add al,1
7 v) N' u& L1 c- S$ d# U0 v mov bl,64
6 n e5 {8 Q+ R5 g mul bl; D5 D7 U8 C* }. B+ h& ^
mov bx,ax5 t0 k7 r/ l$ X( V6 H
/ c, _+ F6 c9 {4 h5 W! J call display) ?; `: }5 x+ R, r8 m* _# p
MOV AH,4CH; r/ x% v2 l. a9 S) |' _3 S( ]
INT 21H
Z9 p- `% m7 w1 p
7 {) @3 v6 _" S& d4 l display proc near
5 n( _, P, | S6 I( L9 j push ax, {2 W$ E# w3 E K/ C3 R* [
push bx
( [% e0 M# }* j- v; U6 D push cx/ W/ ]6 s2 _8 O) Z0 f" p
mov ch,42 ]! y p/ e$ g1 D: x
rotate:mov cl,4; n9 T4 {- ~$ w, j4 J1 Y
rol bx,cl
# w! x$ g1 |% ~# t2 `2 ]2 K mov al,bl0 {& C. [* L, H4 q3 }7 D6 Y
and al,0fh/ t& `4 n. u3 L3 O, P8 F
add al,30h9 m4 H" L2 [2 ~0 n+ ?
cmp al,3ah4 [ @2 d! i6 u; S; Q- [) P
jl printit. @6 Z1 Q* [: w8 W# `, h- ~$ O0 u5 A) I
add al,7h
$ A7 y! u6 T- N2 ` printit:
2 a# P2 k2 u* | s3 _1 u2 Z' Y mov dl,al
( n% h& \( X6 J) I mov ah,2/ l* `% v$ M/ U, Z% N! @$ x5 Y
int 21h
+ t3 a# n/ i; | dec ch% x h* K/ c5 [* [& l6 K
jnz rotate' [) ]2 F0 X f z# f
mov dl,20h, ~6 C/ S; ^2 g% z5 W8 M- [
mov ah,2h
9 K/ l1 Y4 i2 m6 }8 I9 g int 21h
! e/ o; S9 V% M0 z0 P pop cx9 d7 ]+ Q5 S# Y" L
pop bx
4 ?2 j$ T L: g pop ax" _! d& y& D; x# `+ { w4 \
ret
6 w! H; ~0 U5 v# w; ^; o% N+ G: U display endp
0 V0 i% e% v( ~: t. v; x% m. Y6 U9 Q& C" Z. j$ A6 y
CODES ENDS) @3 N+ A5 f6 y5 C* ?8 |+ F# F
END START9 a4 s' t( k" b; i- F+ f/ ?
+ b+ c7 J/ V8 \$ i; S( V
运行此程序可显示ROM大小.单位以K计算,不过是十六进制的 |
|