|
|
发表于 2009-2-12 17:29:22
|
显示全部楼层
DATAS SEGMENT$ v# ^9 v' X( v/ c4 g A
;此处输入数据段代码
5 G. P% T. r2 t6 N* |DATAS ENDS
' x) V- d3 Q; y# Q7 j. a* D# K- c2 ?
STACKS SEGMENT
' c! M# D, y* A7 o* @; C( p6 V ;此处输入堆栈段代码
4 h) y$ d2 L; g* o) MSTACKS ENDS9 c4 W6 g) Z# M8 E5 M3 V
& A$ | I( g$ x% d' cCODES SEGMENT
( I% B5 Y1 t% f! @ ASSUME CS:CODES,DS ATAS,SS:STACKS: Q0 o* F, o( B# u ]2 `: _
.486* b' F: G( \1 A9 ~8 |2 |5 t; V7 }
START:7 [ n9 x w" C, ?
MOV AX,0f000h
$ W1 @, C/ P6 M% s C8 h. t0 q" R MOV DS,AX
* G) T# ~/ Z% j* M ;此处输入代码段代码& O+ w @; }, F4 N
mov si,09 |" D/ O) P! {/ B5 D7 X U9 }, }
last:
3 Z! d! y9 f/ _) h: U: Z* p mov eax,[si]
) t$ o j: s' x1 q$ G8 n: D cmp eax,5f4d535fh
/ u5 {/ |6 g( A! ? je over
- z0 e; B: E3 p, {4 T1 y add si,10h
5 O2 s8 y4 B% m6 b9 R, N" D jmp last3 U9 \) e+ m6 W- Q
8 _7 S$ _2 v- i: o over:+ | P9 o* R: }$ u
add si,18h9 v$ ~! _4 Q/ X! C* X a! }- I
mov eax,[si]
- H0 \) g. c9 D% ^8 @( ^. S mov si,ax
1 e$ r8 G! n+ H4 U% \8 ] add si,9
! J* ^% C# ^( E mov ax,[si]; o& d' Q5 C8 D9 S6 y o
add al,14 u! C, F' x2 X4 M' n, o2 W! I
mov bl,640 k# u8 T, h0 j0 R4 A5 o$ v2 ?
mul bl
2 x- g6 ]: U9 q, [- i, E) q3 { mov bx,ax
4 j, I" \" M: e D c. F% b% p 1 j8 U; H' v0 Z' ~( D. j
call display0 j, \* \' _: G4 [4 H7 T2 n* X
MOV AH,4CH' R! x) C( Y, a9 F- q8 h3 y
INT 21H : Q+ b& Q% w8 C* X2 ?8 ^
/ d% M `; m, f0 h+ N! W( d display proc near1 m7 S/ I$ a Z. J; _: g
push ax* A5 g1 i ^1 R" Z( ]' r
push bx
/ y6 b# R! L" L3 q- |/ n1 d push cx/ k2 D6 G! h0 ~/ A5 P' a$ l
mov ch,45 M: |4 h7 M$ J* T5 I, p' ?
rotate:mov cl,4
+ g4 G4 T7 k2 j8 b4 I; v rol bx,cl {# h: w, h# w/ _6 k) n# {
mov al,bl% x' n( c' ?( G' g4 a7 X
and al,0fh& ~6 E. G3 A2 Q, u
add al,30h* }, N# c" I7 `( C4 w5 k% S. ^
cmp al,3ah0 d# p- R/ d4 Z
jl printit; P+ H* v6 l! w
add al,7h/ N' k' C9 _( K! Q# m' H
printit:: X4 L3 s" ?$ N
mov dl,al. w) e- Z `, p$ ?& y6 G3 \
mov ah,21 D ^5 a% ~. W# Y8 O* z
int 21h8 i; D _( R2 o0 P: k
dec ch
% c" A- K5 i/ c* f9 h jnz rotate' r; j' ~5 C s5 r* C9 [
mov dl,20h
! m0 b3 F: P- P( T mov ah,2h
0 G; P; L" f7 v& o7 }# O int 21h
) y% L$ r8 V4 Q: T. X- Z. e pop cx4 A2 F% L! m' n
pop bx
7 Y* |7 E M5 z) T pop ax$ V. k, a4 Y& D7 x# B& x& B* j) s7 G
ret
4 g+ X$ ]8 j8 T, g/ `3 d display endp+ Q& s5 u0 T6 t, @* L
?- U% v5 @% O
CODES ENDS
- x! r4 U! f( V+ ?5 | END START
, T& L: `" e: e+ e( Y
4 f8 F0 n" u: b1 O运行此程序可显示ROM大小.单位以K计算,不过是十六进制的 |
|