|
发表于 2012-6-1 12:38:44
|
显示全部楼层
我看了一星期小甲鱼关于王爽汇编的视频做出了课程设计,代码如下,哈哈好好学吧
5 A8 e) Q/ a5 T" _" x2 I( }enter macro
; ~/ }; `2 q! m, w) d push dx
* V/ W, q0 @8 e2 H push ax1 d/ b4 T C' h2 _! T
mov dl,0ah7 O- o( I e6 k5 j( x' Y5 p
mov ah,2
& ^( u) E$ M# z# x0 ~- H int 21h
" K$ `% Z3 B- k mov dl,0dh/ w. p$ I7 Q" X/ r3 t- Y
mov ah,2/ `* @7 n$ A5 @/ B: R
int 21h+ H: a- G, b; b( R3 d; V5 ]
pop ax$ ~) G5 _2 h5 y. l$ F
pop dx # N( j& [# U0 e7 t6 G2 g7 [
endm2 k* w- b4 P5 f8 F5 S8 X
1 m% a; \. Z# S' n- e8 [assume cs:code,ds:data# y- ^ o; n2 w0 i. J
data segment
" d) _% }1 N4 O& a5 W2 E8 ytable db 300 dup(0)- p/ Z! a% t2 x8 b7 c
pro1 db 13,10,'_________________________________________________',13,10
- c- }6 O6 F. X db 'no more than 20 characters English name.',13,10
, }" r* |' R& K db 'For example:',0ah,0dh,'liang xin hui',13,10, B6 \" G, z0 M# n/ C R
db 'XXX',13,10,'XXX',13,10,'......',13,10,'...',13,10
) o# |4 ?* f( ^' j5 O: C/ c db '.................................................',13,10( d) B+ o. l! b+ b- E# b7 e' c
db 'Please input:',13,10,'$'4 a, d' h& ]% e7 ^& e- C/ p( t
pro2 db '.................................................',13,10" T3 y6 V! M3 I' L
db 'The results are as follows:','$') {( b! l* Q. M* q
) q" \' e+ G" Y& V0 Y3 u6 u
cont db '________________________________________________',13,108 g T4 k& I2 m* t" V" s. Q/ n0 X3 i
db 'Can You Continue(Y/N):','$'8 F+ P$ g+ X6 H$ Q) l
: d" _! j! E! B/ P$ W& Fcp dd 50 dup(0)
$ h7 N4 @6 y z. s4 y+ `1 t7 Gdata ends J: K; I! }: @4 R
0 a, X! B: R% j
code segment9 m0 V8 Q) }2 M; M5 h, \$ _/ a5 i7 y
start : mov ax,data
5 D! N" }7 P) d L9 q4 a' w mov ds,ax
- K% _6 D! n: R) x. o8 v call prop1
( G+ w+ N1 |! U+ X' o4 |9 a. c6 P mov bx,offset table4 h1 Q$ Q" N) y1 v+ ~$ c1 H# u
mov si,0% M% f) l! T7 c! R" L C: W
mov di,07 x0 z6 v% x# ^0 a+ c2 M+ k
2 k- d! T8 \* Z
0 L+ f6 E9 V! C9 O0 l call enterchar$ ^8 Q1 b, |9 K: L* \8 {- O
perp:
! Q! J/ s3 p6 e) k8 T) i dec si
; s i/ f, Q# h( | mov dx,si0 B5 o/ _& r- [' B: @- t% H5 J6 Z
inc si * W% c) B! U+ B0 L6 j8 D5 j T
mov cx,si
2 D* L4 U3 _. A, _ call arrange" z7 t2 b% q* ?2 W
call prop2
) N4 Z k+ A/ _! O# ?, L call putchar' |) B N1 g4 { o3 \0 z2 X
liang:
d# |5 p8 W( s4 E/ Y call Continue
( M8 W( }3 n* k call judge
/ k4 Y. M( s! u1 J mov ax,4c00h
: y V% C% W- u int 21h
1 r2 ^+ z) N" ^; V
# `5 h# q0 d( ]2 j }
2 q" T$ g$ p: uContinue: enter! K- D$ f8 y7 Z/ g
mov dx,offset cont$ \; V9 Z& _3 y3 @5 b; X# J" c
mov ah,9h1 I6 l- Y! ]% ^) G
int 21h
5 d9 ~/ _0 U3 U/ r, g5 @6 q, i0 Y ret
8 U0 G5 I: w) Y7 b
: A9 Z& N/ F/ F! P8 E, Wjudge: mov ah,1* i. {9 s5 I- I. D0 i' j
int 21h
# I6 ]8 S' ^! g% C" o$ o or al,100000b
# v4 U, _8 q C6 ~ cmp al,79h, P/ q2 y* m7 {# F. J5 ^. i
je clear* ~+ q* g" Y6 |( |9 f- U$ g8 z
cmp al,6eh
% W; O8 I1 r5 D( @' r- V, ~# M2 ] je endj
" F8 g6 b6 K# ^3 W jmp liang
0 s6 ?& R7 ]/ C' b( B) Tendj: ret 0 W6 R. U; K3 Z3 ]
7 J/ D+ q+ c$ T- W$ s6 g2 Aclear: mov bx,offset table5 N0 y* H: H, U7 p) T" z% A3 E
mov cx,300* s! H0 _4 p9 l6 _! i% J: z
zero: mov byte ptr [bx],0
, H( l: K/ h, y0 O, x/ i3 i4 s6 H" v inc bx
. d/ V7 W( a5 y8 j- j# x loop zero$ `9 n, G. J- W# K4 ^, R
jmp start
/ `* j0 G9 `" y* f+ R- B: C( S: a5 o. O4 m5 S: O
6 t2 U k" |# w8 m8 [* Q
enterchar: mov ah,1
6 r' _7 e9 {( u* d# t& U* | int 21h
, h. k f9 k$ Q0 ^9 G1 y, ` mov byte ptr [bx],al 5 a \7 v Y2 l# r) L! T% k
cmp al,13
6 j! B v1 n; g6 ?3 m- O" Z je endchar
1 g" Y) u$ y& G& e6 w) s( |6 M5 l1 b* c mov di,1
* [1 a( r& F4 P% p) f; p# _' D- O inc bx3 ?+ R0 X& v/ Z; d. p: U
jmp enterchar: h; K& Y; z4 o5 S8 x N+ @. A; R5 U
7 n9 {* Y- h7 U' h6 Vendchar: enter 8 K$ e! ?5 u* ?0 l' S: D$ w5 B' v
mov byte ptr [bx],' '# f6 F6 ~1 b P
cmp di,0. }; c% S5 u* H+ a* \
je perp
3 s1 j2 u; d) l) ~- b& p inc si) A; B$ Q" O! ?6 h2 k3 l9 ` [
mov ax,si
1 z3 Y3 ?3 B( B, o' J mov dx,21
. q w) [3 |" o9 x3 P' ?( v3 Q mul dx) r6 \# E9 v% M0 s$ `+ l
mov di,0
* A. S, q L0 f! Y8 J mov bx,ax ! X/ O& Q1 d$ a6 A
jmp enterchar6 N! V: ]9 M# d7 |3 N
6 U$ L% e% O* }% |4 C# K3 n1 L1 x. U, E
arrange: push si, { J! x v( ]3 a( c' j9 ~: o
push cx
% K- _& \9 f: Q4 J5 s4 l8 ~4 s" f mov cx,dx 5 L+ R) R1 d+ p) P! q o; a
mov si,0* a: ` {- ~' y0 G( Q
mov di,21
6 Y q5 b9 Q! B. s4 |; e3 [7 N9 i: k$ b, w& l ~% u
s1: push cx
1 O+ ?9 _8 s# b. V# e mov bx,0
" O" ?. w/ {) z mov cx,20 `+ U7 ]; v+ ?* c1 A
ss1: mov al,table[si+bx]
9 |" Y# D% r, D( D8 R$ j+ \ cmp al, table[di+bx]
! d& O" _' R6 {' F ja jiao! |5 u) C( J8 n$ e( h4 ]1 H$ f
jb s2
" V, H% G- ?% K5 V. x( R inc bx
" J0 E2 M- M$ G. Z( R' h loop ss1
1 M- U3 S+ l) J% V jmp s29 r2 H _" r, x* h/ l
& m6 x; S5 L0 [: Y6 K
jiao: mov bx,0
4 _3 a3 r% u! ?: @ mov cx,20
4 J9 [+ e% m( x! {" ], yjiao1: mov al,table[si+bx]
6 D9 ]9 _6 C& i- z5 T xchg al,table[di+bx]
# \2 E. b' @2 @: Q mov table[si+bx],al( L, i) s' h* T6 A
inc bx0 I) h, p8 a3 _
loop jiao1) K. e+ j- H3 t" W: [
4 d! B) m( t4 `
s2: add si,21
; }6 F8 @# ?3 D4 c& ]; P: {# n add di,21
6 _- v0 B, ~9 A! O6 w2 X pop cx9 t& H8 V6 _# T+ d! O4 \
loop s1. E7 J4 W$ N O0 {- r/ Z! j
, H. |7 R7 X, y1 o9 i+ x3 D pop cx' e* d7 I3 z. j. C7 C
pop si/ N, E0 S6 U/ J0 H8 H( o
loop arrange
# ]2 T+ X( y* G. V ret
9 c! O( Z4 S7 \8 n( [/ U9 l8 p% g; d" F1 i a+ z- `: B
putchar: mov bx,0+ o% H6 _$ W( E# B- u9 s
mov di,1; N/ R0 Q/ B& j2 y9 [
2 b& W; A! n; E2 I; U' J4 s " m3 Y: f' `9 u% a; U1 i! Y" ~
mov cx,si
' p- ?5 U% D$ u9 ?5 C7 x2 Bput1: push cx: h8 a( t' S3 _& K7 x. K
push bx1 T- B. z$ E1 I8 W1 O
+ T/ P9 c% i- x$ G5 O! E: s9 {8 X
enter+ ~) y7 u. g4 E
: O" m) \5 i+ v8 }
mov bl,10
( v! G1 r H! H. S6 Z mov ax,di
# y* o2 t- A5 ^. O, Z! p& J div bl) a" k2 d) [) o" y
mov bh,ah. u: O; s+ v( H, }8 Y+ y' G
add bh,30h- U, s/ N0 l3 U# ?& p
add al,30h5 r$ i; _. Z& |7 @0 g
" r. v& i, o& P1 X
mov dl,al
( w j) Z" s3 p1 E mov ah,2& }$ K( a$ }4 T+ z
int 21h
4 y& P4 c( ~, p- ?4 y8 E mov dl,bh9 N6 [0 X: u3 W8 ?/ Q3 |9 B
mov ah,27 P6 q. V( b9 j- X q
int 21h9 p1 L$ I" ^1 a% r- v: ]& a" ?; v
mov dl,3ah
. ^* g1 i- O4 b' t8 e7 H) l1 H' h! ^ mov ah,2' P1 ?3 A0 E/ J J" h; ]. \8 u
int 21h
" W: L. ^$ c& b9 P+ ]9 x pop bx * E+ a2 _5 M# |
mov cx,201 x$ F$ j' P; t. @ a
push bx
; P' x* ]$ `. z- p: m0 Rput2:
5 g/ E+ Z O$ q3 W% P; W mov dl,table[bx]6 g' {+ z! ~6 d! v) j/ C) ]3 r3 P
mov ah,2h0 f7 D8 q- i4 m. I( E4 R
int 21h2 Y3 ~* o' S1 z
5 E- ^; q3 b8 |0 ]& r& y inc bx
9 n, I/ _! J5 I1 W loop put2
1 q* r E! p, r" n inc di ( ^6 D) n! h% ^- i4 C- i7 o
pop bx
- Q9 L5 s$ i2 ]0 p! e3 g3 ? add bx,21& p! u( n% I' O5 q8 L" A) L
pop cx
8 Q. H4 W: }' `- P2 X, j4 V
3 ~5 B" g2 {( z" ? loop put15 M, x; H2 W7 d. x$ z# ^4 f
ret
p) F9 E1 T9 w' Q7 D6 n K& Z. d4 c1 `
prop1: * v& u. P9 }: e6 W. F7 |! E
mov dx,offset pro11 r9 b/ x" ~/ `: C% }5 L
mov ah,9h
D2 }9 P2 O, l |/ C; w, ?3 d int 21h
# L+ `8 L( V* j, o5 ~1 y H$ Y enter
5 o; r$ [. l; M( j+ l ret
& c# U+ w1 j- o% d0 ]& N3 J7 P2 F" N" f: y, {8 g9 L+ W
prop2: enter# U* l4 B7 A' r4 P& d- n% l
mov dx,offset pro2
2 C% Q, @9 k; X4 Y' z! ] mov ah,9h
( s+ S; h' D/ B8 U/ `2 y0 v: y int 21h
. k" q g0 D* E( f ret
- @- e) m t1 K, r3 Q9 y: F+ d( m2 ~9 i
code ends9 e, A9 b3 s! S6 {' O) J
end start) f, b u @( O! h0 L1 w& B
& R. s# c U# {7 m6 b( ~
) K" I0 ? R- S+ y1 b3 V9 ^ O! m
|
|