微机原理.docx
- 文档编号:12078348
- 上传时间:2023-04-16
- 格式:DOCX
- 页数:15
- 大小:25.75KB
微机原理.docx
《微机原理.docx》由会员分享,可在线阅读,更多相关《微机原理.docx(15页珍藏版)》请在冰豆网上搜索。
微机原理
作业题:
P44
6答:
CF、PF、AF、ZF、SF、OF
7答:
580AH
+3456H
=
10答:
64K,20000H~2FFFFH
11答:
D00CH*16+2000H=D20C0H
15答:
时钟周期1/5M=0.2US,RESET需要4个时钟=0.8US
插入2个TW后时间=6个时钟=1.2US
P89
6、解:
3)MOVCX,3579h0011010101111001
SUBCX,4EC1H-0100111011000001
CF=1,OF=0,sf=1,zf=011110011010111000
7、解:
已知:
堆栈段起始地址:
2000:
0000,堆栈的大小100H,(SP)=200H
(4)存入2233H、4455H后,SP=200H-4=1FCH
Movax,2233h
Pushax
8、用逻辑指令完成:
(1)将AX的高4位清0:
ANDAX,0FFFH
0fff0h
(2)将BX的低4位置1:
ORBX,000FH
(3)将DX:
AX中的32位数左移1位:
SHLAX,1
RCLDX,1
(4)实现AL中的无符号数乘以20
MOVAH,0;将AL的8位数扩展到16位
MOVBX,AX; 备份
MOVCL,4
SHLAX,CL;乘以16
MOVCL,2
SHLBX,CL;乘以4
ADDax,bx
(利用算术指令:
MOVBL,20
MULBL)
9解:
(1)将AX中间8位做高8位,BX低4位和DX高4位做低4位拼成一个新字
MOVCL,4
SHLAX,CL
ANDAX,0FF00H
ANDBX,000FH
Movcl,4
Shlbl,cl
MOVCL,12
SHRDX,CL
ORBX,DX
ORAX,BX
(2)将数据段中以BX为偏移地址的连续3单元中的无符号数求和
解:
XORAX,AX
MOVAL,[BX]
ADDAL,[BX+1]
ADCAH.,0
ADDAL,[BX+2]
ADCah,0
(3)将数据段中以BX为偏移地址的连续4单元内容颠倒过来
解:
方法1:
;1和4单元交换
MOVAL,[BX]
XCHGAL,[BX+3]
MOV[BX],AL
;2和3单元交换
MOVAL,[BX+1]
XCHGAL,[BX+2]
MOV[BX+1],AL
(4)将bx中的4位压缩bcd用非压缩bcd数形式按高低顺序存放在AL,BL,CL,DL中
MOVSI,bx
ANDBH,0F0H
MOVCL,4
SHRBH,CL
MOVAL,BH
MOVBX,SI
ANDBH,0FH
MOVBL,BH
PushAX
PUSHBX
MOVBX,SI
ANDBL,0F0H
MOVCL,4
SHRBL,CL
MOVCL,BL
MOVBX,SI
ANDBH,0FH
MOVDL,BL
POPBX
POPAX
10、把unpacked开始的16位非组合BCD码转换成组合BCD,并把结果存放在packed开始的单元里
解:
(假设非压缩BCD的高4位=0)
MOVDX,8
LEASI,UNPACKED
LEADI,PACKED
LOP:
MOVAL,[SI]
MOVCL,4
SHLAL,CL
ADDAL,[SI+1]
MOV[DI],AL
INCDI
INCSI
INCSI
DECDX
DJNZLOP
HLT
11
11、在不改变AL值得同时,检测AL中1的个数,将结果放在BL中
MOVBL,0
MOVAH,AL
NEXT:
CMPAH,0
JZEXIT
JNSSHIFT
INCBL
SHIFT:
SHLAH,1
JMPNEXT
EXIT:
HLT
4.7Page132
4
(1)BUFF1DB200DUP(?
)
(2)BUFF1DB200DUP(0)
(3)BUFF3DB‘abc’,’123’
5AL=24H,
BX=1234H
CX=没有答案
DI=5678H
DX=4524H
PLEN=26
9
(1)WRONG
(2)RIGHT(3)RIGHT(4)WRONG(5)WRONG
11答:
显示字符串
12答:
sum=2+4+6+8+…+40
16答:
CRLFMACRO
MOVDL,0DH
MOVAH,02H
INT21H
MOVDL,0AH
MOVAH,02H
INT21H
ENDM
STACKSEGMENT
STADW32DUP(?
)
TOPDW?
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,ES:
DATA,SS:
STACK
START:
MOVAX,DATA
MOVDS,AX
MOVES,AX
CALLGETNUM;读取键入的16进制数送DX
…
GETNUMPROCNEAR;子程序
PUSHCX;保护CX寄存器中的值
XORDX,DX;DX清0
GGG:
MOVAH,01H
INT21H
CMPAL,0DH
JZPPP
SUBAL,30H;
JBKKK
CMPAL,0AH
JBGETS;在‘0’~‘9’间转GETS
CMPAL,11H
JBKKK;非数字转KKK
SUBAL,07H;’A’~’F’变为0A~0FH
CMPAL,0FH;’a’~’f’变为2A~2FH
JBEGETS;在‘A’~‘F’间转gets
CMPAL,2AH‘a’~’f在AL中变为2A~2FH
JBKKK
CMPAL,2FH;’
JAKKK;不在‘a’~’f’间转KKK
SUBAL,20H;’a’~’f’间的ASCII码转化为16进制数值
GETS:
MOVCL,04
SHLDX,CL
XORAH,AH
ADDDX,AX;将本次键入的数字加进DX中
JMPGGG;接收下一个键入的数字
KKK:
MOVAH,09H
MOVDX,OFFSETERROR
INT21H;显示输入出错信息
PPP:
PUSHDX
CRLF
POPDX
POPCX
RET
GETNUMENDP
CODEENDS
ENDSTART
参考程序:
////////////////***********
;Hex2Dec-Mainprogram
;Convertshextodecimal
datasegment
ddecdb5dup(?
)
countequ$-ddec
dataends
hex2decsegment
assumeds:
data,cs:
hex2dec
start:
movax,segdata
movds,ax
movax,offsetddec+count-1
movsi,ax
callhex2bin
xordx,dx
movax,bx
movcx,0Ah
divcx
mov[si],dl
xordx,dx
decsi
divcx
mov[si],dl
xordx,dx
decsi
divcx
mov[si],dl
xordx,dx
decsi
divcx
mov[si],dl
xordx,dx
decsi
divcx
mov[si],dl
xordx,dx
callnewline
movcx,5
movsi,offsetddec
shw:
movdl,[si]
calldispchar
incsi
loopshw
movah,4ch
int21h
hex2binproc
xorbx,bx
newchar:
movah,01h
int21h
subal,30h
jlexit
cmpal,09h
jlEok
subal,07h
cmpal,0fh
jlEok
subal,20h
cmpal,0fh
jgexit
ok:
cbw
xchgax,bx
movcx,16
mulcx
xchgax,bx
addbx,ax
jmpnewchar
exit:
RET
hex2binendp
dispcharPROC;displaythenumberwithaspaceinDL
adddl,30h
MOVAH,02h
INT21h
RET
dispcharENDP
newlinePROC;Startanewline
MOVDL,0Dh
MOVAH,02h
INT21h
MOVDL,0Ah
INT21h
RET
newlineENDP
hex2decends
endstart
//*****************
20答:
DATASEGMENT
STRINGDB?
......
COUNTEQU$-STRING
…
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK1,ES:
DATA
START:
MOVAX,DATA
MOVDS,AX
LEABX,STRING;设串的地址指针
MOVDL,0;DL计数初值0
MOVCX,COUNT;串长度
AGAIN:
CMP[BX],20H
JZA1
INCDL;串长度加1
A1:
INCBX
LOOPAGAIN
CALLDISP
MOVAH,4CH
INT21H
;显示DL中的16进制数子程序
DISPPROCNEAR
MOVAL,DL;暂时保存在AL
ANDAL,0F0H;取该数的高4位;
MOVCL,4
SHRAL,CL
CALLCHANGE;调用子程序计算高4位ASCII码并显示
MOVAL,DL;重新取该字节数据
ANDAL,0FH;取该数的低4位;
CALLCHANGE;计算低4位的ASCII码并显示
RET
DISPENDP
//得到16进制数的ASCII码
CHANGEPROC
CMPAL,10
JLADD_0
ADDAL,7
ADD_0:
ADDAL,30H
MOVDL,AL
MOVAH,2
INT21H
RET
CHANGEENDP
CODEEND
ENDSTART
作业3.4PAGE88
8、
9、
10、
11、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理