|
|
发表于 2009-2-12 17:29:22
|
显示全部楼层
DATAS SEGMENT- r* `6 o2 J$ B9 i6 P/ @. C. i$ r& m
;此处输入数据段代码 : m1 i8 q) h: ]# b Y- e" z6 F+ ^/ M
DATAS ENDS- y8 Q7 D7 X$ _, l
) G" N$ q; K" u! z5 i% GSTACKS SEGMENT
: R5 \2 h! x5 J; l/ F) d2 {9 M ;此处输入堆栈段代码3 n h6 R; V6 O# F/ P; i
STACKS ENDS
4 b/ D5 w8 E! [1 V5 P% D0 X" s/ E
CODES SEGMENT
5 b E% D; O7 I2 V ASSUME CS:CODES,DS ATAS,SS:STACKS
9 t B% z: R' N. N.486
" R; T9 d9 `8 p8 ESTART:
! X' q, {3 q+ J MOV AX,0f000h
3 Y* O8 C6 p' [* h/ X+ ? MOV DS,AX! {# L$ z+ p* j4 l
;此处输入代码段代码
, a8 G4 w* H4 Q8 e/ d8 D( g3 I% W" D mov si,0
4 L) a) h- q1 N: w6 @ last: - [/ g# G3 f0 A
mov eax,[si]
& o6 s( P9 R& |/ s" Q8 X cmp eax,5f4d535fh1 o( o1 D- S5 V7 n- A( r
je over2 x4 I+ b0 c: P5 r$ A Z; K9 z
add si,10h) u% K* r$ t7 H( h
jmp last
8 x' Y0 C' Y% ^& s* X4 I
" G6 D. z2 V8 A2 J3 x/ @! j over:
7 N' r) u" O# s$ ?) `7 V add si,18h
% X% m+ L6 E! g0 } mov eax,[si]* T$ x& p8 y3 i
mov si,ax
* x' {0 U p4 ^ add si,9$ y& O" ~8 W$ {* K
mov ax,[si]
* z. A4 w# a/ n7 G3 c3 v4 n8 Q+ Q add al,1
2 _9 E! ]' }2 Y7 _) F+ o. n mov bl,64
' I7 E6 G. o# J. S! d' m1 X( F mul bl
& m% U1 K# V4 n# o7 F) C# @ mov bx,ax
* ^( h5 X+ x8 X5 c9 a- h * z- u+ [! P* P. ^" R, ?3 _5 K8 U
call display
; j+ a$ V8 T! \0 Q MOV AH,4CH
. m% [% C( w7 o0 ~5 w INT 21H
& B% }2 R! v0 u$ ]6 D & o" ?" K3 o; B. h
display proc near. P2 o: Z8 v% r ^
push ax" n3 d: p% I6 ?7 U& `% N. m/ C# O3 f
push bx
/ ^ a X5 |- o' V! H) o push cx
4 g0 S, x1 `/ l$ y* n7 \8 g& i. C mov ch,4
' B: h p# @" W5 f rotate:mov cl,4+ r; f1 ]2 a, M& N q% ^
rol bx,cl' Q' y5 G/ r$ e
mov al,bl% H! M7 N( i) {0 k$ q8 h
and al,0fh$ S3 u) t, b ]
add al,30h/ p' _3 x( E$ u( u
cmp al,3ah& C5 _/ I7 r8 R7 o. Q3 x1 l/ u
jl printit
8 s' ~* x# ? b8 ~+ m: a0 ^ add al,7h
: w; \+ `: {. c3 v% k; Z2 k& i printit:- I. {" u4 w: O& G
mov dl,al
/ a; J' f" F) o! ? mov ah,2( Y/ Z" L/ j6 b5 u) `
int 21h
- K1 U, v8 i! h dec ch. ?$ D" w! @; |* ]* R( X- g/ {
jnz rotate
# @$ X E O6 Q2 q mov dl,20h
`/ \) U* X+ }2 X/ V0 |" `3 S9 }9 c mov ah,2h+ {5 t+ O# ]$ J' }
int 21h O+ Y2 p/ c! x. X4 I# l
pop cx! c( d# Z+ w, Y+ ~
pop bx
8 i4 F0 b1 @( c0 P: D2 O# Q/ A pop ax! v6 E% N5 M+ O6 t: u y. a
ret
/ K0 b9 |8 c, _ display endp
3 u& a$ c( E. ]* n, B2 [* w; Q( V- ]0 |4 v' c) E" v+ A- b! N7 k2 `. C E
CODES ENDS
7 G; l+ `; R. _% t6 F END START8 C4 S5 ]; q, L( L- d5 U
9 e3 ~3 w* U; E6 {运行此程序可显示ROM大小.单位以K计算,不过是十六进制的 |
|