|
|
发表于 2009-2-12 17:29:22
|
显示全部楼层
DATAS SEGMENT" m2 W( h+ f7 C) H3 [
;此处输入数据段代码 6 m8 q3 E" L; H# `0 D
DATAS ENDS
8 A2 Y4 {+ N: i. |. a2 h6 m5 d' U3 X. S' X
STACKS SEGMENT8 _9 A& d3 x( b3 K* m9 w( t, K
;此处输入堆栈段代码# t% K; @0 X" V
STACKS ENDS% `! M6 o( q" s( F; o9 {
! m: m) }( W2 u/ e! m# A7 iCODES SEGMENT$ }$ G' Q: b) a3 ~# h4 j3 j6 `
ASSUME CS:CODES,DS ATAS,SS:STACKS/ Q/ o+ ^& {! f
.486
* L' w! J' G' uSTART:
6 j7 z: j$ k4 Y3 U8 l6 H MOV AX,0f000h% t) D* U+ k9 D5 _
MOV DS,AX+ O& ?/ A9 Q7 [6 Q" g9 J& Y
;此处输入代码段代码
$ p+ f/ D. r# m mov si,0' k- ?% P; Z, E6 ?) I
last: # @% Z2 ]& s7 R L1 @. F; z- i
mov eax,[si]
4 I2 E: C4 C, A cmp eax,5f4d535fh
% ~! ~8 l! Z3 E9 m& n je over
5 N. D' X5 l* U add si,10h
/ k, X) `+ X2 a2 a$ D3 l0 y* H jmp last- F0 ]- G- w' W' {- T" `1 e
" \+ u7 g3 k& ?. l0 v2 K; O over:
$ c+ U" R) A7 I: @2 T add si,18h
& _/ c1 h0 Q. ~+ u2 N' g/ [ mov eax,[si]
$ o/ C8 T0 L8 L" a. I4 {/ X mov si,ax$ Q- y+ ^/ E B z
add si,9
% u( h. ~' ~* P7 |7 z0 d* } mov ax,[si]
+ b- U+ Y5 {+ f add al,1
7 Q9 f: T* K1 F mov bl,64
; F# b/ O Z- y4 | O6 \ mul bl
. R: U q6 w7 `0 s2 ~ mov bx,ax
/ I, p4 q! V6 G9 E" ]4 J 3 @& _) D6 d( u& p
call display( J4 J2 _, T0 e" X. ?% M! j
MOV AH,4CH
" ^5 o! G6 `' k; I INT 21H
5 R$ v# d) O/ c5 {/ n9 @ @& v0 {) v' \, I/ G5 K$ l: _8 Q6 g
display proc near, x0 y: ~% N) r% i" h" |- v
push ax' T/ F1 A2 q& a( [ u& ?
push bx! b' ^6 [! \! N# q& X6 h
push cx- O6 Y) c$ L8 [* B/ }$ Z; F
mov ch,4
: y0 y( U" n, g9 c2 P3 [" G! Q rotate:mov cl,4
: G* J# K3 ~$ j- c. `5 u/ ]# f3 C: O) q3 u rol bx,cl
2 E1 h- t: {$ a4 }3 c mov al,bl
' P) u: A* O" [* m3 o9 l1 G- G( O and al,0fh" O" `7 F. B: f% f8 L. m
add al,30h/ L% r. i8 d8 E$ ^! J
cmp al,3ah g2 E' s8 c* C3 P& `4 H2 M' s
jl printit/ ^, T* @# V$ v, L& ?
add al,7h# \, o2 t2 d% i' |* B
printit:) @) b: M. P- v4 p7 Y
mov dl,al
/ l7 J' Z7 \& E% u; ?7 u% m x mov ah,2& c3 k+ l7 m( M. F; T, [
int 21h
5 d* R6 a8 O; ^0 d& M) J dec ch
7 n; I" d$ j( L4 s7 s) m1 Q3 N jnz rotate
$ R% Y( O# Z; X mov dl,20h! A0 y+ R. y: ^8 @! y: Y5 T
mov ah,2h
. P8 p' V- s' ` int 21h
% w7 M' }$ T8 ~( q4 ?9 a: R r pop cx
! l5 ~! s0 k5 ?( F; z3 a, A pop bx
) i v! l8 w, \ g* P8 R pop ax
4 d `7 a" Y- ^ ret
a' N8 {; E& z; a( D: t display endp5 u& z2 q4 H# Z
2 P2 w. g5 V; s2 m _8 p6 uCODES ENDS1 s# s0 M& B5 j2 [* w
END START& v* m; ?9 a7 E
3 k- j6 l* r# @& u# U1 t% b ?: H运行此程序可显示ROM大小.单位以K计算,不过是十六进制的 |
|