63书上主要习题解Word文档格式.docx
- 文档编号:17596109
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:20
- 大小:29.92KB
63书上主要习题解Word文档格式.docx
《63书上主要习题解Word文档格式.docx》由会员分享,可在线阅读,更多相关《63书上主要习题解Word文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
4.操作符由控制器译码器解释执行,伪操作符由汇编程序(翻译程序)解释执行。
5.转移指令后的标号是偏移地址。
只有当应用该标号的转移指令位置确定后,在该指令地址正负128范围内的标号是短转移,类型是字节,在16位二进制数之内是段内的字类型,超出16位二进制数之外的是段间转移,是双字类型。
6.
(1)DB20,20DUP(0)
(2)DB“Thecourseiseasy”,0
(3)DB“hello….!
!
”,0dh,0ah,”$”
(4)DW100DUP(0)
11.数据定义语句表示,16进制书写。
寻址方式包括立即数、直接、间接寻址等多种。
逻辑地址。
12.指令格式包括操作码、操作数(或地址)两部分,这里的操作数不一定就是要处理的那个数据,也可以是那个数据的地址或寄存器等,是找到那个数的寻址方式。
而参加操作的数据就是指具体的数据。
13.判断操作数的寻址方式是否正确?
说明原因。
•
(1)[AX];
例如MOVBL,[AX];
错,AX不是地址寄存器
•
(2)BP;
例如MOVAX,BP;
正确,寄存器寻址
•(3)[SI+DI];
例如MOVAL,[SI+DI]错,不能有2个变址寄存器
•(4)[SP];
例如MOVAL,[SP],错,不能用堆栈指针,堆栈指针只能由堆栈指令操作
•(5)CS;
例如MOVAX,CS;
•(6)BH;
例如MOVAL,BH;
•(7)[BX+BP+32];
例如MOVAL,[BX+BP+32];
错,不能有2个基地址寄存器
•(8)[BL+44];
例如MOVAL,[BL+44];
错,BL不是完整的地址寄存器
•(9)[CX+90];
例如MOVAL,[CX+90];
错,CX不是地址寄存器
•(10)[DX];
例如MOVAL,[DX];
错,DX不是地址寄存器
•(11)BX+90H;
例如MOVAX,BX+90H;
错,不能加
•(12)[BX*4];
例如MOVAL,[BX*4];
错,不能乘
•(13)SI[100H];
例如MOVAX,SI[100H];
正确,相对变址寻址,但写法不好,最好是MOVAX,[SI+100H],MOVAX,100[SI]
•(14)[DX+90H];
例如MOVAX,[DX+90H];
14题
•假定DS=2000H
•ES=2100H
•SS=1500H
•SI=00A0H
•BX=0100H
•BP=0010H
•数据变量wVald的偏移地址为0050H
•指出下列指令源操作数的寻址方式?
•
(1)MOVAX,0ABH;
立即数寻址
•
(2)MOVAX,[100H];
直接寻址
•(3)MOVAX,wVald;
直接寻址,等于MOVAX,[0050H]
•(4)MOVBX,[SI];
寄存器间接寻址
•(5)MOVAX,wVald[BX];
相对寄存器寻址,等于MOVAX,[BX+0050H]
•(6)MOVCL,[BX][SI];
基址加变址寻址
•(7)MOVwVald[SI],BX;
源是寄存器寻址,目是相对基址加变址寻址,等于MOV[SI+0050H],BX
•(8)MOV[BP][SI],100;
源是立即数,相对基址加变址寻址
•错,应该是MOVWORD[SI+BP],100;
说明是字或字节
15.已知:
SS=0FF10H,SP=00A0H.
•将8057H和0F79H入栈,再弹出一个数,画出堆栈区的变化。
•程序举例:
•MOVAX,FF10H
•MOVSS,AX
•MOVAX,00A0H
•MOVSP,AX
•MOVAX,8057H
•PUSHAX
•MOVAX,0F79H
•POPBX
•答:
已知SS+SP=FF100+00A0=FF1A0H
•结果SP=009EH
•入堆栈时,堆栈指针SP先减2,再压栈
•出堆栈时,先弹出2个字节的,然后堆栈指针SP加2
栈的数据:
•FF198
•FF19A
•FF19C0F79
•FF19E0557
•FF1A0;
栈底
•或用字节地址看
•FF199
•FF19B0F
•FF19C79
•FF19D05
•FF19E57
•FF19F
栈底
23.试编程序。
将内存从40000H到4AFFFH的每个单元中均写入20H,再逐个单元读出比较,看写入的与读出的是否一致。
若全对,则将AL置0FFH;
只要有错,则将AL置00H。
•参考程序:
(仅提供小汇编语句)
•
•MOVAX,4000H
•MOVDS,AX
•MOVBX,0
•MOVCX,AFFFH
•MOVAL,20H
•L1:
MOV[BX],AL
•CMP[BX],AL
•JNZERROR
•INCBX
•DECCX
•JNZL1
•MOVAL,FFH
•JMPEND1
•ERROR:
MOVAL,0
•END1:
RET
20.按下列要求编写指令序列
•1)清除DH中的最低三位而不改变其他位,结果存入DL中;
•ANDDH,F8H
•MOVDL,DH
•2)把DI中的最高4位置1而不改变其他位;
•ORDI,F000H
•3)把AX中的0-3位置1,7-9位取反,13-15位置0;
•ORAX,000FH
•XORAX,0000001110000000B;
用二进制表示数
•ANDAX,0001111111111111B
•4)测试BX中的第2、5和9位中是否有一位为1;
•TESTBX,0000001000100100B
•JZ全0
•否则,结果非0表示至少有一个1
•5)测试CX中的第1、6和11位是否同时为1;
•MOVAX,CX
•ANDAX,0000100001000010B
•CMPAX,0000100001000010B
•JE等于转,表示3位全为1。
•6)测试AX中的第0、2、9和13位中是否有一位为0;
•ANDAX,0010001000000101;
只看这4位
•XORAX,0010001000000101
•JZ;
说明是全1,没有0
•至少1个0
•7)测试DX中的第1、4、11和14位是否同时为0;
•MOVAX,DX
•ANDAX,0100100000010010B
•JZ=0
•MOVAX,4000H
•MOVAL,20H
MOV[BX],AL
24.设变量单元A、B、C存放有3个数,若3个数都不为零,则求3个数的和,存放在D中;
若有一个零,则将其余两个也清零,试编写程序。
先用机器指令编程(用小汇编编程)
•实现此功能的程序方法很多,这里只举一个简单直观的例子。
•设:
变量A、B、C变量存放在1000H开始的单元中,即:
•变量A存放在当前段的1000H单元,
•变量B在1001H单元,
•变量C在1002H单元。
•结果D的地址为1003H单元。
•MOVBX,1000H
MOVAL,[BX]
CMPAL,0;
第一个数A=0?
•JNZL1;
非0转
•MOV[BX+1],AL;
其余2个清0
•MOV[BX+2],AL
MOVAL,[BX+1];
;
第2个数B=0?
•CMPAL,0
•JNZL2;
•MOV[BX],AL
•L2:
MOVAL,[BX+2];
第3个数C=0?
•JNZL3;
•MOV[BX+1],AL
•L3:
MOVAL,[BX];
3个数都不为零,求3个数的和
•ADDAL,[BX+1]
•ADDAL,[BX+2]
•MOV[BX+3],AL
INT3;
结束,断点,停在此
26.试编写程序,统计由40000H开始的16K个单元中所存放的字符A的个数,并将结果存放在DX中。
•MOVAX,4000H
•MOVBX,0
•MOVCX,4000H;
16K个数
•MOVDX,0;
用DX记录A的个数
•CMPAL,41H;
CMPAL,’A’
•JNZL2
•INCDX;
累加器+1
•L2:
INCBX
•DECCX;
(LOOPL1)
30题。
键盘输入10个数,变成密码后存到BUFF缓冲区去。
设密码缓冲区首地址=120H,加密后的数字缓冲区BUFF首地址=130H(仅提供小汇编语句)
•MOVSI,120H;
密码缓冲区首地址=120H
•MOVDI,130H;
加密后的数字缓冲区首地址=130H
•MOVCX,0AH;
共10个数字
•MOVBX,0;
偏移地址清0
•L1:
MOVAH,1
•INT21H;
等待输入一个数字
•CMPAL,0DH;
是回车?
•JZEND1
•ANDAL,0FH;
留下低4位
•MOVBL,AL
•MOVAL,[SI+BX];
取1个数字的密码
•MOV[DI],AL;
送加密缓冲区
•INCDI
•END1:
结束
•120DB7591368024
第五章169页
1.因为引脚不够,采用了复用技术,在外部必须用锁存器分开地址和数据线。
主要是地址信息。
2.MEMR=1,MEMW=0,IOR=1,IOW=1.。
反之,MEMR=0,MEMW=1,IOR=1,IOW=1。
3.地址数据线分时用,还有S0-S6,主要解决引脚不够的问题。
4.总线周期包括4个时钟周期,但存储器速度慢时,需要插入等待周期Tw。
插入多少个由存储器的读写时间来决定。
一般是1-2个。
5.复位后,只有CS=ffffh,其余都是0,系统从FFFF:
0000=FFFF0H单元开始执行。
第六章191页
1.尽管E2PROM速度已经很快,但还是跟不上CPU随机读写的速度,另外,E2PROM是快写,不能当RAM用。
2.E2PROM是电信号擦除,擦写速度快,可以在线擦除与改写。
EPROME是紫外线擦除,需要从电路板上取下来,紫外光照射10分钟,用专门的编程工具才能编程。
E2PROM的优点是可以在线编程,编程速度快,但容易被病毒利用。
计算机BIOS必须放在EPROME中,才能避免病毒破坏。
3.正比关系。
5.译码电路。
7.如果少用最高位2根地址线,重复空间有22=4块,。
少用x根地址线,重复空间有2x块。
。
9.
(1)需128片。
10.
11.
12.
13.MOVAX,[2001H]不好,多用一个总线周期。
慢。
14.
15.A1A0不参加译码。
16.2,4,8字节。
第7章208页
1题
标准化的目的统一规范,便于分散生产、组装、维修替换等。
需要规定信号线引脚数目,引脚功能,引脚性能,尺寸,信号名称,信号电平,时序,协议等。
2题
微机总线发展的目的是为了跟的上CPU的发展,例如CPU位数的发展,CPU速度的发展,支持新的组织方式,支持更高的传输速率等等。
3题
PC是8位,ISA是16位,EISA是32位,PCI是32-64位
4题
1)位数32-64位,宽2-4倍;
2)速度快的多,ISA是16MBPS位,PCI起点256MBPS,
3)具有即插即用性。
自动配置驱动程序;
4)PCI引入局部总线,可使总线分多层,例如3层。
分别适应不同速度的设备。
5题
局部总线,局部传输数据用的总线,例如目前的微机使用多级总线,
各级总线多层,例如3层。
6题
VESA是早期的32位总线,已淘汰,单点通信,PCI可以多设备。
7题
RS-232串行通信接口使用25针的插头和9针的插头。
针对终端设备DTE(例如另一台微机)和通信设备DCE(例如MODEM)
设计的。
可以和任意DTE、DCE设备连接。
8题
USB电缆最大长度5米,最多连接27-1=127个设备。
IEEE-1394最多连接26-1=63个设备。
第八章
1题
数据线、地址线、片选、读写控制线。
物理连接,可编程寄存器。
锁存器与三态门都需要。
输出数据需要锁存,稳定的输出。
输入是也要锁存,同时必须使用三态门,使得没有被选中时不要干涉总线。
问,8255有锁存器与三态门吗?
输出端例如接8个指示灯,需要三态门吗?
I/O设备的控制信息、状态信息也是经过数据线传送的。
例如:
INAL,60H;
取来的可以是数据或状态;
OUT61H,AL;
输出的可以是数据或控制信息
输出口用不带三态门的锁存器273即可
输入口用带三态门的锁存器373
通过指令INAL,61H
执行时,1)CPU送出口地址61H,选中61H口;
2)CPU发出IOR信号,打开61H口;
3)外部的8个开关代表的数就取到了AL寄存器中。
需要做一下
23题MOVAL,36H,
OUTD3H,AL
MOVAX,0064H;
注意是0064H
OUTD0H,AL,
MOVAL,AH,
OUTD0H,AL
MOVAL,B0H,
MOVAX,0032H,
OUTD2H,AL,
MOVAL,AH,
OUTD2H,AL
24题可以用中断方式或程序控制方式实现。
如果用程序控制方式,假设8255的A口接8个指示灯,B口PB7位做8254定时时间到的OUT输出线,设8255的口地址=60H,设8254的口地址=40H,
设用8254的计数器1,工作在方式3方波发生器,
已知CLK1=1000HZ,即Tclk=1/1000=1ms,希望输出T=1s,
分频系数=1s/1ms=1000。
主程序:
MOVAL,82H;
8255编程,A方式0出,B方式0入,C出;
OUT63H,AL;
MOVAL,77H;
8254计数器1方式3;
BCD计数;
OUTD3H,AL;
;
MOVAX,1000H;
输出分频系数
OUTD1H,AL;
MOVAL,AH
OUTD1H,AL
MOVBL,01H
L1:
INAL,61H;
取来B口的状态
ANDAL,80H;
看8254定时时间到的OUT线=1?
JZL1;
=0等待
L2:
MOVAL,BL;
=1,输出1个灯亮
OUT60H,AL;
一个灯亮
ROLBL,1;
左循环移1位
L3:
INAL,61H;
看8254定时时间到的OUT线=0?
JNZL3;
=1等待
JMPL1;
27题,异步方式每个字节都需要加起始位、停止位等,传输效率就低了,单位时间传输的字符数就就低了。
同步方式每个字节可以不要起始位、停止位及校验位,直接连续传数据,效率高。
单位时间内传输的字节数就多了。
28题,先运行接收方程序。
29题,(仅供参考,基本意思到位就可以了,是否先复位等不要紧)
MOVCX,3
MOVAL,0
ST1:
OUT52H,AL;
先送3个0,复位
DECCX
JNZST1
MOVAL,40H
OUT52H,AL;
复位8251
MOVAL,11111010B;
2停止位,偶校,7数据,波特率因子16
OUT52H,AL
MOVAL,00010111B;
出错标志复位,允许收,数据准备好,允许发。
30题、已知一秒钟传输1200bps/10位格式=120Byte,传1024字节需要1024/120B=8.53秒。
第九章
1题、显示“5”的7段码是1011011=5BH
2题,这道题不用改了,原题不好。
3题。
(仅供参考方法不唯一,基本意思到位就可以了)
L1:
INAL,20H
CMPAL,0;
有按键?
没有就等待
JZL1
INAL,20H;
取来按键的键号
MOVCX,8;
共8个键
MOVBL,1;
初值1
L2:
SHRAL,1;
右移一位,最低位到进位位。
JCL3;
INCBL
JNZL2
MOVAL,BL
OUT20H,AL;
显示
7题、行频=262x60=15700HZ
8题、原题是32K色,即15位色,考虑15位不是整数,不好计算,题改成24位色,3个8位表示一个点的颜色。
满屏共1024x768个点。
每个点用3字节二进制表示它的颜色。
故:
1)显示缓存应该有1024x768x3=2359296个单元,
2)设(x,y)坐标为列、行坐标,即x是列坐标。
y是行坐标。
从第0行0列开始。
(x,y)坐标的点在显示存储器中对应的单元为(1024y+x)x3。
第十章
2题、已知端口地址为2F7H,
锯齿波:
MOVDX,2F7H,
L0:
OUTDX,AL
INCAL
JMPL0
3题、ALE和START信号是用户的OU
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 63 书上 主要 习题
![提示](https://static.bdocx.com/images/bang_tan.gif)