微机实验程序.docx
《微机实验程序.docx》由会员分享,可在线阅读,更多相关《微机实验程序.docx(21页珍藏版)》请在冰点文库上搜索。
![微机实验程序.docx](https://file1.bingdoc.com/fileroot1/2023-7/11/58e41ab2-b8b4-4a6c-b0a1-6637ada560ce/58e41ab2-b8b4-4a6c-b0a1-6637ada560ce1.gif)
微机实验程序
2.1
datasegment
listdb10dup(?
)
dataends
codesegment
assumecs:
code,ds:
data
start:
movax,data
movds,ax
movbx,00h
moval,00h
movcx,09h
next:
movlist[bx],al
incbx
incal
loopnext
movah,4ch
int21h
codeends
endstart
2.2
DATASEGMENT
XDB-78,127,-128,-125,88
YDB32,-43,76,95,1
SDB5DUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVCX,5
MOVBX,0
SUM:
MOVAL,X[BX]
ADDAL,Y[BX]
MOVS[BX],AL
INCBX
LOOPSUM
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
2.3
DATASEGMENT
XDB67H,34H,12H,90H,57H
YDB68H,24H,90H,57H,13H
SDB5DUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
LEASI,X
LEADI,Y
LEABX,S
ADDBX,5
MOVCX,5
LOOP1:
MOVAL,[SI]
ADCAL,[DI]
DAA
MOV[BX],AL
INCSI
INCDI
DECBX
LOOPLOOP1
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
2.4
DATASEGMENT
XDB7,8,5,4,6,9,3,2,1
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVCX,8
LOOP1:
MOVDX,CX
MOVBX,0
LOOP2:
MOVAL,X[BX]
CMPAL,X[BX+1]
JBENO
XCHGAL,X[BX+1]
MOVX[BX],AL
NO:
INCBX
LOOPLOOP2
MOVCX,DX
LOOPLOOP1
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
3.1
datasegment
xdb85,77,126,-1,-43,37,-128,11,-19,13
dataends
extrasegment
copydb10dup(?
)
extraends
codesegment
assumecs:
code,ds:
data,es:
extra
start:
movax,data
movds,ax
movax,extra
moves,ax
callsort
callcop
movah,4ch
int21h
sortprocnear
movcx,9
loop1:
movdx,cx
movbx,0
loop2:
moval,x[bx]
cmpal,x[bx+1]
jngno
xchgal,x[bx+1]
movx[bx],al
no:
incbx
looploop2
movcx,dx
looploop1
ret
sortendp
copprocnear
leabx,x
leadi,copy
movcx,10
loop3:
moval,[bx]
moves:
[di],al
incdi
incbx
looploop3
ret
copendp
codeends
endstart
4.12
datasegment
xdb5dup(10)
dataends
codesegment
assumecs:
code,ds:
data
start:
movax,data
movds,ax
movcx,5
movbx,0
loop1:
movah,01h
int21h
pushax
incbx
looploop1
movcx,5
movbx,4
loop3:
popax
movx[bx],al
decbx
looploop3
movdl,0dh
movah,02h
int21h
movdl,0ah
movah,02h
int21h
movcx,5
movbx,0
loop2:
movdl,x[bx]
movah,02h
int21h
incbx
looploop2
codeends
endstart
4.34
datasegment
xdb50
db?
ydb50dup(24H)
dataends
codesegment
assumecs:
code,ds:
data
start:
movax,data
movds,ax
leadx,x
movah,0ah
int21h
movdl,0dh;回车
movah,02h
int21h
movdl,0ah;换行
movah,02h
int21h
leadx,y
movah,09h
int21h
4.5
codesegment
assumecs:
code
start:
MOVDL,35H
MOVCX,5
LOOP1:
CALLDELAY
MOVAH,02H
INT21H
DECDL
LOOPLOOP1
DELAYPROCNEAR
PUSHCX
MOVBX,2000H
FOR1:
MOVCX,2500H
FOR2:
LOOPFOR2
DECBX
JNZFOR1
POPCX
RET
DELAYENDP
codeends
endstart
codeends
endstart
微机实验8
datasegment
xdb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh
dataends
codesegment
assumecs:
code,ds:
data
start:
movax,data
movds,ax
leabx,x
l2:
movcx,0ffh
l1:
movdx,280h
moval,00h
outdx,al
movdx,290h
moval,[bx]
outdx,al
movdx,280h
moval,02h
outdx,al
calldelay
movdx,280h
moval,00h
outdx,al
movdx,290h
moval,[bx+1]
outdx,al
movdx,280h
moval,01h
outdx,al
calldelay
loopl1
addbx,2
loopl2
movdx,280h
moval,00h
outdx,al
movah,4ch
int21h
delayprocnear
pushcx
pushbx
movbx,50h
for1:
movcx,100h
for2:
loopfor2
decbx
jnzfor1
popbx
popcx
ret
delayendp
codeends
endstart
微机实验9
1
codesegment
assumecs:
code
start:
moval,10000000b
movdx,283h
outdx,al
movcx,3
l1:
movdx,281h
moval,0ffh
outdx,al
calldelay
moval,00h
outdx,al
calldelay
loopl1
movah,4ch
int21h
delayprocnear
pushcx
pushbx
movbx,500h
for1:
movcx,1500h
for2:
loopfor2
decbx
jnzfor1
popbx
popcx
ret
delayendp
codeends
endstart
2
codesegment
assumecs:
code
start:
moval,10110100b
movdx,283h
outdx,al
l1:
movdx,282h
inal,dx
andal,20h
jzl1
movdx,280h
inal,dx
calldelay
movdx,281h
outdx,al
l2:
movdx,282h
inal,dx
andal,02h
jzl2
movdx,281h
moval,00h
outdx,al
movah,4ch
int21h
delayprocnear
pushcx
pushbx
movbx,1500h
for1:
movcx,2500h
for2:
loopfor2
decbx
jnzfor1
popbx
popcx
ret
delayendp
codeends
endstart
微机实验10
1
codesegment
assumecs:
code
start:
moval,00010000b
movdx,283h
outdx,al
movdx,280h
moval,04h
outdx,al
calldelay
movdx,280h
inal,dx
movdl,al
adddl,30h
movah,02h
int21h
jmpstart
delayprocnear
pushcx
pushbx
movbx,1500h
for1:
movcx,0f500h
for2:
loopfor2
decbx
jnzfor1
popbx
popcx
ret
delayendp
codeends
endstart
2
codesegment
assumecs:
code
start:
movdx,283h
moval,01010010b
outdx,al
movdx,281h
moval,03h
outdx,al
movah,4ch
int21h
codeends
endstart
微机实验11
1
datasegment
xdb'areyouready?
',0ah,0dh,'$'
ydb'IRQ10INTERRUPTNOW!
',0ah,0dh,'$'
dataends
codesegment
assumecs:
code,ds:
data
start:
movax,cs
movds,ax
leadx,ZD
movax,2572h
int21h
cli
inal,0a1h
andal,0fbh
out0a1h,al
sti
movcx,20
l1:
pushcx
movax,data
movds,ax
leadx,x
movah,09h
int21h
calldelay
popcx
loopl1
movah,4ch
int21h
ZDPROCNEAR
pushax
pushbx
pushcx
pushdx
movcx,5
again:
pushcx
pushdx
leadx,y
movah,09h
int21h
calldelay
popdx
popcx
loopagain
popdx
popcx
popbx
popax
moval,20h
out20h,al
moval,20h
out0a0h,al
iret
ZDendp
delayprocnear
movbx,1500h
for1:
movcx,1500h
for2:
loopfor2
decbx
jnzfor1
ret
delayendp
codeends
endstart
2
datasegment
xdb'areyouready?
',0ah,0dh,'$'
dataends
codesegment
assumecs:
code,ds:
data
start:
movax,cs
movds,ax
leadx,ZD
movax,2572h
int21h
cli
inal,0a1h
andal,0fbh
out0a1h,al
sti
movcx,20
l1:
pushcx
movax,data
movds,ax
leadx,x
movah,09h
int21h
calldelay
popcx
loopl1
movah,4ch
int21h
ZDPROCNEAR
pushax
pushbx
pushcx
pushdx
movcx,3
again:
pushcx
movdx,280h
moval,0ffh
outdx,al
calldelay
moval,00h
outdx,al
calldelay
popcx
loopagain
popdx
popcx
popbx
popax
moval,20h
out20h,al
moval,20h
out0a0h,al
iret
ZDendp
delayprocnear
movbx,1500h
for1:
movcx,1500h
for2:
loopfor2
decbx
jnzfor1
ret
delayendp
codeends
endstart