1. 汇编语言
****因为格式问题,有些不完整,有电子邮箱吗?我将原题发给你。
第一章 计算机基础知识练习题
1.试将下列二进制数转换成相应的十六进制数和十进制数。
(1)0.1101B (3)101.101B (5)1100010.10101B
(2)1.1011B (4)11010111B (6)1110101.1101B
2.试将下面十进数转换成相应的二进制数和十六进制数。
(1)0.6875 (3)1717.111 (5)1992.49
(2)44.913 (4)240.97 (6)63.786
3.试写出下列真值所对应的机器数。
(1)+1010011B (3)+0101110B
(2)-1011010B (4)-0111100B
4.试写出下列机器所对应的真值。
(1)11000000B (3)01011011B
(2)01111111B (4)11111111B
5.已知X,试求[X]原、[X]反及[X]补。
(1)X=+1001101B (4)X=+1111111B (7)X=-1111111B
(2)X=+0001110B (5)X=1011001B (8)X=-1010101B
(3)X=+1101000B (6)X=-0100111B
6.已知X及Y,试计算[X+Y]补及[X-Y]补并指出是否产生溢出(设补码均用8位表示)。
(1)X=+1001110B,Y=+0010110B (3)X=-0101110B,Y=+0111011B
(2)X=+0101101B,Y=-1100100B (4)X=-1000101B,Y=-0110011B
7.被乘数X,乘数Y均为无符号数,试用部分积右移算法求其乘积Z。
(1)X=1010B,Y=0110B (3)X=0111B,Y=1001B
(2)X=0101B,Y=1101B (4)X=1100B,Y=1111B
8.试述冯.诺依曼型计算机的设计思想。
9.冯.诺依曼型计算机由哪五个功能部件组成?各功能部件的作用如何?
10.何谓“总线”?它有哪几类?它们的主要功能是什么?
11.根据图1说明RAM的读出及写入过程。
12.说明下列各部件的作用:
(1)程序计数器PC (3)指令操作码译码器ID
(2)指令寄存器IR (4)微操作控制电路
13.根据图2试说明控制器的工作原理。
14.不论是指令还是数据均以二进数代码形式存放在存储器中,试问计算机如何知道从存储器取出的是指令还是操作数?
15.设(PC)=01H,(01H)=01011000B。如01011000B为传送指令的机器代码(前四位为操作码,后四位为地址码),其功能是将累加器A的内容送至存储器08H单元。根据图3试说明此指令从取出到执行的全过程。
第二章 MCS-51系列单片计算机练习题
1.为什么称单片机为嵌入式控制器?
2.单片机的系列化是什么意思?
3.MCS-51单片机有哪几种类型?各有什么特点?
4.MCS-51单片机的核心电路是由哪些部分组成?各部分的主要功能是什么?
5.简述PC,PSW,DPTR和累加器A的作用。
6.数据堆栈的特点是什么?堆栈指针SP的地址在哪里?单片机初始化后,把“SP初始化为07H”是什么意思?
7.MCS-51系列单片机片内ROM与片外扩展ROM的存储空间的关系是什么?片内RAM与片外扩展RAM的存储空间的关系是什么?
8.8051的片内RAM分哪三个部分?各部分在使用上有何特点?
9.试写出以下位地址所在的字节地址:20H,7FH,FO,CY,OV。
10.试述8051单片机状态控制字PSW各位的作用。
11.什么叫位寻址?8051有哪些存储空间可以位寻址?
12.试述8051单片机P0~P3端口的地址及端口的含义。
13.单片机“准双向口”是什么意思?
14.定时器/计数器的主要功能是什么?
15.简述8051单片机下列引脚信号的作用: , , , , 。
16.时钟周期,机器周期,指令周期之间有何关系?
17.什么叫取指周期?三字节指令需要执行几个机器周期?
18.单字节双周期指令和双字节单周期指令执行时序有何不同?
19.8051单片机进入内部复位状态的条件是什么?“复位”的含义是什么?
20.8051有哪两种低功耗工作方式?进入和退出掉电方式的条件是什么?
第三章 MCS-51系列单片机扩展技术练习题
1.半导体存储器在微机中的作用是什么?
2.试说明下列名词的含义:字节,字节地址。
3.试述单片机扩展外部存储器的三总线连接方法。
4.简述8031访问外部数据存储器(包括取指操作)的全过程。
5.试述存储器的读周期时序与单片机对外部存储器的读操作时序有什么不同?
6.在图4中:(1)使6116的地址分布为0000H~07FFH,2764的地址分布为4000H~5FFFH,电路应如何连接?(2)若用A15作为译码线,2764和6116的地址分布如何?
7.试画出8031扩展外部32KBSRAM和32KBEPROM(选用27256和62256芯片,实行统一编址)的电路图,并写出每块的地址分布。
8.在图5中,欲使27128的地址分布为2000H~5FFFH,译码线的连接应如何改动?
9.试画出8031扩展外部64KBSRAM和64KBEPROM(选用2764和6264芯片,采用74LS138译码器连接)的电路图,并写出每块芯片的地址分布。
10.试述对EPROM存储器芯片及EPROM型单片机器件的编程条件。
11.为什么说掉电检测电路能使器件尽快进入低功耗状态?
第四章 MCS-51指令系统及程序设计练习题
1.指出下列每一条指令的寻址方式及其完成的操作。
a MOV 2FH,#40H b MOV A,@R1
c MOV A,2FH d MOV 2FH,A
e MOV R1,#2FH
2.内部RAM的4FH单元,可用哪几种方式寻址?分别举例说明。
3.特殊功能寄存器可用哪几种方式寻址?分别举例说明。
4.编程:将立即数55H送入内部RAM的40H单元。
(1)用立即寻址 (3)用寄存器寻址
(2)用直接寻址 (4)用寄存器间接寻址
5.用指令实现下述数据传送
(1)内部RAM20H送内部RAM40H (4)外部RAM2000H送内部RAM20H
(2)外部RAM20H送R0 (5)外部ROM2000H送内部RAM20H
(3)外部RAM20H送内部RAM20H (6)外部ROM2000H送外部RAM20H
6.指出下列指令的执行结果,并写出每条指令的机器码。
a MOV 30H,#52H b MOV R0,#30H
c MOV A,#70H d MOV A,@R0
e MOV A,30H
7.指出在下列各条指令中,45H代表什么?MOV A,#45H
a MOV A,45H b MOV 45H,#45H
c MOV 45H,4 d MOV C,45H
8.分析下列指令的执行结果,并写出每条指令的机器码。
a MOV A,#10H d MOV 20H,#30H
b MOV DPTR,#2020H e MOV R0,#20H
c MOV @DPTR,A f MOVX A,@R0
9.试编程实现内部RAM的25H单元与55单元的数据交换。
10.编程实现外部RAM2040H单元的内容与3040H单元内容互换。
11.分析以下程序的执行过程,并绘出执行过程示意图。
MOV A,#30H MOV DPTR,#4000H
MOV SP,#55H MOV A,#22H
MOV DPTR,#2000H MOVX @DPTR,A
PUSH DPL POP A
PUSH DPH POP DPH
PUSH A POP DPL
12.指出以下程序每一条的执行结果。
MOV A,#25H ADD A,R2
MOV R2,#33H ADDC A,@R1
MOV 40H,#1AH ADDC A,40H
MOV R1,#40H
13.试编程实现两个无符号16位数的减法,被减数和减数分别存放在DATA1和DATA2为首址的内部RAM中,低位在先,高位在后,差存于R3(低8位)和R4(高8位)中。
14.指出以下程序每一条指令的执行结果。
MOV A,#0F0H ORL 30H,#BDH
CPL A XRL 30H,A
ANL 30H,#00H
15.指出以下程序每一条指令的执行结果。设(C)=0。
MOV A,#0AAH CPL A
CPL A RRC A
RLC A RR A
RL A
16.若(A)=7AH,分别执行下列指令后,A的值是多少?标志位CY和OV的值各是什么?
(1)ANL A,#0FFH (4)ORL A,#00H
(2)ORL A,#0FFH (5)XRL A,#0FFH
(3)ANL A,#00H (6)XRL A,#00H
17.若外部RAM的(2000H)=X,(2001H)=Y,编程实现Z=3X+2Y,结果存入内部RAM的20H单元(设Z<255)。
18.在外部RAM的2040H~2043H个存储单元中,存有01,02,03,04四个数,试编程将它们传送到内部RAM的30H~33H单元。
19.试对内部RAM20H单元的内容进行判断,若为正数转向2100H;若为负数转向2200H;若为0转向2300H。
20.若(SP)=25H,(PC)=2345H,标号LABEL代表的地址为3456H,试判断下面两条指令的正确性,并说明原因。
(1)LCALL LABEL (2)ACALL LABEL
21.汇编语言程序设计分哪几个步骤?
22.试分别说明采用高级语言及汇编语言编程的优缺点。
23.采用程序流程图有什么好处?存在哪些不足之处?
24.什么叫“伪指令”?伪指令与指令有什么区别?
25.MCS-51系列单片机有哪几条伪指令?它们的用途是什么?
26.基本程序结构有哪几部分构成?各有什么特点?
27.循环程序由哪几部分构成?若要优化循环程序,首先该优化哪一部分?为什么?
28.何谓“子程序”?对子程序设计有什么要求?何谓子程序的“通用性、可浮动性”?
29.子程序设计分哪几个步骤?设计时的注意事项是什么?
30.何谓“参数传递”?参数传递有哪几种方式?
31.试对下列程序进行人工汇编并用流程图说明此程序的功能。
ORG 2000H ADDC A,@R1
ACADDI: MOV R0,#25H MOV @R1,A
MOV R1,#28H DEC R0
MOV R2,#06H DEC R1
CLR C DLNZ R2,LOOP
CLR A SJMP $
LOOP: MOV A,@R0 END
32.设一带符号的十六位数以补码形式存放在R2,R3寄存器中。试编制求其原码的程序。
33.试编制实现ASCII码转换为十进制数的程序。在8031单片机片内RAM的40H单元中存放一代码,若此代码为十进制数的ASCII码,则将其相应的十进制数送片内RAM50H单元;否则将该单元置成0FFH。
34.设变量X存放在8031单片机片内RAM的24H单元,试编制按照下式的要求给Y赋值(Y为片内RAM的25H单元)的程序。
35.根据下列要求,试分别编制相应的数据块传送程序。
(1)将存放在8031单片机内部RAM中,首址为20H,长度为30H的数据块,传送到片内RAM以40H为首址的连续单元中。
(2)将存放在8031单片机内部RAM中,首址为20H,长度为50H的数据块,传送到片外RAM以20H为首址的单元中。如将目标首址改为片外RAM的1000H,试问程序应作何修改?
36.设有一个不带符号的十六进制数组,存放在8031单片机片内RAM以BUFFER为首址的连续单元中,其长度为30个字节,要求统计小于10、等于10及大于10的数的个数,并将它们分别存放到片内RAM的LESS,EQUAL及LESS单元中,试编制实现上述要求的程序并画出相应的流程图。
37.设有一数组存放在8031单片机内部RAM以FIRST+1为首址的连续单元,其长度存放在FIRST单元中而且不为0。要求统计该数组中正偶数及负奇数的个数并将它们分别存放在PSPE单元及NAOE单元中。试编制实现上述要求的程序并画出相应的流程图。
38.设有50个无符号8位二进制数,存放在8031单片机内部RAM以BOFFER为首地址的连续单元中,试编制将其中最小数存放到内部RAM的MIN单元的程序并画出相应的流程。
39.设有一字符串存放在8031单片机内部RAM以START为首址的连续单元中,字符串是以回车(回车CR=0DH)结束,试编制将该字符串中最后一个非空格字符的地址送内部RAM的LAST单元的程序并画出相应流程图(空格΄ ΄=20H)。
40.设有两长度均为20H的字符串SA和SB分别存放在单片机内RAM以20H及40H为首址的连续单元中,要求当SA>SB时,将内部RAM的60H单元清0;当SA≤SB时将该单元置全1。试编制实现上述要求的程序并画出相应的流程图。
41.设一字符串存放在8031单片机内部RAM以20H为首址的连续单元中,字符串以回车结束.要求统计该字符串中字符B(B的ASCII码为42H)的个数,并将其存入外部RAM的40H单元中,试编写实现上述要求的程序并画出相应的流程。
42.试编写延时30ms的延时程序。
43.设有三个不带符号的8位二进制数a、b、c分别存放在8031单片机内RAM的30H,31H及32H单元中,要求计算Y=(a+b)2+(b+c)2+(c+a)2(设Y<256),并将结果Y存入内部RAM的33H单元。试用调用子程序的方法编写实现上述要求的程序。
44.设被加数NA及加数NB均为三字节的BCD码,分别存放在8031单片机内部RAM中20H~22H及30H~32H单元中。要求计算两数之和并将其和存放到内部RAM中3FH~42H单元,试编制相应的程序。
45.设有一长度为20H的字符串,存放在8031单片机片内RAM以30H为首地址的连续单元中,试编制将其中数字与字母分开并将它们分别送到以50H和70H为首地址的连续单元中的程序。
46.设在片内RAM的20H单元中存放一数码,其值范围为0~200,要求用查表法求此数的平方值并将结果存入片外RAM的20H,21H单元中,试编制相应的程序。
47.设某班级共有学生三十名,本学期考四门课程,分别为高等数学、普通物理、英语及马列主义哲学,所有学生各门课程的成绩均为己知,要求将某学生(该学生的学号已键入至累加器A中)的上述四门课程成绩依次存入片内RAM的30H~33H单元,试编写相应的程序。
48.设在8031单片机外部RAM从1000H单元开始存放100个无符号8位二进制数,要求将它们从小到大依次存入片内RAM从10H单元开始的存储器中,试编制相应的程序并画出其流程图。
第五章 中断系统练习题
1.名词解释
(1)中断 (3)中断系统 (5)中断嵌套
(2)中断源 (4)中断优先(级) (6)中断屏蔽
2.试述中断的作用及中断的全过程。
3.利用中断方式进行数据传送能否节省数据传送的时间?为什么?
4.软件排队判优和硬件排队判优各有什么优缺点?
5.当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,试问在什么情况下可响应新的中断请求?在什么情况下不能响应新的中断请求?
6.在8031单片机中有哪几个中断源?有几个中断优先级?中断系统按什么顺序响应各中断源的中断请求?
7.在MCS-51系列单片机中,外部中断源有几种触发中断请求的方法?如何实现中断请求?
8.在8031单片机应用系统中有8个外部中断源,此时如有中断请求怎样通知单片机?8031单片机又如何为它们服务?试画出所需硬件框图及处理程序的流程。
9.在MCS-51系列单片机中各中断源的中断处理程序的入口地址是否可由用户直接指定?当中断源的中断处理程序的长度大于8个字节时应作如何处理?
10.在中断处理程序中如PUSH,POP指令不是成对使用时,能否返回断点?为什么?
第六章 微机的输入/输出练习题
1.I/O接口电路的作用是什么?什么叫端口?它的作用是什么?
2.I/O寻址方式有哪几种?各有什么优缺点?MCS-51系列单片机采用哪种寻址方式?
3.主机与外部设备的数据传送方式有哪几种?试说明它们的各自的优缺点并指出各种数据传送方式的适用场合。
4.试利用8031单片机内部的定时器/计数器实现半分钟的定时。
5.设单片机的时钟频率为12MHz,若内部RAM的30H单元中的内容为55H,则内部定时器的定时值为30ms;否则定时值为15ms,试根据此要求对内部定时器进行初始化。
6.有一方波发生器,其频率为5KHz~10KHz范围内连续可调,要求显示方波发生器输出方波的周期,试设计显示接口并编写相应的程序。
第七章 微机的常用输入/输出设备练习题
1.设有一键盘,其输出的按键ASCII码通过图6的接口送至8031单片机,现键入一命令字(由6个字符所组成),要求将此命令存入在内部RAM以20H为首地址的连续单元中。试按此要求编写相应的程序。
2.根据图7所示的接口电路,要求将8031单片机内部RAM中以30H为首地址的连续30H个单元中的数据输至外设。试按上述要求编写相应的程序。
3.有一采用8255A芯片的接口电路,用它的PA口作输入,在其每根口线上接一个按钮开关;PB口作输出,在其每根口线上接一个驱动器驱动LED,按钮开关与LED一一对应,要求当某开关按下时,相应位的LED亮1秒钟,试根据上述要求画出接口电路并编写相应的程序。
4.若上题中PB口通过驱动器与一七段LED显示器相连,要求当8个开关的状态为10100110B时,七段LED显示器显示8;当按键开关处于其它状态时,则显示0。试编制相应的程序。
5.根据下述要求设计打印机接口;要求:(1)用8255A芯片将主机与打印机连接且主机与打印机之间采用中断方式进行数据传送;(2)将内部RAM中以40H为首地址的连续100个单元中的内容打印输出。
6.单片机应用系统采用图8所示的接口电路,8155的PA口作输出口,PB口作输入口,TIMERIN输入脉冲,其周期为1µs,TIMEROUT输出连续方波,其周期为2ms,试对8155A初始化编程。
7.设在8031单片机内部RAM的45H单元中存放一无符号数,若该单元的内容小于或等于9,则要求图9中的LED亮1秒钟,若该单元内容大于9且小于16时LED亮3秒钟,若该单元内容大于等于16时LED不亮,试编制相应的程序。
8.要求将存放在8031单片机内部RAM中30H及31H单元中的四位BCD码在图10所示的接口电路中从右到左显示出来,试编写相应的程序。
9.要求在图11的动态扫描显示器中进行8字闪烁显示。即6个显示器同时显示“8”1秒,暗1秒,不断重复,试编写相应的程序。
10.根据图11试编写七段LED显示器的测试程序(即用软件测试每一个七段LED的好坏,该亮的段应亮,该暗的段应暗)。
11.设在8031单片机内RAM的50H单元中存放一个ASCII码。若其内容为0~9的ASCII码,则在图11所示的接口电路中从左到右不断地依次显示8;否则不断地依次显示4。
12.根据图12所示的拨盘接口,要求将这4片拨盘所输入的数据从左到右的次序存入内部RAM以50H为首地址的连续4个单元中,试按此要求编写相应的程序。
第八章 过程I/O通道练习题
1.什么叫模拟量?什么叫数字量?它们之间相互转换的过程如何?
2.试述T型解码网络D/A转换器的基本工作原理。
3.10位数字量输入的D/A转换器满量程为5V时,1 LSB对应的模拟量变化是多少?
4.线性误差和分辨率都可以用LSB来表示,在这两种情况下,它们的含义有何区别?
5.试述DAC0832的内部结构,它如何实现输入数字量的二级缓冲?
6.在数模转换器中,参考电压VREF和工作电压VCC的本质区别是什么?
7.试画出8031与DAC0832单缓冲连接的第三种电路(除书中介绍的两种以外),并采用8位地址编程:把内部RAM的30H单元内容输出转换。
8.按图13编写同时进行两路数/模转换输出的程序段,设需要转换的数据在内部RAM的DATA1和DATA2存储单元中。
9.现有参考电压VREF=+5V,欲通过D/A转换获得约+5V(+4.98V)的输出电压,应采用何种连接电路?转换的数字量应是多少?
10.参照图14编程产生如图所示的阶梯波波形,设△t=1ms,△V=10mV,阶梯波的级数N=10。
11.试述逐位比较法A/D转换器的基本工作原理。
12.ADC0809与DAC0832的参考电压在转换中的作用有何不同?
13.参照图8-21,使用8031内部定时器产生定时,每一秒采集一路模拟信号,试写出对8路模拟信号顺序采集一次的程序。
14.电路同上题,但只对通道0采集一次,设采集的模拟信号为0~600℃的温度值(输入信号0~5V的电压值)。试将采集后的数据转变成对应的温度值,并存入以DARA为首址(在内部RAM中)的存储单元中。
15.参照图8-21,编程采集(软件延时)通道0的输入模拟量,连续采集5次,计算其平均值,若平均值大于80H,或小于20H,则从P1.2口线输出“1”,否则,该口线输出“0”。
16.参照图8-21,采用查询方式,编写采集64次模拟量的程序段,采集的数据放入以R0为间接地址的内部数据存储区。
17.利用D/A转换器产生一正向增长的锯齿波,要求周期为10ms(由软件延时获得),试编写此程序段。
18.试画出8031与一片DAC0832,一片ADC0809的连接电路,并编程采集通道7的模拟量,将其除2后,再通过0832转换输出。
19.为提高模/数转换装置的性能,通常可以采取哪些技术措施?
20.异步串行通信和同步串行通信的主要区别是什么?
21.简述UART的主要功能。
22.试述UART在异步串行通信方式下接收数据的字符同步过程。
23.简述MCS-51串行口的外部特征及内部主要组成。
24.试述MCS-51串行口在四种工作方式下的字符格式。
25.试述在串行口控制寄存器SCON中,TB8和RB8的作用以及它们在不同方式下的装载过程。
26.试述串行口在四种工作方式下发送和接收数据的基本条件。
27.试述串行口四种工作方式波特率的产生方式。
28.试用查询方式编写一数据块发送程序,数据块首址为内部RAM的30H单元,其长度为20个字节,设串行口工作于方式1,传送的波特率为9600 bps(主频为6MHz),不进行奇偶检验处理。
29.试用查询方式编写一程序:从串行口接收10H个字符,放入以2000H为首址的外部RAM区,串行口工作于方式1,波特率2400 bps(不采用子程序调用方式编写此程序)。
30.试用中断方式编写一数据程序接收程序:接收区首址为内部RAM的20单元,接收的数据为ASCII码,设串行口工作于方式1,波特率设定为1200bps,接收时对奇偶检验不作出错处理,但需删除。
第九章 8086简介练习题
1.为什么8086MPU要采用地址/数据分时复用,它有什么好处?
2.用8086MPU组成微型计算机系统时,为什么要用地址锁存器和数据放大器,它们的主要功能是什么?
3.描述一下8086微处理器是怎样把一个字节数送到奇地址及偶地址的存储单元中去的,当要送一个字时,又是怎能样进行的呢?
4.INC,DEC指令是加法和减法指令,但它们却被8086设计师设计成不影响进位标志,为什么?
5.8086MPU内部分成哪两大部件,它们各自的组成和功能是什么?
6.8086MPU的寄存器结构是怎样的?为什么采用使某些寄存器专用某些指令的结构?
7.堆栈的工作原理是什么?试用一叠盘子体会一下放入和取出的操作。
8.8086MPU预取指令队列有什么好处?用例子简述预取指令机构的工作情况。
9.试给出8086MPU执行完下列指令后,各种标志的状态。
(1)MOV AX,2345H (2)MOV AX,5439H
ADD AX,3219H ADD AX,456AH
10.标志寄存器FLAG中包括几个标志位?各位的状态含义及用途如何?
11.8086系统中,存储器的物理(实际)地址由哪两部分组成?又是如何形成的?存储器中的每一个段与寄存器之间有何对应要求?
12.试说明8086指令格式中MOD的含义。
13.设(BX)=637DH,(SI)=2A9BH,位移量=4237H,试确定这些寄存器和下列寻址方式产生的有效地址:
(1)立即方式 (5)用BX的寄存器相对方式
(2)直接方式 (6)基址变址方式
(3)用BX的寄存器方式 (7)相对基址变址方式
(4)用BX的寄存器间接方式
14.指出下列各条指令中源操作数和目的操作数的寻址方式
(1)OR AX,AX (2)MOV AH,0FFH
(3)ADD AX,[BX][DI] (4)IN AL,n
(5)JMP OPRD
15.设(IP)=2BC0H,(CS)=0200H,位移量=5119H,(BX)=1200H,(DS)=212AH,(224A0H)=0600H,(275B9H)=098AH,求使用下列寻址方式的转移地址:
(1)段内直接寻址方式
(2)使用BX寄存器和寄存器寻址方式的段内间接寻址方式。
(3)使用BX寄存器和寄存器相对地址的段内间接寻址方式。
16.参考8086指令格式,给出下列指令的机器语言代码:
(1)BX的内容加到DX的内容上去,结果放在DX中。
(2)用BX寄存器和SI寄存器,通过基址变址寻址方式将存储器中的一个字节加到(AL)上,然后把结果放到AL中。
(3)用寄存器BX和B2H以及寄存器相对寻址把一个存储单元的内容加到(CX)上去,然后把结果送回该存储单元。
(4)用0524H和直接寻址方式将2A59H加到一个存储单元的内容上去,并把和数放回该存储单元。
17.阅读下列程序,然后回答问题:
BEGIN: IN AL,20H ADLP: ADD AL,BL
MOVF BL,AL ADC AH,0
IN AL,30H DEC CL
MOV CL,AL JNZ ADLP
MOV AX,0 HLP
本程序执行什么操作?执行结果存放在什么地方?
18.说明“AND AX,OPRD1 AND OPRD2”中两个AND各自的作用是什么?
19.若在数据段中已定义 LAB DB 30H,47H,86H…
试问(1)指令MOV AX,LAB 正确否?为什么?
(2)如何对上述指令进行修改,使它正确?
20.指令语句“MOV BL,LAB”和指令语句“LEA BX,LAB”有何区别?
****因为格式问题,有些不完整,有电子邮箱吗?我将原题发给你。
2. 汇编语言中的存储器是什么
主要用来存放程序和数据,这里指的是内存储器或主存储器,分为:
随机存储器(RAM)
只读存储器(ROM)
存储器由许多存储单元组成,每个单元的位数可以是1位、4位、8位、16位等,其中8位为一个字节(Byte)。
存储器的容量是指存储器所能存储的二进制位数,通常用能存储的字节数来衡量,单位有KB、MB、GB等。
存储器中每个存储单元都有一个编号,称为存储地址,简称地址。微处理器就是按照存储单元的地址来访问内存的。
对存储器的访问操作有读操作和写操作,用于实现从存储器中读出信息和把信息写入存储器。
每当需访问存储器时:
(1)由微处理器给出地址;
(2)通过地址译码器选择相应的存储单元;
(3)微处理器发出读或写控制信号,从而从指定地址的单元读出数据或把数据写入指定地址的存储单元。
3. 单片机汇编语言总结{越完整越好}
一般我们现在用的比较多的是MCS-51的单片机,它的资料比较多,用的人也很多,市场也很大。就我个人的体会怎么样才能更快的学会单片机这门课。单片机这门课是一项非常重视动手实践的科目,不能总是看书,但是学习它首先必须得看书,因为从书中你需要大概了解一下,单片机的各个功能寄存器,而说明白点,我们使用单片机就是用软件去控制单片机的各个功能寄存器,再说明白点,就是控制单片机那些管脚的电平什么时候输出高,什么时候输出低。由这些高低电平的变化来控制你的系统板,实现我们需要的各个功能。至于看书,只需大概了解单片机各管脚都是干什么的?能实现什么样的功能?第一次,第二次你可能看不明白,但这不要紧,因为还缺少实际的感观认识。所以我总是说,学单片机看书看两三天的就够了,看小说你一天能看五六本,看单片机你两三天看两三遍就够了,可以不用仔细的看。推荐一本书,就这一本就足够,书名是《新编MCS-51单片机应用设计》,是哈尔滨工业大学出版社出的的,作者是张毅刚。大概了解一下书上的内容,然后实践,这是非常关键的,如果说学单片机你不实践那是不可能学会的,关于实践有两种方法你可以选择,一种方法:你自己花钱买一块单片机的学习板,不要求功能太全的,对于初学者来说你买功能非常多的那种板子,上面有很多东西你这辈子都用不着,我建议有流水灯、数码管、独立键盘、矩阵键盘、AD或DA(原理一样)、液晶、蜂鸣器,这就差不多了。如果上面我提到的这些,你能熟练应用,那可以说对于单片机方面的硬件你已经入门了,剩下的就是自己练习设计电路,不断的积累经验。只要过了第一关,后面的路就好走多了,万事开头难,大家可能都听过。方法二:你身边如果有单片机方面的高手,向他求助,让他帮你搭个简单的最小系统板。对于高手来说,做个单片机的最小系统板只需要一分钟的时间,而对于初学者可就难多了,因为只有对硬件了解了,才能熟练运用。而如果你身边没有这样的高手,又找不到可以帮助你的人,那我劝你最好是自己买上一块,毕竟自己有一块要方便的多,以后做单片机类的小实验时都能用得上,还省事。
有了单片机学习板之后你就要多练习,最好是自己有台电脑,一天少看电影,少打游戏,把学习板和电脑连好,打开调试软件坐在电脑前,先学会怎么用调试软件,然后从最简单的流水灯实验做起,等你能让那八个流水灯按照你的意愿随意流动时你已经入门了,你会发现单片机是多么迷人的东西啊,太好玩了,这不是在学习知识,而是在玩,当你编写的程序按你的意愿实现时你比做什么事都开心,你会上瘾的,真的。做电子类的人真的会上瘾。然后让数码管亮起来,这两项会了后,你已经不能自拔了,你已经开始考虑你这辈子要走哪一行了。就是要这样练习,在写程序的时候你肯定会遇到很多问题,而这时你再去翻书找,或是问别人,当得到解答后你会记住一辈子的,知识必须用于现实生活中,解决实际问题,这样才能发挥它的作用,你自己好好想想,上了这么多年大学,天天上课,你在课堂上学到了什么?是不是为了期末考试而忙碌呢?考完得了90分,哈哈哈好高兴啊,下学期开学回来忘的一干二净,是不是?你学到什么了?但是我告诉你单片机一旦学会,永远不会忘了。另外我再说说用汇编和C语言编程的问题。很多同学大一二就开设了C语言的课,我也上过,我知道那时天天就是几乘几,几加几啊,求个阶乘啊。学完了有什么用?让你用C语言编单片机的程序你是不是就傻了?书上的东西我们必须要会运用。单片机编程用C语言或汇编语言都可以,但是我建议用C语言比较好,如果原来有C语言的基础那学起来会更好,如果没有,也可以边学单片机边学C语言,C语言也挺简单,只是一门工具而已,我劝你最好学会,将来肯定用得着,要不你以后也得学,你一点汇编都不会根本无所谓,但你一点C语言都不会那你将来会吃苦头。汇编写程序代码效率高,但相对难度较大,而且很罗嗦,尤其是遇到算法方面的问题时,根本是麻烦的不得了,现在单片机的主频在不断的提高,我们完全不需要那么高效率的代码,因为有高频率的时钟,单片机的ROM也在不断的提高,足够装得下你用C语言写的任何代码,C语言的资料又多又好找,将来可移植性非常好,只需要变一个IO口写个温度传感器的程序在哪里都能用,所以我劝大家用C语言。
总结上面,只要你有信心,做事能坚持到底,有不成功不放弃的强烈意志,那学个单片机来说就是件非常容易的事。
步骤:
1.找本书大概了解一下单片机结构,大概了解就行。不用都看懂,又不让你出书的。
2.找学习板练习编写程序,学单片机就是练编程序,遇到不会的再问人或查书。(我当初就买了中国开发板网一个单片机开发板,网址如下:)
3.自己网上找些小电路类的资料练习设计外围电路。焊好后自己调试,熟悉过程。
4.自己完全设计具有个人风格的电路,产品。
“知无不言.言无不尽.百人誉之不加密.百人毁之不加疏.”-- 诸葛廷栋
4. 关于汇编语言的基本数据存储问题
mov
ax,1
;寄存器赋1这个我知道,
mov
ds:[0],1
;这个是内存还是硬盘??
--------------内存
push
ax
;我提前定义了栈段,把ax压入栈里,那么我想问
,我们的栈是在内存,还是在硬盘存储器里?
------------------------内存
pop
ax
;把栈顶值赋给ax,sp+2指向了下一个栈顶,那么我们原是的(sp+2)-2的数据还在吗?
;也是就出栈后在栈里的数据还在吗?
---------在
问题二,我们汇编指令处理的数据idata
可以是各种数制吗?
mov
ax,1
mov
bx,27
;这指令合法吗?
------------合法
add
ax,bx
;这里运行后结果是10进制的数还是16进制数?----------------计算机只认二进制的数
5. 存储器扩展
存取外部数据存储器要通过DPTR(16位,由DPH,DPL组成)间接操作
MOVX a,@DPTR 读外部存储器
使用信号线P0(地址/数据),P2(地址),ALE(对P0地址锁存),RD(对外部数据存储器选通)
MOVX @DPTR,a 写外部存储器
P0(地址/数据),P2(地址),ALE(对P0地址锁存),WR(对外部数据存储器选通)
6. 汇编语言存储器
是内存单元,也就是内存里的撒
7. 汇编存储器与寄存器
我给你解释下
1。你现在学习的应该是8086的汇编语言,所以CPU是16位的
2。由于CPU是16位的,所以所有寄存器也是16位的,CPU只有16位不可能访问超过16位的寄存器
3。寄存器是在CPU内部,存储器是指的内存
4。汇编语言的存储器必须先定义在使用,比如用DB定义的话,存储器就是8位使用,如果DW定义就是16位使用,DD定义就是32位使用。定义语句在后面伪指令中要讲
5。汇编语言的语句要尽量多使用寄存器,速度大约比存储器快4到8倍
6。存储单元指的是8位二进制,因为8位二进制才有1个地址,CPU必须根据地址才能访问存储单元
7。你后面说的00是十六进制,2个十六进制一共8位2进制,就是一个 存储单元,你运行汇编语言,看到的所有数字都是16进制,除非你自己采用输入输出语句转换
8. 汇编语言中的存储器是什么
使用存储器一般都是用方括号[]括起来的
mov
cs,ax
这句没有错
不知你说的存储器是不是内存,如果是话的,在汇编中存取内存单元可以用这样的形式:
mov
[0x1000],ax
即把ax的值放到0x1000的内存单元,当然还可以用其他寻址方式,你可以参考汇编的资料
9. 请问什么是fsmc
FSMC(Flexible Static Memory Controller,可变静态存储控制器)是STM32系列采用的一种新型的存储器扩展技术。在外部存储器扩展方面具有独特的优势,可根据系统的应用需要,方便地进行不同类型大容量静态存储器的扩展。
STM32是ST(意法半导体)公司推出的基于ARM内核Cortex-M3的32位微控制器系列。Cortex-M3内核是为低功耗和价格敏感的应用而专门设计的,具有突出的能效比和处理速度。
(9)汇编语言扩展静态存储器扩展阅读
FSMC技术优势:
①支持多种静态存储器类型。STM32通过FSMC可以与SRAM、ROM、PSRAM、NOR Flash和NANDFlash存储器的引脚直接相连。
②支持丰富的存储操作方法。FSMC不仅支持多种数据宽度的异步读/写操作,而且支持对NOR/PSRAM/NAND存储器的同步突发访问方式。
③支持同时扩展多种存储器。FSMC的映射地址空间中,不同的BANK是独立的,可用于扩展不同类型的存储器。当系统中扩展和使用多个外部存储器时,FSMC会通过总线悬空延迟时间参数的设置,防止各存储器对总线的访问冲突。
④支持更为广泛的存储器型号。通过对FSMC的时间参数设置,扩大了系统中可用存储器的速度范围,为用户提供了灵活的存储芯片选择空间。
⑤支持代码从FSMC扩展的外部存储器中直接运行,而不需要首先调入内部SRAM。
10. 静态存储器与动态存储器的定义是什么
静态存储器是指依靠双稳态触发器的两个稳定状态保存信息的存储器。双稳态电路是有源器件,需要电源才能工作,只要电源正常,就能长期稳定的保存信息,所以称为静态存储器。如果断电,信息将会丢失,属于挥发性存储器,或称易失性。
动态存储器是指在指定功能或应用软件之间共享的存储器。如果一个或两个应用软件占用了所有存储器空间,此时将无法为其他应用软件分配存储器空间。需要由存储器控制电路按一定周期对存储器刷新,才能维系数据保存。
(10)汇编语言扩展静态存储器扩展阅读:
动态存储器的工作原理
动态RAM是由许多基本存储元按照行和列地址引脚复用来组成的。在3管动态RAM电路中,读选择线和写选择线是分开的,读数据线和写数据线也是分开的。
写操作时,写选择线为"1",Q1导通,要写入的数据通过Q1送到Q2的栅极,并通过栅极电容在一定时间内保持信息。
读操作时,先通过公用的预充电管Q4使读数据线上的分布电容CD充电,当读选择线为高电平有效时,Q3处于可导通的状态。若原来存有"1",则Q2导通,读数据线的分布电容CD通过Q3、Q2放电。此时读得的信息为"0",正好和原存信息相反。
可见,对这样的存储电路,读得的信息和原来存入的信息正好相反,所以要通过读出放大器进行反向再送往数据总线。