|
|
发表于 2009-2-12 17:29:22
|
显示全部楼层
DATAS SEGMENT: ]: U, ~0 K! V. Z
;此处输入数据段代码
5 p$ w' k& m% c8 O4 v9 j5 fDATAS ENDS
$ B( J$ q: R2 s8 V4 @
, ` z; D O. U9 WSTACKS SEGMENT
* @* R7 V4 Q' w6 p, l ;此处输入堆栈段代码
; p* |* z- s8 C! wSTACKS ENDS0 s0 g# ?# Q7 H% k) W' P% U
6 w# D! r B- H, N6 ^4 F
CODES SEGMENT% z1 b' L$ b' i+ [" R
ASSUME CS:CODES,DS ATAS,SS:STACKS
1 B! m8 f6 d4 x4 |) D+ c! ^9 ~.486/ ~5 e' x8 K9 R- w" y/ ?1 |
START:! D0 o1 U/ |/ Z$ g( D/ U& a
MOV AX,0f000h4 L5 ~# F/ c+ x* p$ a
MOV DS,AX( V/ H; E- b7 O* L! N: e7 M
;此处输入代码段代码
& S) D \$ n% i) K" _8 {! S mov si,0' S5 Q; L& c K) B, E! e
last:
1 o9 G' T1 [) t# f; l" Q$ ]. j+ @ mov eax,[si]
2 K5 L. A o; s b, f$ a cmp eax,5f4d535fh m( l, R0 p4 C% O
je over
2 Q/ c3 z# s& p- u1 [ V/ q8 D/ _ add si,10h
0 m& M: i5 f" i1 a% [ jmp last
8 F0 b) g2 v, Y6 Z4 e" ?8 s) X + }* |; r4 T6 p. z v5 W+ M! {- B
over:
! ^" Q- ?; R, d add si,18h
" c1 m# S4 {% Y: n' M- C mov eax,[si]
. G. E V/ V. b m2 E+ k; R mov si,ax5 ` s2 P) f1 K( v6 p
add si,9, f( w' v$ T- W/ U% X5 K. a0 Y+ S [% w
mov ax,[si]
. o8 S( M* H3 { a add al,17 R# ?3 s0 G( C# R2 W+ B2 J' b
mov bl,649 E$ f3 e0 w T) {5 E; g$ h
mul bl
9 X6 x2 `7 s: R7 E+ m. E) T, z mov bx,ax
$ A- v+ \& C' [* u1 j, I/ y
; h; ~% N& u1 N8 X+ ^: R/ } call display
7 m8 }* _ \9 j, D7 c) \ MOV AH,4CH+ I: p9 Z' d: W! K( e9 v: }
INT 21H * A" a2 u' e0 [7 J8 ?2 H- |2 }
% M7 H1 B3 C' G3 M0 `
display proc near
6 e2 m* Y p3 |- Z% k push ax
; v8 d1 Q+ L; v- G: ?: v push bx
7 |2 h X( B& k push cx
B: a3 t/ }/ ^( }- x7 \$ z mov ch,4
& b$ z" I. N& e$ h$ a v0 b rotate:mov cl,4 U4 ^' Z6 Z$ ^. K) _: |2 [0 a
rol bx,cl
4 o+ @/ R( } j4 w7 v/ z9 `" m mov al,bl
% B) O/ ~% n8 Z8 Q* g5 d5 } and al,0fh
5 _+ ~5 F. Q0 G. B9 Y6 a add al,30h
: V1 Y- u7 [ E4 \7 C cmp al,3ah
: _: F2 b5 O+ A) f jl printit
% E% c" o1 U, v- a& r add al,7h1 H9 n- D0 V+ Z+ F
printit:( }- D& ^; }! X; O- S; K4 j0 C
mov dl,al5 V& c/ Q& L7 t6 o2 N
mov ah,2
- S8 Q$ e/ v2 [& w) I2 n% K* T8 C$ b4 c8 n int 21h
: J0 X( Y- G& f3 n8 m dec ch( ~' q: c, r F+ l4 k
jnz rotate+ d& _8 T+ Y( }3 g
mov dl,20h
, E* J K0 Q8 r) u W3 `" H9 p/ ? mov ah,2h
) S3 C# S, Y2 o/ @ int 21h. a/ @" R: \. {" v& k/ F2 [6 v
pop cx0 [$ L! f w( K6 |) w) ] A
pop bx
[; m$ Q9 m7 I6 S7 F pop ax
6 n& Y2 R3 X6 {1 n, T ret" `4 w+ S/ g$ u6 {& u
display endp
$ O5 K$ z* [/ ]& r9 X2 B* {: m4 Z% M& ~% P" }3 F5 t2 L) T
CODES ENDS
& b0 I! a/ n0 n5 s l END START
7 x, ] j8 d3 ?8 I1 |
- w" }/ V+ c7 G1 l/ R: v, i, b7 p运行此程序可显示ROM大小.单位以K计算,不过是十六进制的 |
|