微机原理作业及参考答案Word文档格式.docx
- 文档编号:21084527
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:34
- 大小:35.60KB
微机原理作业及参考答案Word文档格式.docx
《微机原理作业及参考答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《微机原理作业及参考答案Word文档格式.docx(34页珍藏版)》请在冰豆网上搜索。
[-Y]补的算法:
将[Y]补连同符号位一起按位取反加1
1-9试将下列各数转换成BCD码:
(1)(30)10
(2)(127)10
(3)00100010B(4)74H
(1)(30)10=(00110000)BCD
(2)(127)10=(000100100111)BCD
(3)00100010B=34=(00110100)BCD
(4)74H=(116)10=(000100010110)BCD
1-10下列各数代表什么ASCII字符:
(1)41H
(2)72H
(3)65H(4)20H
(1)41H=(01000001)2,代表字符A。
(2)72H=(01110010)2,代表字符r。
(3)65H=(01100101)2,代表字符e。
(4)20H=(32)10=(00100000)2,代表SP。
1-11写出下列字符的ASCII码:
9,*,=,!
,$
900111001
*00101010
=00111101
!
00100001
$00100001
1-19地址总线:
传递地址信息的总线
数据总线:
传输数据
控制总线:
传输控制信号,时序信号和状态信息
1-20指令:
人们规定计算机执行特定操作(加、减、乘、除、移位……)的命令。
指令系统:
计算机全部指令的集合
第二章80X86/Pentium微处理器(P90)
2-78086/8088有几位状态位?
有几位控制位?
其含义分别是什么?
答:
8086/8088有6位状态位,3位控制位。
状态位:
CF进位标志;
PF奇偶标志;
AF辅助进位标志;
ZF零标志;
SF符号标志,OF溢出标志。
控制位:
IF允许中断标志;
DF方向标志;
TF陷阱标志
2-15物理地址:
存储区域的某一单元地址,地址信息是20位二进制代码.CPU是以物理地址访问存储器.
逻辑地址:
编程时采用,由段基址和偏移量组成.8086CPU中的每个存储元在存储体中的位置都可以使用实际地址和逻辑地址来表示。
同一物理地址可对应多个逻辑地址
2-16段寄存器指示的存储区域的起始地址称为段基址,偏移量是在某段内指定存储单元到段基址的距离。
段基址和偏移量共同组成物理地址,物理地址PA=段基地址×
16+偏移量
2-17A0000H-AFFFFh
2-18B000H
2-20已知堆栈段寄存器SS=A000H,堆栈指示器SP=0100H,试将数据1234ABCDH推入堆栈,画出进栈示意图。
最后栈顶SP=?
SP=00FCH
物理地址0A00FCH---0A00FFH的内容依次为CD,AB,34,12.
SP:
堆栈栈顶指示器,16位寄存器,存放栈顶的偏移地址。
2-21试求出下列运算后的各个状态标志,并说明进位标志和溢出标志的区别。
(1)1278H+3469H
(2)54E3H-27A0H
(3)3881H+3597H
(4)01E3H-01E3H
解:
(1)0001001001111000
+0011010001101001
0100011011100001
CF=0PF=1AF=1ZF=0SF=0OF=0
(2)0101010011100011
+1101100001100000
10010110101000011
CF=0PF=0AF=0ZF=0SF=0OF=0
(3)0011100010000001
+0011010110010111
0110111000011000
CF=0PF=1AF=0ZF=0SF=0OF=0
(4)0000000111100011
+1111111000011101
10000000000000000
CF=0PF=1AF=0ZF=1SF=0OF=0
16位操作数的最低二进制位:
b0、最高二进制位:
b15
AF:
看b3是否向b4有进(借)位:
辅助进借位
对减法运算,若采用补码的加法进行,则CF取反。
第三章80X86/Pentium指令系统(P135)
3-4
(1)7237H
(2)D5B4H(3)637DH
寻址方式:
(1)MOVSI,2100H
(2)MOVCX,DISP[BX]
(3)MOV[SI],AX(4)ADCAX,[BX][SI]
(5)ANDAX,DX(6)MOVAX,[BX+10H]
(7)MOVAX,ES:
[BX](8)MOVAX,[BX+SI+20H]
(9)MOV[BP],CX(10)PUSHDS
地址表达式:
标号/变量/常量+基址寄存器+变址寄存器
[地址表达式]:
存储器操作数,以地址表达式的值为偏移地址
3-7(4)(10)(14)正确。
(1)AX=3355H,SP=1FFFEH
(2)AX=3355H,DX=4466H,SP=1FFFEH
3-12
(1)CL=0F6H
(2)CX=5678h
(3)BX=0056H,AX=1E40H
(4)SI=00F6H,[SI]=0024H
(5)AX=5678H,[09226H]=1234H
3-14
(1)MOVAX,0XORAX,AXSUBAX,AX
(2)MOVCL,4
RORBL,CL
(3)MOVAX,N1
MOVBX,N1
CWD;
对被除数进行符号扩展
IDIVBX
MOVM1,AX;
商放在AX中
MOVM2,DX;
余数放在DX中
(4)ANDBX,0F7AFH或OR0850H
(5)XORAX4020H
(6)TESTDX,0201H
(7)ORCX,1
3-17
NUM1DW4148H,2816H
NUM2DW2258H,8452H
(1)MOVAX,NUM2
ADDNUM1,AX
MOVAX,NUM2+2
ADDNUM1+2,AX
(2)RESDB2DUP(?
)
MOVAL,BYTEPTRNUM1
ADDAL,BYTEPTRNUM1+1
ADDAL,BYTEPTRNUM1+2
ADDAL,BYTEPTRNUM1+3
MOVRES,AL
(3)假设存放的数据为无符号数
MOVSI,OFFSETNUM1
XORAX,AX
MOVCX,8
LP:
ADDAL,[SI]
ADCAH,0
INCSI
LOOPLP
MOVRES+1,AH
假设存放的数据为带符号数
XORBX,BX
MOVAL,[SI]
CBW
ADDBX,AX
(4)MOVAX,NUM1
ADDNUM2,AX
MOVAX,NUM1+2
ADCNUM2+2,AX
3-18
(1)XORAX,AX;
AX清零
LEASI,NUM1
MOVCX,8
LOP:
ADDAL,[SI]
DAA
ADCAH,0;
AF清零
LOOPLOP
MOVRES,AL
MOVRES+1,AH
MOVAL,NUM1
SUBAL,NUM2
DAS
MOVRES,AL
差=90H;
CF=1
3-21
(1)BX=9AH
(2)BX=61H(3)BX=8071H
(4)BX=10F7H(5)BX=0FF1CH
3-22
3-23
(1)将自FIRST开始的存储区中的连续10个字节传送到从SECOND开始的存储区中。
(2)将自0404H开始的存储区中连续256个字节全部赋0值。
3-26MOVBX,0A80H
MOVAL,5
XLAT
3-27
(1)IP=1256H
(2)IP=3280H(3)IP=2450H
3-28
CS=2000H;
IP=009AH;
SP=0F178H;
[SP]=8FH
[SP+1]=3DH;
[SP+2]=50H;
[SP+3]=40H;
3-29
MOVBL,AL
CMPAL,01H
JZLAB1
CMPAL,02H
JZLAB2
CMPAL,04H
JZLAB3
ANDBL,07H
JNZOK
……
OK:
……
LAB1:
LAB2:
LAB3:
3-31
MOVAX,0032H
CMPAX,X
JLN_HIGH
MOVBX,X
SUBBX,Y
JOOVERFLOW
JNSNEXT
NEGBX
NEXT:
MOVRESULT,BX
N_HIGH:
OVERFLOW:
第四章汇编语言程序设计(P195)
4-2内存分配和预置数据
VAR1DB12,-12H,3DUP(0,0FFH)
VAR2DB100DUP(0,2DUP(1,2),0,3)
VAR3DB‘WELCOMETO’
VAR4DWVAR3+6;
取其偏移量给VAR4
VAR5DDVAR3;
取其偏移量和段基址给VAR5
4-3
(1)DATA1DB86H,27H,23H,00H,24H,1AH
(2)DATA2DW0B430H,1062H
(3)DATA3DB4DUP(20H),20,0,6DUP(1,2)
4-4
(1)2
(2)2
(3)1
(4)10
4-5
(1)VAR1的偏移量是0030H;
VAR2的偏移量是003AH
(2)CNT=0010H
(3)VAR2+2单元的内容是02H
4-10
DATASEGMENT
XDB4DUP(?
YDB4DUP(?
ZDB4DUP(?
),0;
定义X,Y,Z为字节变量
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAX,WORDPTRX[0]
ADDAX,WORDPTRY[0];
X,Y低16位相加
MOVWORDPTRZ[0],AX;
结果存入Z的低16位
MOVAX,WORDPTRX[2]
ADCAX,WORDPTRY[2];
X,Y高16位相加
MOVWORDPTRZ[2],AX;
结果存入Z的高16位
JNCOK
MOVAL,1
MOVZ+4,AL;
保存进位
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
4-11
);
MOVDL,0
MOVAX,WORDPTRX
SUBAX,WORDPTRY;
X,Y低16位相减
MOVWORDPTRZ,AX;
SBBAX,WORDPTRY[2];
JNOOK
MOVDL,-1;
溢出
4-12
(1)
DB100DUP(?
MESGDB'
ERRORINPUT!
$'
STARTPROCFAR
PUSHDS
MOVAX,0
PUSHAX
MOVAH,01H
INT21H;
从键盘输入一个字符,该字符ASCII码送入AL
CMPAL,41H
JBERROR
CMPAL,4AH
JAERROR
JEP0;
判断输入字符是为'
A'
则跳转到P0
...
JEP9;
J'
则跳转到P9
P0:
...
RET
P9:
ERROR:
MOVDX,OFFSETMESG
MOVAH,09H
输入字符非'
~'
则输出错误信息
STARTENDP
(2)
BASEDWP0,P1,P2,P3,P4,P5,P6,P7,P8,P9
STACKSEGMENTPARASTACK'
STACK'
DB100DUP(?
STACKENDS
MOVBX,0;
BX为跳转表BASE内寻址编号,清零
从键盘输入字符命令
JAERROR;
则跳转到ERROR
MOVBL,AL
SUBBL,41H;
得编号
SHLBX,1;
表内偏移量=编号*2
JMPBASE[BX];
查跳转表跳转到相应的子程序
输出错误信息
4-13
MOVGOOD,0
MOVPASS,0
MOVBAD,0
XORBX,BX;
bx存放全年级统计总成绩
XORSI,SI
MOVCX,100
LP:
MOVAH,BUF[SI]
CMPAH,85H
JAGS
CMPAH,60H
JAEPS
MOVAL,BAD
ADDAL,1
MOVBAD,AL
JMPAGAIN
GS:
MOVAL,GOOD
MOVGOOD,AL
PS:
MOVAL,PASS
MOVPASS,AL
AGAIN:
MOVAL,BL
ADDAL,AH
MOVAL,BH
ADCAL,0
MOVBH,AL
INCSI
LOOPLP
MOVAVRG,BH
4-15
FIRSTDB'
...$'
;
定义字符串
COUNTEQU100;
定义字符串长度
RESULTDW?
;
定义存放结果单元
MOVBX,OFFSETFIRST;
建立数据指针
MOVCX,COUNT;
设置循环次数
MOVDX,0;
清零计数器
CMPBYTEPTR[BX],'
JNZNEXT;
非'
则转到NEXT
INCDX;
是'
则计数器DX加1
INCBX;
调整数据指针
LOOPLP;
循环100次
MOVRESULT,DX;
结果存入RESULT
4-17
DATA_WDWX1,X2,…
COUNTEQU($-DATA_W)/2
COUT1DW0
COUT2DW0
COUT3DW0
MOVBX,OFFSETDATA_W;
CMPWORDPTR[BX],0
JGENEXT
INCCOUT2
JMPAGAIN
JGNEXT2
INCCOUT3
NEXT2:
INCCOUT1
INCBX;
INCBX
LOOPLP;
4-18
DATAESGMENT
ARRAYDBD1,D2,...,DN;
定义字节数组
COUNTEQU$-ARRAY;
字节数组长度赋予符号名COUNT
MAXDB?
MINDB?
DB100DUP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 作业 参考答案
![提示](https://static.bdocx.com/images/bang_tan.gif)