|
发表于 2009-2-12 17:29:22
|
显示全部楼层
DATAS SEGMENT
4 e2 }% [8 i: m% V: M3 f2 \0 _ ;此处输入数据段代码
, |/ b* x5 f& ~7 r4 T( O1 iDATAS ENDS
c2 J5 s h3 g M6 |
' ?- h; s! U5 y* H* B; V# T* ySTACKS SEGMENT
% N# _" k$ C. C I" t ;此处输入堆栈段代码! N- f; q9 Z' s2 L x6 o8 S
STACKS ENDS
; a W7 C( Y7 q+ W: W- c2 Z9 z+ C6 M, U( h
CODES SEGMENT! @& x* [" ~* \1 C2 Q1 x3 O! _
ASSUME CS:CODES,DS ATAS,SS:STACKS/ y& g U5 ~9 y: P- K
.486
. i9 {3 [: ~+ t' ?: QSTART:
# @& w2 r; E9 @' \2 l7 A MOV AX,0f000h
! z7 X+ ~4 `- B) O MOV DS,AX
( f/ N% v' h5 N+ {/ s8 s ;此处输入代码段代码* r. l; F T+ G0 N" n
mov si,0
" |; R. E: x6 L+ ^5 H2 m. M last: 8 H0 \4 D1 y' c
mov eax,[si]
& k9 L6 J, y1 a) i( n cmp eax,5f4d535fh
; @+ A2 ~- j' Z2 ?) a% ?, u: J je over) I0 \& C$ x! M9 _
add si,10h
" r) H4 m) S0 l L jmp last. l# I: I- |6 ]/ g
3 {* }) Q0 s' ^2 z4 v8 ^! `- u
over:5 F1 ]/ M' x+ h \7 M+ Q9 c
add si,18h4 [* c, z$ G5 R [
mov eax,[si]% L& t9 k6 q$ }3 Z
mov si,ax
" Z3 J& D7 U" c7 [ add si,9$ M" m5 z9 {- q; M
mov ax,[si]
' a7 }: U0 S2 a; T4 \& o, Z add al,1
2 g( x% @: V" Z mov bl,64
) W! _) s- L: E; ~ mul bl
' H: {+ L8 t4 j" U$ b$ X1 t mov bx,ax
3 t2 z; q6 w# \. }
7 M5 J. K, z1 b" z5 |! M call display
( ~: x: \; |" ~' j MOV AH,4CH
) v U7 w. A0 m INT 21H " R4 Z% n- ^4 w
- T4 B# V. g4 x1 `7 V- j% T7 j
display proc near- s7 p: R. r$ l8 k* `
push ax
* K& G: {7 u, W push bx
9 u G* d* u3 H& v push cx' C0 O4 B% V9 D0 b! l- n& p; C n6 q
mov ch,4
/ k# H w% A O0 W rotate:mov cl,4% L* p* x7 @7 }* g
rol bx,cl
* A0 ]" B4 n1 R6 B mov al,bl. L) J8 i) @8 x
and al,0fh& b0 x: B5 Y* v
add al,30h
. |2 k. d$ D+ @) j6 | cmp al,3ah
, u3 q; G) _ h1 b$ |3 [% i2 [ jl printit) ?9 q6 g- h) Z% @' a! N2 h
add al,7h
4 @6 X- b% [6 I$ M: m printit:
8 F/ g5 A4 r E+ K* P1 l/ Y mov dl,al
; I& u& m# y# C" C9 R; a+ u- K mov ah,2
* u# Y6 \* i: N* A& ~, x int 21h! \6 F( k2 {& W$ y
dec ch
8 q3 H- T' A9 X jnz rotate
4 `- U- f7 V, W' V* ? mov dl,20h! N, ^# [. u) C
mov ah,2h
- ]5 l, I- `- t2 q int 21h
! c) [, ]$ ]+ m1 |% ?# q8 a) i pop cx
- n8 F+ }$ |' r" J pop bx
9 P @3 g! `" P0 \9 h pop ax1 T* c" s) \, i. Z. H) B
ret$ j4 c1 v" O g5 e
display endp
' H0 h, A/ _, S/ U, B P: C; Y4 i' j9 T _2 i) V, W1 O2 @: i0 `
CODES ENDS
; e! q- N0 M4 R) w3 ?# ~+ i END START S- z$ g& [2 k1 ]
6 R6 z3 W! z$ j% f运行此程序可显示ROM大小.单位以K计算,不过是十六进制的 |
|