|
|
发表于 2009-2-12 17:29:22
|
显示全部楼层
DATAS SEGMENT1 l/ e3 ~/ @* ~5 x/ |) ^
;此处输入数据段代码
W2 \8 b# u- D2 [+ K. h; mDATAS ENDS
2 A; X: B0 P0 S/ g
' W. z% `% s% JSTACKS SEGMENT
7 g; _' b( J, J* C; u ;此处输入堆栈段代码
5 ^6 n2 r' c+ z: sSTACKS ENDS
% S- w9 r; `6 [/ O: M) M# n4 X- P/ K. b( @0 [6 q( U
CODES SEGMENT8 O0 V: l* t* P. h1 a
ASSUME CS:CODES,DS ATAS,SS:STACKS0 S! ^8 g8 X8 p- u
.486$ N% h4 }* B6 t# d
START:6 R1 K+ [. J$ }$ S$ o* M% ]4 |. C
MOV AX,0f000h
, w! l/ M# j$ R3 S MOV DS,AX
# x- ]9 g `4 B7 q+ i ;此处输入代码段代码
3 C1 E7 O: v8 r3 M7 `2 _ mov si,07 R; b( X; N7 ]8 p( e% g0 s
last: 2 P( P1 R. z% h3 D7 J
mov eax,[si]
0 a- T1 y) j, U& A- r' A. ? cmp eax,5f4d535fh
* N: ~# s0 j6 q4 _- W; p6 G V( } je over* _4 G5 a% A' k. V. [1 x& t
add si,10h4 {2 A6 i5 {! b
jmp last
& p! l: o& O% l; _# D
- f6 ~: e5 {% K. f9 Y" j over:8 b) R0 A1 I/ r
add si,18h9 W( ^ j7 p. h) K) T' ~2 O7 w* J
mov eax,[si], e5 U. O: G9 ]* B
mov si,ax1 L j4 ], z6 r! r3 S& t+ Y% V
add si,9
1 A$ E1 u" z- \5 B5 y, o; V mov ax,[si]
% M* m0 ~& ?; i4 ] add al,1
Z! e$ U4 K& D4 C, G mov bl,64
; r- f6 L% F3 t' C& w9 v mul bl
5 G, S1 w7 I6 c: j" c% D" ~ mov bx,ax
$ g/ I( A( l+ E, J% X1 W U
5 O1 b5 R, a9 x( K" \ call display: m- U Z9 |) F# o
MOV AH,4CH
" T" {- I% Z- m! b3 A INT 21H
, ^ C1 E3 u: Z7 k" ]3 ^
9 T4 A" W( C* N& r' [5 L display proc near5 s H& Y: R2 o. G: @0 {4 P+ X
push ax+ ^0 _3 J+ T/ M7 I2 [
push bx( P3 I4 G: j2 _8 S$ z7 X% ~
push cx
) j" h9 N5 f2 J; N$ h4 Y( ? mov ch,4
5 D( T1 ?! y9 M0 C- c" b rotate:mov cl,4
+ D2 r8 f" W# d rol bx,cl
o; q/ O& L: W" a" z2 @+ H mov al,bl. l8 {3 g* d; A$ {
and al,0fh0 J( O/ S5 l* [9 v9 f* K$ z
add al,30h
2 D; J4 C8 F9 O5 ? cmp al,3ah
; b( ^0 ]" `( `5 j jl printit
% a% R1 P! [; E+ N1 ? add al,7h' Q4 R9 _) j' I5 p: u7 l
printit:& r3 W6 O$ _3 ] R
mov dl,al$ Q& |4 @3 ]" N5 K
mov ah,2& J+ w* B: u7 ^( d2 `. }9 B
int 21h; u b, W, w) A& s M: m
dec ch
E, r; M) u, V3 x$ Q jnz rotate
* Y" A& J9 r+ n, F) \ mov dl,20h0 A' F- n/ n5 \# X- e
mov ah,2h
1 N1 Y- p" P) h7 _, V: M1 C( v int 21h
9 J+ z2 ?" A' Y3 Y5 h9 q pop cx4 m" O/ k! r9 Q8 W* h$ ^" b$ l
pop bx! @1 K/ a( X6 h- ]3 J* y
pop ax
' t/ s# p! ~2 }2 L3 |$ }! { ret
' a2 ^3 }- U7 D display endp. o! g0 C4 ~' U- Y. u2 f# b: F' {$ ?2 d' B
3 k6 V1 B$ o9 V2 R8 o. `7 U
CODES ENDS
7 V" K& G* ~9 { E2 C+ q END START% A9 b, ^3 V9 O6 j7 u# ]0 C9 D0 Q
4 Q3 c- c2 Z" L# s& Y4 r运行此程序可显示ROM大小.单位以K计算,不过是十六进制的 |
|