|
|
发表于 2009-2-12 17:29:22
|
显示全部楼层
DATAS SEGMENT
5 c" _! F& u! y/ U l ;此处输入数据段代码 $ P- @; z5 l$ l, D1 D" D
DATAS ENDS
. I$ `! m& d+ ?; L3 }
2 E4 S Z1 o5 O8 pSTACKS SEGMENT3 K2 o6 O: O0 }3 p2 `4 Z9 o
;此处输入堆栈段代码% ^: s* P8 o4 @' s+ k: p! a
STACKS ENDS
$ B4 ?/ G; N1 d" {) R
2 e# P1 P0 h4 {) P, Q6 DCODES SEGMENT
5 ?9 q; M k. y# C+ \1 l; G8 [0 _ ASSUME CS:CODES,DS ATAS,SS:STACKS$ t3 a; z; {( v v Z& q
.486
" C1 k: q9 s! A5 s% d& vSTART:' f- ~2 s K" C
MOV AX,0f000h2 _! C) V& r; p( R0 |" \' R& N
MOV DS,AX3 F9 |7 V" a+ O) [5 Y
;此处输入代码段代码
/ I6 I( }) V! n9 H5 c* m7 I mov si,0
9 ~: m# F' } A( e5 r; [ last:
# O5 V' v, ?7 f7 ~& q8 V mov eax,[si]
4 q# u; C: K& n8 v7 l7 A0 w/ f cmp eax,5f4d535fh# J, Q* w7 g* G2 e
je over
1 l1 ~; A( p5 W8 J$ R add si,10h i2 U( N+ e& Y* O+ q: O$ q7 j' r5 x! s
jmp last+ V+ P- A( H0 e. ]; u2 n7 ~+ i
4 w( w. x/ c4 T: a: ^# ? over:6 W8 ^0 a3 g. ~
add si,18h
* B/ A- f( o5 o" n mov eax,[si]
! i! S! R6 F+ z2 q+ K$ e4 k: Y6 m mov si,ax
0 h) p1 v7 }6 U6 O; { add si,9$ I! i0 s ~, Q2 O
mov ax,[si]
1 r; l$ u# c" L# [& @3 [. P add al,1
+ w) s9 D* Z1 O0 C7 W% C mov bl,64
1 @3 @ j' ]5 H. z* W4 _ mul bl
: n1 F1 r+ B9 R B mov bx,ax5 o: \5 f) q1 w3 f" D4 G% r0 M
$ _& R+ ^, Z! d: J; p: O/ {3 } call display
- \- d0 Y+ N! K MOV AH,4CH
; m9 N* D! E& A; X4 Q INT 21H 1 t7 f$ X7 Q1 L1 z$ s
3 C3 U$ v5 t" u8 g
display proc near
* t# X2 ?+ X+ ^' F push ax7 e0 g1 E! }$ ^: H
push bx* U y0 {. ?6 m4 K: d
push cx0 J. M# o' x0 W9 b E
mov ch,4
7 J( \ N% `7 {+ G! | rotate:mov cl,4
, b/ m3 D% X7 U; ^! T% m rol bx,cl
' \' n' b/ ?3 b. H+ r4 N7 ~ mov al,bl
& `: F U$ S0 c: R3 g+ G and al,0fh
. ^) G) c& X5 q w6 P5 S3 s5 s add al,30h
+ j% I% n$ P+ h cmp al,3ah/ Y7 \0 I. b; q
jl printit
% Y' Y3 o/ A1 _4 d add al,7h4 f L8 {0 Y" D9 W
printit:8 t2 E- e" a& X# Y, Z! m
mov dl,al- D" }$ U% u% I
mov ah,2$ O7 q5 c$ ^/ D- Z8 k+ \; C# \
int 21h3 R8 z# H# z0 N
dec ch
, i3 ~. B8 C3 W" Q: R8 w3 D jnz rotate& W) w4 e7 I) r* M3 e7 C
mov dl,20h
- `. D" u4 q# A1 ^1 I$ d" H mov ah,2h/ v5 w) o3 O( K% Y
int 21h+ g9 B. K' J3 s J" ^
pop cx4 l5 e6 r+ W/ B! T8 S
pop bx% @7 \1 `& H+ r9 `: b
pop ax
! K$ u; A j0 j/ r2 }8 T, @) I D ret; k% v, n! ~" V& U$ |
display endp
* N4 ~0 T$ G- g) M' d4 {: B
; ?8 b: ?/ w7 u9 v5 kCODES ENDS/ r* K0 A' \& e* E/ Z
END START1 G# e; R, x# R( L( q! L+ ^- [
M y, V& O. x6 y b运行此程序可显示ROM大小.单位以K计算,不过是十六进制的 |
|