|
|
发表于 2009-2-12 17:29:22
|
显示全部楼层
DATAS SEGMENT
# H' h, H1 z! B! R$ _0 h$ G ;此处输入数据段代码 6 z0 m" S% X q/ k0 r/ w' ]
DATAS ENDS
0 o9 c" V4 V2 M2 N$ R1 F' @2 H2 x+ x2 C8 C0 X4 ?6 R" P' U
STACKS SEGMENT ]3 K; \: t8 }$ i' U1 z# t
;此处输入堆栈段代码
" Q3 A; G, o" w8 N" f$ J! k' HSTACKS ENDS
( c, O# M$ W/ l- Q/ Q- k
8 i! }1 R& ]( C# a' \: k4 y3 q$ OCODES SEGMENT8 v! l/ C' T8 c
ASSUME CS:CODES,DS ATAS,SS:STACKS: y4 L' [& M4 V5 e
.486- [; K: `/ t% u
START:2 O8 H/ {9 T$ f, Z6 p, h* }3 f
MOV AX,0f000h5 P5 b/ F6 E" G8 ~9 _
MOV DS,AX( N# w5 `9 Y; X [) f0 ?4 v5 c; H
;此处输入代码段代码- H( U3 G- x+ a: `
mov si,0
& \# b5 r3 ~# o4 Z2 f last:
" \0 H- @: j, J0 {4 r( i5 y mov eax,[si]6 ]9 ?/ i+ e* o) ~
cmp eax,5f4d535fh7 H6 X+ R0 x0 z* k" a
je over9 z/ q; R3 L( q' D2 |4 Y; {% A/ O1 s
add si,10h
2 `7 m$ Y! f' u8 K* ~ jmp last' @6 X' ~) x/ {2 q& v
G; p8 Z) q& T. s# O) |( x# { over:7 u' k9 S4 m/ p
add si,18h- j9 W' [. ~+ O, V! u
mov eax,[si]: R* t6 M) Y- ~0 ~2 n
mov si,ax4 k- I% Y: a) M: d4 [3 L7 ]0 }: r
add si,9
; Z3 p( R; Y0 D6 x8 E' s6 K0 q& h mov ax,[si]
' r; |8 j/ f* p) U; h" e: | add al,13 c( B0 J0 K6 h& @$ E* |
mov bl,64
& u3 B( ?% i, m; e) V5 U: E6 t/ l5 @ mul bl8 m$ q: f* w0 ~% Z: s
mov bx,ax7 Y' q* A# ^; e" Z
& g; M, d3 a" {. r& v' P) w call display
: Z1 ^, r5 s9 q$ @ MOV AH,4CH
0 Y2 U; B( E0 N INT 21H
" ^; G3 q+ v; A' E2 A/ x/ a
9 |- I/ R& @+ Y9 P' n/ s5 y8 Y3 n display proc near- I$ {; w9 \. Q G6 S; m7 D1 y
push ax% K4 A. a+ m2 J( v9 S) [9 o
push bx
& n0 ~: m/ W- Q: Y8 {8 c ^ push cx- x( k- N3 |2 e! F2 p* d
mov ch,4" q; n% ?+ |, ~1 B c) z
rotate:mov cl,4
7 X& H& S2 A: p# K/ q rol bx,cl5 u4 b& A$ V, u* n, {
mov al,bl
: X+ |" @: o( _) O2 F2 i and al,0fh
7 K# h7 G7 A) x2 c8 V add al,30h- Y8 @# A! S1 @* ^
cmp al,3ah B! i Z. A# `
jl printit! ^0 ~2 I' g6 y: M2 g; g6 I1 w* u
add al,7h
1 R& y, T' x/ F$ F7 f4 | printit:- j) J1 G9 r/ x$ A+ d2 d
mov dl,al: o7 v) J2 }* m* E9 }. _" Z
mov ah,2
, q! E' k. z' K* p3 K# C int 21h7 {6 C* b3 e7 E/ c1 q( A
dec ch
) a( E4 X# @; b jnz rotate# x; t$ h6 r- w C9 z
mov dl,20h
4 p m8 i' e* D+ a% J mov ah,2h
! o$ Z: t- ~1 v4 S, @ int 21h Z* c: w u, U( `8 L- n- k
pop cx
" t% T( e0 @3 a" E pop bx u% @( n! z* K
pop ax
, i, B8 r4 @/ _/ y4 S ret
( R1 X0 F( y$ {- B# e/ q, u& a display endp
4 h4 _' j6 a# f6 o" [+ r7 H5 Q; l2 x3 l/ R1 h0 I# D& ~# c2 Z. ]
CODES ENDS& U. R9 |/ \. R1 x
END START
' W' x' d7 i5 D3 r4 a/ L, B4 w& \% |: _
运行此程序可显示ROM大小.单位以K计算,不过是十六进制的 |
|