微机原理实验报告程序文档格式.docx
《微机原理实验报告程序文档格式.docx》由会员分享,可在线阅读,更多相关《微机原理实验报告程序文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
![微机原理实验报告程序文档格式.docx](https://file1.bdocx.com/fileroot1/2022-12/31/38767762-4d66-4772-a462-3fd00468826d/38767762-4d66-4772-a462-3fd00468826d1.gif)
拆字
ORG1000H
NUMDW1234H
ORG4000H
ADB?
BDB?
MOVAX,NUM
MOVA,AH
MOVB,AL
实验3—3
INFOR1DB0AH,0DH,'
PleasePressanykeytoinputaletter:
$'
;
0AH为换行,0DH为回车
INFOR2DB0AH,0DH,'
YouInputalowercaseletter!
$'
INFOR3DB0AH,0DH,'
Youinputauppercaseletter!
INFOR4DB0AH,0DH,'
Youinputadigit!
INFOR5DB0ah,0dh,'
Youinputotherletter!
CODESEGMENT
ASSUMECS:
MOVAX,DATA
MOVDX,OFFSETINFOR1
MOVAH,09H;
输出字符串INFOR1
MOVAH,1
MOVAH,01H;
从键盘输入一个字符
CMPAL,'
0'
JBOTHER;
小于0,为其他字符
9'
JBEDIGIT;
大于等于0,小于等于9,为数字
A'
JBOTHER
Z'
JBEUPPER
a'
z'
JBELOWER
JMPPEND
LOWER:
MOVDX,OFFSETINFOR2
MOVAH,09H
UPPER:
MOVDX,OFFSETINFOR3
DIGIT:
MOVDX,OFFSETINFOR4
OTHER:
MOVDX,OFFSETINFOR5
PEND:
CODEENDS
ENDSTART
实验3—1
STRINGDB'
Iamastudent'
LENEQU$-STRING
MOVBX,OFFSETSTRING
MOVCL,LEN
NEXT:
MOVAL,[BX]
CMPAL,'
JBLOP
JALOP
SUBAL,20H
MOV[BX],AL
LOP:
INCBX
DECCL
JNZNEXT
实验4—1
ADB'
1234567890'
NEQU$-A
BDBNDUP(?
)
ASSUMECS:
MOVDS,AX
MOVES,AX
LEASI,A
LEADI,B
ADDDI,N
MOVCX,N
MOVE:
MOVAL,[SI]
MOVES:
[DI],AL
INCSI
DECDI
LOOPMOVE
实验4—2
DB100DUP('
ORG1050H
B'
DATA,ES:
MOVSI,1000H
MOVDI,1050H
MOVCX,100
AGAIN:
MOVAL,[SI]
MOV[DI],AL
INCDI
LOOPAGAIN
实验4—3
BUFDW1,2,3,4,5,6,7,8,9,0
MAXDW0
MOVSI,OFFSETBUF
MOVCX,10
MOVAX,[SI]
CMPAX,MAX
JBNEXT
MOVMAX,AX
NEXT:
实验6—1
DATASEGMENT
STRDB'
Pleaseinputacharacter:
STR1DB0ah,0dh
STR3DB?
'
H$'
CODESEGMENT
MOVDX,OFFSETSTR
MOVAH,01H
MOVSTR1,AL
MOVDX,OFFSETSTR1
实验6—2
STR1DB0dh,0ah,'
STR2DB0dh,0ah,'
Youinputanumber!
STR3DB0dh,0ah,'
Thecharacteryouinputisnotanumber!
CMPAL,30H
JBNEXT1
CMPAL,39H
JANEXT1
MOVDX,OFFSETSTR2
JMPNEXT2
NEXT1:
MOVDX,OFFSETSTR3
NEXT2:
MOVAH,4CH
实验6—3
info1db0dh,0ah,'
inputstring:
info2db0dh,0ah,'
outputstring:
STRDB20DUP(?
ADDSI,10
MOV[SI],BYTEPTR'
MOVDX,OFFSETinfo1
MOVAH,01H
DECSI
MOV[SI],AL
输入字符后回车
CODE
START:
MOVAX,CODE
MOVDL,0AH
PUSHAX
ANDAX,00FFH
MOVCL,4
SHRAL,CL
ADDAL,30H
MOVDL,AL
MOVAH,02H
POPAX
ANDAL,0FH
CMPAL,0AH
JNCNEXT
JMPfinal
ADDAL,37H
final:
MOVDL,AL
MOVDL,'
H'
DATASEGMENT
info1DB0dh,0ah,'
info2DB0dh,0ah,'
STRDB0Bh,0,20dup(?
nEQU$-STR
DB'
DATAENDS
ASSUMEcs:
code,ds:
data
movax,DATA
movDS,ax
leaDX,info1
movAH,09H
leaDX,STR
movAH,0AH
MOVCX,0
leaSI,STR
movDI,SI
addDI,n-1
number:
MOVBL,[SI]
CMPBL,0DH
JZNEXT
INCCX
JMPnumber
leaSI,STR
again:
movbl,[SI]
mov[DI],bl
loopagain
leaDX,info2
movDX,DI
movAH,4ch
INT21h
CODEends
endstart
codesegment
assumecs:
code
start:
movah,1
int21h
cmpal,1bh
jztj
movbl,al
movch,2
rotate:
movcl,4
rolbl,cl
moval,bl
andal,0fh
addal,30h
cmpal,3ah
jlprintit
addal,7h
printit:
movdl,al
movah,2
decch
jnzrotate
jmpstart
tj:
movax,4c00h
codeends
endstart