汇编语言第6章答案
第6章 8086指令系统与汇编基础
第13页
2013年8月1日星期四
第6章
8086指令系统与汇编基础 3.段地址寄存器
有 CS、DS、ES、SS 四 个 , 分 别 表 示 程 序 码 ( code segment register)、 数 据 ( data segment register)、附加(extra segment register)、堆栈 (stack segment register)段地址用。在 DOS 系统 中,每一个段地址容量只有 64KBytes。 当数据段地址不够用时,就可以用附加数据段地址 来补足,例如想要将一个段地址的某些内容复制到 另一段地址中,就可以同时指定 DS、ES 分别表示 这两个段地址。
第17页 2013年8月1日星期四
第6章
6.2.4
8086指令系统与汇编基础
寄存器间接寻址(Register Indirect Addressing) 寄存器间接寻址方式中,操作数存放在存储器 中,但操作数的有效地址EA在基址寄存器BX、BP或 变址寄存器SI、DI中。操作数的物理地址为: 物理地址=16(段寄存器)+(寄存器)
执行结果为:(AX)=8060H 指令中也可指定段跨越前缀以取得其它段中的 数据。如:MOV AX,ES:[BX]指令,则从附加段中 取得数据。
操作码
DS 3000 0 BX + 200 0
代 码
段
30000 32000 AH AL
60 80
3200 0
数 据
段
图 6- 2- 2
例 6 - 5 的执行过程
第3页 2013年8月1日星期四
第6章
8086指令系统与汇编基础
计算机只能识别二进制代码,因此计算机能执行 的指令必须以二进制代码的形式表示,这种以二进制 代码形式表示的指令称为指令的机器码(Machine Code)。 2.汇编指令格式 一条指令一般包含操作码和操作数两部分。
第06章-单片机串行通信系统-习题解答
第6章单片机串行通信系统习题解答一、填空题1.在串行通信中,把每秒中传送的二进制数的位数叫波特率。
2.当SCON中的M0M1=10时,表示串口工作于方式 2 ,波特率为 fosc/32或fosc/64 。
3.SCON中的REN=1表示允许接收。
4.PCON 中的SMOD=1表示波特率翻倍。
5.SCON中的TI=1表示串行口发送中断请求。
6.MCS-51单片机串行通信时,先发送低位,后发送高位。
7.MCS-51单片机方式2串行通信时,一帧信息位数为 11 位。
8.设T1工作于定时方式2,作波特率发生器,时钟频率为11.0592MHz,SMOD=0,波特率为2.4K时,T1的初值为 FAH 。
9.MCS-51单片机串行通信时,通常用指令 MOV SBUF,A 启动串行发送。
10.MCS-51单片机串行方式0通信时,数据从 P3.0 引脚发送/接收。
二、简答题1.串行口设有几个控制寄存器?它们的作用是什么?答:串行口设有2个控制寄存器,串行控制寄存器SCON和电源控制寄存器PCON。
其中PCON 中只有PCON.7的SMOD与串行口的波特率有关。
在SCON中各位的作用见下表:2.MCS-51单片机串行口有几种工作方式?各自的特点是什么?答:有4种工作方式。
各自的特点为:3.MCS-51单片机串行口各种工作方式的波特率如何设置,怎样计算定时器的初值? 答:串行口各种工作方式的波特率设置:工作方式O :波特率固定不变,它与系统的振荡频率fosc 的大小有关,其值为fosc/12。
工作方式1和方式3:波特率是可变的,波特率=(2SMOD/32)×定时器T1的溢出率 工作方式2:波特率有两种固定值。
当SM0D=1时,波特率=(2SM0D/64)×fosc=fosc/32当SM0D=0时,波特率=(2SM0D/64)×fosc=fosc/64计算定时器的初值计算:4.若fosc = 6MHz ,波特率为2400波特,设SMOD =1,则定时/计数器T1的计数初值为多少?并进行初始化编程。
第6章-MCS-51定时计数器
1.定时/计数器工作方式寄存器TMOD TMOD为T0、T1的工作方式寄存器,主要用于控制定
时/计数器T0和T1的工作模式和4种工作方式。低4位用于 控制T0,高4位用于控制T1。
门控 位
在单片机应用中,定时和计数的需求比较多,为了使用 方便并增加单片机的功能,就把定时电路集成到芯片中,称 之为定时/计数器。目前,几乎所有的单片机都集成了可编 程定时/计数器,为单片机提供定时和计数功能。
6.1.1 定时/计数器的结构 MCS-51 单片机内部有两个16位的可编程定时/计数器,称为
定时器0(T0)和定时器1(T1),都具有定时和计数的功能,可 编程选择其作为定时器或作为计数器用。 TMOD:选择定时器/计数器T0、T1的工作模式和工作方式。 TCON:控制T0、T1的启动和停止计数,同时包含了T0、T1的状态。
Hale Waihona Puke ⑵ 工作方式1: T0初值 =216-500s/2s=65536–250=65286=FF06H TH0=FFH;TL0=06H。
⑶ 工作方式2: T0初值 =28-500s/2s=256-250=6 TH0=06H;TL0=06H。
⑷ 工作方式3: T0方式3时,被拆成两个8位定时器,定时初值可分别计
定时器:对片内机器时钟(周期方波)进行计数 计数器:对Tx引脚输入的负脉冲进行计数
6.1.2 定时/计数器的工作原理
单片机内部有两个定时/计数器T0和T1,其核心是计数器, 基本功能是加1。
对外部事件脉冲(下降沿)计数,是计数器;对片内机周 脉冲计数,是定时器。
计数器由二个8位计数器组成。
《汇编语言》各章习题答案
汇编语言各章习题答案习题一答案:1.1无符号数: 11010011=211=D3H,01110111=119=77H,10000011=131=83H,00101111=47=2FH,10101010=170=AAH带符号数:11010011= -45=D3H,01110111=+119=77H,10000011= -125=83H,00101111=+47=2FH,10101010= -86=AAH1.2 5E8AH,0BE6H,3DEH,4940H1.3 00011101+00110101=01010010=52H=8201001001+11101000=00110001=31H=4910111110+01010010=00010000=10H=1610011010+11110001=10001011=8BH= -1171.4 00101001+01010011=01111100+00000110=10000010=82H=8201110011-00100100=01001111-00000110=01001001=49H=4901100110+00011000=01111110+00000110=10000100=84H=840000000100110010+01110101=0000000110100111+00000110=0000001000000111=0207H=2071.5 000020A3H,FF94H,00003456H,007FH,FFFFEC00H1.6无符号数:0~65535,0000H~FFFFH;带符号数:-32768~+32767,8000H~7FFFH 1.7 (1) 38H等于十进制数56,是十进制数56的补码,数字8的ASCII码,十进制数38的压缩BCD码(2) FFH等于十进制数-1,是带符号数-1的补码,无符号数为255(3) 5AH等于十进制数90,是十进制数90的补码,大写字母Z的ASCII码(4) 0DH等于十进制数13,是十进制数13的补码,回车符的ASCII码1.8(1) 108=01101100B=6CH,补码01101100B,压缩BCD码0000000100001000,ASCII码313038H(2) 46=00101110B=2EH,补码00101110B,压缩BCD码01000110,ASCII码3436H(3) –15=11110001B=F1H,补码11110001B,ASCII码2D3135H(4) 254=0000000011111110B=00FEH,补码0000000011111110B,压缩BCD码0000001001010100,ASCII码323534H1.9(1) 56+63=01110111B,CF=0,SF=0,ZF=0,OF=0(2) 83-45=00100110B,CF=0,SF=0,ZF=0,OF=0(3) -74+29=11010011B,CF=0,SF=1,ZF=0,OF=0(4) -92-37=01111111B,CF=1,SF=0,ZF=0,OF=11.10回车、换行、响铃、ESC键、空格键、@、P、p习题二答案:2.9最少划分为16个逻辑段,最多划分为65536个逻辑段(每段16个字节)2.10CS:IP,DS:BX、SI、DI,ES:BX、SI、DI,SS:SP、BP2.11字节单元保存8位数,字单元保存16位数。
第6章程序设计语言习题与答案
第六章习题(1)复习题1、简述自然语言与形式语言的概念以及区别、汇编语言与机器语言的概念及区别。
自然语言是某一社会发展中形成的一种民族语言,而形式语言是进行形式化工作的元语言,它是以数学和数理逻辑为基础的科学语言。
用机器指令形式编写的程序称为机器语言,用带符号或助记符的指令和地址代替二进制代码成为语言进化的目标。
这些使用助记符语言的语言后来就被称之为汇编语言。
(P135P136)2、什么是高级程序设计语言?它有什么特点?高级语言是汇编语言的一种抽象。
高级语言的设计目标就是使程序员摆脱汇编语言细节的繁琐。
高级语言同汇编语言都有一个共性,那就是:它们必须被转化为机器语言,这个转化的过程称为解释或编译。
(1)高级语言接近算法语言,易学、易掌握;(2)高级语言设计出来的程序可读性好,可维护性强,可靠性高;(3)高级语言与具体的计算机硬件关系不大,其程序可移植性好,重用率高;(4)高级语言自动化程度高,开发周期短,利于提高程序的质量。
(P138)3、列举程序设计语言的几种范型。
程序语言大致分为命令式程序设计语言、面向对象的程序设计语言、函数式程序设计语言和逻辑型程序设计语言等范型。
(P138-140)4、简述语言虚拟机。
提示:语言虚拟机是某种语言的解释器。
语言虚拟机是建立在硬件和操作系统之上,针对不同的硬件和操作系统有不同的虚拟机,通过语言虚拟机屏蔽掉硬件的差异。
这样使得硬件系统能够支持这种语言编写的程序的有效执行。
目前最流行的语言虚拟机是Java虚拟机。
(P147)5、计算机执行用高级语言编写的程序有哪些途径?它们之间的主要区别是什么?提示:主要有编译、解释等方式,也有两种方式的混合使用的形式。
编译是使用编译器将高级语言编写的源程序转换成计算机可以执行的机器语言可执行程序,也可以理解为用编译器产生可执行程序的动作。
编译方式是一次编译,然后执行程序可以反复多次执行。
解释是另一种将高级语言转换为可执行程序的方式。
第6章软件编码一、填空题(20小题)1、源程序中加注释是帮助理解程序
第6章软件编码一、填空题(20小题)1、源程序中加注释是帮助理解程序的重要手段,注释分为( )、( )两类。
答案:序言性注释、功能性注释2、通常考虑选用语言的因素有( )、( )、( )、( )和( )。
答案:项目的应用领域、软件开发的方法、软件执行环境、算法与数据结构的复杂性、软件开发人员的知识3、从软件工程的观点,语言的工程特性是指( )、( )、( )和( )。
答案:可移植性、开发工具的可利用性、软件的可重用性、可维护性4、编写操作系统、编译系统等系统软件时,可选用( )、( )、( )和( )等。
答案:汇编语言、C语言、Pascal语言、Ada语言5、效率是一个( )要求,目标在( )给出。
答案:性能、需求分析6、提高程序效率的根本途径在于选择良好的( )、良好的( ),而不是靠编程时对程序语句做调整。
答案:设计方法、数据结构与算法7、语句构造的原则是( ),不能为了追求效率而使代码( )。
答案:简单直接、复杂化8、程序设计语言的心理特性在语言中的表现形式为( )、( )、( )、( )和( )。
答案:歧义性、简洁性、局部性、顺序性、传统性9、语言的心理特性在语言中的表现形式有:( )、( )、( )、( )和( )。
答案:歧义性、简洁性、局部性、顺序性、传统性10、程序设计语言的简洁性是指人们必须记住的( )的数量。
人们要掌握一种语言,需要记住的成分数量越多,简洁性越( )。
答案:语言成分、差11、在软件的设计中占有极其重要地位的是软件功能结构,它是联系( )跟开发者的规格说明。
答案:用户12、贯穿于软件生存期中的一个极为重要的问题是( )。
答案:软件质量13、为了做好软件质量评价,必须在( )定义其质量需求。
答案:开发前14、在McCall 质量度量模型中,针对面向软件产品的运行、修改、转移,软件质量概念包括11个特性,面向软件产品操作的5个特性是:( )、( )、( )、( )和( )。
《汇编语言》作业答案
3545233.doc 制作:江家宝《IBM—PC汇编语言程序设计》课后作业参考答案目录第一章:基础知识 ........................................................................................ 2第二章:80×86计算机组织......................................................................... 2第三章:80×86的指令系统和寻址方式..................................................... 3第四章:汇编语言程序格式........................................................................ 7第五章:循环与分支程序设计.................................................................... 9第六章:子程序结构 ................................................................................ 12第七章:高级汇编语言技术.................................................................... 20第八章:输入输出程序设计.................................................................... 22第九章:BIOS和DOS中断 (23)3545233.doc 制作:江家宝第一章:基础知识1.1、用降幂法和除法将下列十进制数转换为二进制数和十六进制数:(3) 4095 答:(3) 4095 =1111 1111 1111B=FFFH1.2、将下列二进制数转换为十六进制数和十进制数:(1) 10 1101 答:(1) 10 1101B=2DH=451.3、将下列十六进制数转换为二进制数和十进制数:(4) 1234 答:(4) 1234H=1 0010 0011 0100B=46601.4、完成下列十六进制数的运算,并转换为十进制数进行校核:(3) ABCD-FE 答:(3) ABCD-FEH=AACFH=437271.5、下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其运算结果。
第6章软件编码一、填空题(20小题)1、源程序中加注释是帮助理解程序
第6章软件编码一、填空题(20小题)1、源程序中加注释是帮助理解程序的重要手段,注释分为( )、( )两类。
答案:序言性注释、功能性注释2、通常考虑选用语言的因素有( )、( )、( )、( )和( )。
答案:项目的应用领域、软件开发的方法、软件执行环境、算法与数据结构的复杂性、软件开发人员的知识3、从软件工程的观点,语言的工程特性是指( )、( )、( )和( )。
答案:可移植性、开发工具的可利用性、软件的可重用性、可维护性4、编写操作系统、编译系统等系统软件时,可选用( )、( )、( )和( )等。
答案:汇编语言、C语言、Pascal语言、Ada语言5、效率是一个( )要求,目标在( )给出。
答案:性能、需求分析6、提高程序效率的根本途径在于选择良好的( )、良好的( ),而不是靠编程时对程序语句做调整。
答案:设计方法、数据结构与算法7、语句构造的原则是( ),不能为了追求效率而使代码( )。
答案:简单直接、复杂化8、程序设计语言的心理特性在语言中的表现形式为( )、( )、( )、( )和( )。
答案:歧义性、简洁性、局部性、顺序性、传统性9、语言的心理特性在语言中的表现形式有:( )、( )、( )、( )和( )。
答案:歧义性、简洁性、局部性、顺序性、传统性10、程序设计语言的简洁性是指人们必须记住的( )的数量。
人们要掌握一种语言,需要记住的成分数量越多,简洁性越( )。
答案:语言成分、差11、在软件的设计中占有极其重要地位的是软件功能结构,它是联系( )跟开发者的规格说明。
答案:用户12、贯穿于软件生存期中的一个极为重要的问题是( )。
答案:软件质量13、为了做好软件质量评价,必须在( )定义其质量需求。
答案:开发前14、在McCall 质量度量模型中,针对面向软件产品的运行、修改、转移,软件质量概念包括11个特性,面向软件产品操作的5个特性是:( )、( )、( )、( )和( )。
第6章 C语言和汇编语言混合编程(C55x DSP)
第6章 C语言和汇编语言混合编程
2. 编译模式 使用C编译器,在进入汇编程序时,C55x的CPL(编译模 式位)自动被置1,相对寻址模式使用堆栈指针SP。如果在汇 编程序中需要使用相对直接寻址模式访问数据存储器,则必 须改成数据页DP直接寻址模式,这可以通过清CPL位实现。 在返回C调用程序前,CPL位必须重新置1。
序清单输入到这些文件当中,保存并将其添加到工程之中。
第6章 C语言和汇编语言混合编程
3. 编译链接工程和装载输出文件 编译链接工程,修改错误,直到无错误信息提示为止, 再装载输出文件。 4. 打开CPU寄存器视窗 在主菜单中选择View→Registers→CPU Registers命令, 打开CPU寄存器视窗,观察CPU寄存器的变化情况。
int s4; s4=sum(); s1=mac1(x,a,n); //*ar0=x[0],*ar1=a[0],t0=n,return is stored in t0
s2=mac2(x,a,n);
//*ar0=x[0],*ar1=a[0],t0=n,return is stored in ac0
第6章 C语言和汇编语言混合编程
“ _ ”。以下是C函数调用汇编子程序的例子。
第6章 C语言和汇编语言混合编程
//C源程序: extern int sum(int *); //参考一个汇编函数 int x[4]={0x1223,0x345,0x2345,0x3444}; //定义全局变量并初始化
int s;
void main() {
参数类型和寄存器安排顺序表。
第6章 C语言和汇编语言混合编程
表6-1 参数类型和寄存器安排顺序表
第6章 C语言和汇编语言混合编程
汇编语言(王爽)第六章检测点与实验5
汇编语⾔(王爽)第六章检测点与实验5检测点6.1(1)依次⽤内存0:0~15单元中的内容改写程序中的数据,补全程序:assume cs:codesgcode segmentdw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987hstart:mov ax,0mov ds,axmov bx,0mov cx,8s:mov ax,[bx]mov cs:[bx],ax ;确定⽬标区域段地址和偏移地址add bx,2loop smov ax,4c00hint 21hcodesg endsend start(2)程序实现依次⽤0:0~15单元的内容改写程序中数据,数据传送⽤栈来进⾏。
栈空间设置在程序内,补全程序:assume cs:codesgcode segmentdw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987hdw 0,0,0,0,0,0,0,0,0,0;10个字空间作为栈start:mov ax,cs ;设置栈的段地址mov ss,axmov sp,1ah ;cs:0~cs:f为原始数据空间,cs:10~cs:19为栈空间,初始为空,栈顶指向下⼀单元mov ax,0mov ds,axmov bx,0mov cx,8s:push [bx] ;先把0:0处的字单元内容⼊栈pop cs:[bx] ;再把栈顶内容出栈放⼊程序数据段中add bx,2loop smov ax,4c00hint 21hcodesg endsend start实验5 编写、调试具有多个段的程序<程序加载后,ds:0~ff为PSP区域,(ds+10H):0为整个程序的⼊⼝,如程序依序设置有data\stack\code3个数据段区域,其中设data和stack段各⾃为16个字节,那么程序加载后(还未运⾏前):(ds+10h)则为data的⼊⼝段地址;(ds+10h+1)为stack的⼊⼝段地址;(ds+10h+2)为code的⼊⼝段地址;>1、编译连接下⾯程序,⽤debug加载、跟踪,回答问题。
汇编语言第六章
三.中断向量表
3. 设置或取出中断向量指令 (1) 设置中断向量指令 功能:把由AL指定的中断类型的中断向量DS:DX放入中
断向量表中。
(AH)= 25H
(AL)= 中断类型号
DS:DX = 中断向量 INT 21H
三.中断向量表
(2) 取出中断向量指令
功能:把AL中指定的中断类型的中断向量从中断
一、 WIN32编程基础
(2) 循环控制伪指令
格式:.WHILE 条件表达式 循环体 .ENDW 格式:.REPEAT 循环体 .UNTIL 条件表达式 格式:.CONTINUE 功能:终止本次循环, 开始下一次循环 格式:.BREAK 功能:退出当前循环
功能:实现循环结构
一、 WIN32编程基础
内中断的处理特点: ①中断类型号一般在指令中; ② 不受中断允许标志位IF的影响。
二、 中断源
2. 外中断 由外设控制器、协处理器等CPU以外的事件引起的中断, 称为外中断。 外中断的处理特点: ① 中断类型号由8259A提供,或由自制电路来提供;
② 受中断允许标志位IF的影响(IF=1,响应中断)。
个字节。
三.中断向量表
如:INT 4AH
中断向量地址 = 4AH*4 = 128H
DEBUG执行后, 用D命令查看: ―D0:0↙ … 执行INT 4AH时: IP=1805H CS=F000H IP F000: 1805 中断处理
0:128H
0:129H
05 18
0:12AH
0:12BH
00
F0 …
外设
二、 外设与主机传送的接口与信息
接口的组成:设备状态寄存器、设备控制寄存 器、数据寄存器。 I/O端口的地址空间:允许设置64K个8位端口 或32K个16位端口。 如:40H~43H时钟/定时器,60H~63H为 8255通讯芯片的接口。
大学汇编语言基础试题4
汇编语言基础试题4第六章数据传送指令一、程序分析题(阅读程序段后给出其运行结果)设(SP)=80H,(BX)=0FFH;(AX)=1PUSH BXADD BX,AXXOR BX,AXPUSH BXPOP CX上述程序段运行后,(SP)=7EH,(CX)=0101H二、单项选择题(1.堆栈指针SP的内容是(B)A.栈顶单元内容B.栈顶单元地址C.栈底单元内容D.栈底单元地址2.VAR是数据段中定义的变量,指令MOV AX,VAR 源操作数的寻址方式是(B)A.立即寻址B.直接寻址C.相对寻址D.寄存器寻址3.已知(DS)=3000H,(SS)=2500H,(BX)=0100H,(BP)=0040H,指令MOV AX,DS:[BP]源操作数的物理地址是(B)。
A.25040HB.30040HC.25100HD.55040H4.下列传送指令中,有语法错误的指令是(A)。
A.MOV CS,AXB.MOV DS,AXC.MOV ES,AXD.MOV SS,AX5.与MOV BX,OFFSET VAR指令完全等效的指令是(D)。
A.MOV BX,VARB.LDS BX,VARC.LES BX,VARD.LEA BX,VAR6.MOV SP,3210HPUSH AX执行上述指令序理后,SP寄存器的值是(B)。
A.3211HB.320EHC.320FHD.3212H7.执行指令PUCH CX后堆栈指针SP自动(C)A.+1B.不操作C.-2D.-1三、简答题已知数据段定义如下:DATA SEGMENTVA DB 10HVB DW 3*20MSG DB ‘HELLO!’COUNT EQU 15BUF DW COUNT DUP(5,3 DUP(1,2),0)DATA ENDS问题:(1)执行MOV BX,0FFSET VA后,(BX)=(2)执行MOV CX,TYPE BUF后,(CX)=(3)用一条指令将字母‘O’取到AL中.(4)经汇编后,BUF占有的存储空间是字节答:(1)0(2)2(3)MOV AL, MSG+4(4)240四、执行下列指令语句,把执行结果填在空格中已知(SS)=3000H(SP)=200H(AX)=785AH (BX)=1234H,先执行PUSH AX,再执行PUSH BX,此时(SS)= ()(SP)= ()数12H存放的物理地址是()答:(SS)= (3000H)(SP)= (1FCH)数12H存放的物理地址是(1FDH)第七章算术运算程序一、单项选择题1.十进制数运算调整指令AAS可以紧跟在(A)之后:A.SBBB.DECC.CMPD.NEG2.除法调整指令AAD是对(C)调整:A.AX中组合的十进制被除数B.AL中组合的十进制的商数C.AX中未组合的十进制被除数D.AL中未组合的十进制的商数3.在多字节加减运算时,特别要注意标志(B)对运算的影响:A.AFB.CFC.SFD.OF4.设(DS)=8260H(DI)=3500H,指令DEC WORD PTR[DI]操作数的物理地址是(B)A.11760HB.85B00HC.86100HD.以上都不时5.指令ADD ES:[DI],AX和存放在(B)A.寄存器B.附加段C.堆栈段D.代码段6.设VAR是数据段中定义的字节变量,指令MUL VAR乘积存放在(A)A.AXB.BXC.CXD.DX7.设(DH)=20H,执行NEG DH指令后,正确的结果是(C)A.(DH)=20HCF=1B.(DH)=20HCF=0C.(DH)=0E0HCF=0D.(DH)=0E0HCF=18.设DS=8225H,DI=3942H,指令NEG BYTE PTR [DI]操作数的物理地址是(A)A.85B92HB.86192HC.BB690HD.12169H9.执行INC指令除对于SF.ZF有影响外,还要影响的标志位是(A)A.OF,AF,PFB.OF,AF,CFC.OF,PF,CFD.AF,PF,CF10.设DH=10H,执行NEG DH指令后,正确的结果是(D)A.DH=10HCF=1B.DH=10HCF=0C.DH=10HCF=0D.DH=0F0H11.执行除法指令后,影响的标志位是(D)A.CF,OFB.SF,ZFC.CF,OF,SFD.AF,CF,OF,PF,SF,ZF都不确定12.执行下面指令序列后,结果是(A)MOV AL,82HCBWA.AX=0FF82HB.AX=8082HC.AX=0082HD.AX=0F82H二、判断题(正确的画√,错误的画×)1.指令AAA必须紧跟在加法指令之后使用。
《微机原理与汇编语言》第6章
总还是存在的,因此C1上的电荷经一段时间就会泄放掉(一
般约为几毫秒),故不能长期保留信息。为了维持动态存储 单元所存储的信息,必须进行刷新,使信息再生。
2012年9月23日
12
微机原理与汇编语言
第四章
存储器
2.芯片结构 常用的典型的DRAM芯片Intel 2116的逻辑符号和芯片结 构如图6-4所示。Intel 2116芯片容量为16K位,采用位结构 方式组成16384位的形式,有A0~A6 7条地址输入端,一条 DIN数据输入端,一条数据输出端DOUT,行地址选通端,列 地址选通端,写允许输入端。 为了访问16K存储空间,需要14根地址线(21416384)。 但2116芯片封装在16脚管壳内。其引脚数较少,实际使用时
2012年9月23日
2
微机原理与汇编语言
第四章
存储器
6.1
6.1.1
概
述
半导体存储器的分类
随机读写 存 储 器 RA M 双极型 静 态 RA M M OS型 动 态 RA M 不可编程 掩 膜 RO M 只读存储器 RO M 可编程 RO M 可擦除、可再 编 程 RO M
半导体 存储器
紫外线擦除的 E PRO M 电擦除的 E2P R O M
15
微机原理与汇编语言
第四章
存储器
3.动态RAM的刷新 当动态RAM与CPU连接时,为了访问某一存储单元,CPU 将该存储单元的14位地址由地址寄存器加到地址总线。在刷 新过程中还需接入刷新地址,为了分别选通行地址,列地址 和刷新地址,需要外加多路转换器,其具体连接如图6-5所 示。
图6-5 动态RAM与存储器、控制器连接框图
2012年9月23日 16
微机原理与汇编语言
第6章 汇编语言程序设计
格式:重复次数 DUP(表达式)
将括号( )内的表达式重复预置, 重复的次数由DUP前面的常数决定。
图4.2中这种表达式的格式为
DATA9 DATA10 DB DW 3 DUP (00) 2 DUP(?)
5) (符号)地址表达式(指变量或地址标号) 当变量为DW和DD类型时,才可以作为地址表达式, 此时应遵循以下规则: (1) 当用DW定义地址表达式时,地址表达式中的变 量名称表示该变量的第一个存储单元的偏移地址。 (2) 当用DD定义地址表达式时,低位字用于预置偏移 地址,高位字用于预置段地址。 (3) 地址表达式中的变量或标号可与常数值相加减。 对于变量来说,运算结果的类型不变;对标号来说,运算 结果仍表示原标号所在段中的地址。 (4) 变量或标号不能与变量或标号相加,但可相减, 结果是没有属性的纯数值。
汇编语言不能直接被机器识别和执行,必须先经具有 “翻译”功能的系统程序——汇编程序(assembler)的帮助, 才能将汇编语言转换成相应的机器语言(称为目标代码程序),
如图6.1所示。
注意:汇编语言源程序与汇编程序是不同的。
图6.1 汇编语言如何变为机器语言
3.高级语言 机器语言和汇编语言使用很不方便,它与人类的自然语 言和一般数学语言相距甚远,属于低级语言。 与此相比,高级语言更接近人类自然语言,编制程序直 观、简练、易掌握、通用性强。它无论是面向问题或面向过 程,一般总是独立于具体机器的,程序员可不必了解机器的 指令系统和内部的具体结构,而把主要精力集中在掌握语言 的语法规则和算法的程序实现上。高级语言常用于科学计算、 离线仿真、商用、管理等。 高级语言程序必须借助于更强有 力的翻译系统——编译程序(compiler)才能将高级语言源程序 翻译成能被计算机直接执行的目标程序。 高级语言的种类很多,目前使用较广泛的高级语言有 BASIC、Visual Basic、Visual C、C++、JAVA、Delphi、 ASP、Matlab、Labview等。
汇编语言 第版 王爽 完整答案
第1章基础知识检测点1.1(1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为13。
(2)1KB的存储器有1024个存储单元。
存储单元的编号从0到1023。
(3)1KB的存储器可以存储1024*8个bit,1024个Byte。
(4)1GB、1MB、1KB分别是2^30、2^20、2^10 Byte。
(n^m的意思是n的m次幂)(5)8080、8088、80286、80386的地址总线宽度分别是16根、20根、24根、32根,则它们的寻址能力分别为:64(KB)、1(MB)、16(MB)、4(GB)。
(6)8080、8088、8086、80286、80386的数据总线宽度分别为8根、8根、16根、16根、32根。
则它们一次可以传送的数据为:1(B)、1(B)、2(B)、2(B)、4(B)。
(7)从内存中读取1024字节的数据,8086至少要读512次、80386至少要读256次。
(8)在存储器中,数据和程序以二进制形式存放。
第2章寄存器答案检测点2.1(1) 写出每条汇编指令执行后相关寄存器中的值。
mov ax,62627 AX=F4A3Hmov ah,31H AX=31A3Hmov al,23H AX=3123Hadd ax,ax AX=6246Hmov bx,826CH BX=826CHmov cx,ax CX=6246Hmov ax,bx AX=826CHadd ax,bx AX=04D8Hmov al,bh AX=0482Hmov ah,bl AX=6C82Hadd ah,ah AX=D882Hadd al,6 AX=D888Hadd al,al AX=D810Hmov ax,cx AX=6246H(2) 只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。
解:mov ax,2add ax,axadd ax,axadd ax,ax检测点2.2(1) 给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为00010H到1000FH。
16/32位微机原理、汇编语言及接口技术(钱晓捷)[第2版]课后答案
第一章1.1 解:五代,详细见书1.2 解:微型计算机:以大规模、超大规模集成电路为主要部件,以集成了计算机主要部件——控制器和运算器的微处理器为核心,所构造出的计算机系统。
PC机:PC(Personal Computer)机就是面向个人单独使用的一类微机。
单片机:用于控制的微处理器芯片,内部除CPU外还集成了计算机的其他一些主要部件,如:ROM、RAM、定时器、并行接口、串行接口,有的芯片还集成了A/D、D/A转换电路等。
数字信号处理器DSP:主要面向大流量数字信号的实时处理,在宿主系统中充当数据处理中心,在网络通信、多媒体应用等领域正得到越来越多的应用1.3 解:微机主要有存储器、I/O设备和I/O接口、CPU、系统总线、操作系统和应用软件组成,各部分功能如下:CPU:统一协调和控制系统中的各个部件系统总线:传送信息存储器:存放程序和数据I/O设备:实现微机的输入输出功能I/O接口:I/O设备与CPU的桥梁操作系统:管理系统所有的软硬件资源1.4 解:系统总线:传递信息的一组公用导线,CPU通过它们与存储器和I/O设备进行信息交换。
好处:组态灵活、扩展方便三组信号线:数据总线、地址总线和控制总线。
其使用特点是:在某一时刻,只能由一个总线主控设备来控制系统总线,只能有一个发送者向总线发送信号;但可以有多个设备从总线上同时获得信号。
1.5解:(1)用于数值计算、数据处理及信息管理方向。
采用通用微机,要求有较快的工作速度、较高的运算精度、较大的内存容量和较完备的输入输出设备,为用户提供方便友好的操作界面和简便快捷的维护、扩充手段。
(2)用于过程控制及嵌人应用方向。
采用控制类微机,要求能抵抗各种干扰、适应现场的恶劣环境、确保长时间稳定地工作,要求其实时性要好、强调其体积要小、便携式应用强调其省电。
1.6 解:1.7 解:I/O通道:位于CPU和设备控制器之间,其目的是承担一些原来由CPU处理的I/O任务,从而把CPU从繁杂的I/O任务中解脱出来。
1-11章汇编测试题目(汇编网)
第1章汇编测试题目(后附答案)1、1个CPU读取1024字节的数据至少读取了512次,数据总线的宽度_____。
A、8B、10C、16D、322、在8086的内存空间中下面哪段内存是不可写的_____。
A、0~9FFFFB、A0000~B7FFFC、B8000~BFFFFD、C0000~FFFFF3、下列哪个计算机部件能确定一组二进制数是要执行的指令还是用于操作的数据_____。
A、显示器B、硬盘C、内存D、中央处理器4、关于总线的说法错误的是_____。
A、地址总线的宽度决定了CPU的寻址能力。
B、数据总线的宽度决定了CPU与外界进行数据传送时的一次数据传送量。
C、控制总线的宽度决定了CPU对系统中其它器件的控制能力。
D、总线就是负责CPU内部信息传送的一系列导线。
5、1KB的存储器有____个存储单元A、1000B、1024C、512D、2566、1个CPU的寻址能力为32KB,那么它的地址总线宽度为_____。
A、13B、15C、18D、32k7、1KB的存储器可以存储____个bit 。
A、1024B、8192C、1000D、88、1个CPU访问的最大内存地址是1023,地址总线的宽度_____。
A、8B、10C、13D、149、计算机中一个存储单元可以存储多少信息_____。
A、1bitB、1ByteC、1KBD、512B10、下列说法正确的是:____A、在计算机中,存储器分为指令存储器和数据存储器。
B、电子计算机的最小信息单位是Byte。
C、微型存储器的容量是以Byte为最小单位来计算的。
D、在“1KB=1024B”中,“B”代表的是Bit。
11、一个CPU的寻址能力为8KB,那么它的地址总线的宽度为____。
A、8B、10C、12D、1312、下列说法中正确的是____。
A、不同的微处理器有相同的机器指令集。
B、机器语言和汇编语言都需要编译程序来编译成机器指令。
C、每一个汇编指令都对应唯一的一个机器指令。
汇编语言课后习题及答案_按章节_超全面[1]
`00第一章课外练习题一、单项选择题:1.从键盘输入的字符,在计算机内存储的是它的(A)(A)二进制编码(B)四进制编码(C)八进制编码(D)十六进制编码2.6位无符号二进制数能表示的最大十进制数是(B)。
(A)64 (B)63 (C)32 (D)31 3.十进制数269变换为十六进制数是(C)。
(A)10B (B)10C (C)10D (D)10E 4.8位的微型计算机系统是以16位来表示地址,则该微机系统有(C)个地址空间。
(A)255 (B)65535 (C)65536 (D)1048576 5.8位有符号二进制数能表示的最大十进制数是(D)。
(A)256 (B)255 (C)128 (D)127 6.十六进制数88H,可表示成下面几种形式,请找出错误的表示(D)。
(A)无符号十进制数136 (B)带符号十进制数-120(C)压缩型BCD十进制数88 (D)8位二进制数-8的补码表示7.有一个数值152,它与十六进制数6A相等,那么该数值是(B)。
(A)二进制数(B)八进制数(C)十进制数(D)四进制数8.7位ASCII总共可表示(C)个符号。
(A)256 (B)127 (C)128 (D)255 9.4B的字长是(C)。
(A)8位(B)16位(C)32位(D)64位二、判断题(判断每题正误,对的在题后括号内划“√”,错的划“×”)1.字节通常用英文单词“Bit”来表示(×)。
2.目前广泛使用的Pentium计算机其字长为5个字节(×)。
3.存储器中将8个相邻的二进制位作为一个单位,这种单位称为字节(√)。
4.微型计算机的字长并不一定是字节的整数倍(×)。
三、填空题1.8位有/无符号整数的表示范围写成16进制形式为(80~~7F)/(00~~FF)。
2.己知:计算机中有一个“01100001”编码,如果把它看作是无符号数,它是十进制什么数(97);如果认为它是BCD,则表示(01100001)BCD;认为它是某个ASCII,则代表(a)字符。
汇编语言与接口技术课后答案(1-8章完整版)-王让定朱莹编(下载后可查看剩余几章内容)
第一章(下载后可查看)第二章1.8086/8088 CPU 的地址总线有多少位?其寻址范围是多少?答:8086/8088 CPU 的地址总线共20位, 最大可寻址1MB空间。
2.8086/8088 CPU分为哪两个部分?各部分主要由什么组成?答:8086/8088 CPU 分为总线接口部件(BIU)和执行部件(EU)两个部分。
其中BIU包括:4 个16 位的段地址寄存器(CS、DS、SS、ES);1个16位的指令指针寄存器IP;1个20位的地址加法器;指令队列寄存器;内部寄存器;输入输出总线控制逻辑;EU包括:4 个16 位的通用数据寄存器(AX、BX、CX、DX);4个16位的专用寄存器(BP、SP、SI、DI);1个16位的标志寄存器FR;4. 8086/8088 CPU 中有几个通用寄存器?有几个变址寄存器?有几个指针寄存器?通常哪几个寄存器亦可作为地址寄存器使用?答:8086/8088 CPU 中共有:8个16位的通用寄存器AX、BX、CX、DX 、BP、SP、SI、DI;2 个变址寄存器SI 、DI;2 个指针寄存器BP、SP;其中BX、BP、SI 、DI 亦可作地址寄存器。
5.8086/8088 CPU 中有哪些标志位?它们的含义和作用如何?答:8086/8088 CPU中共有9个标志位,其中DF、IF 和TF为控制标志位,其余6 个为状态标志位。
它们的含义和作用如下所示:CF(Carry Flag) 进位标志: 若算术运算的结果产生了进位或借位( 对字节操作最高位是D7位;对字操作最高位是D15位),则CF=1,否则CF=0。
PF(Parity/Even Flag) 奇偶标志:如果运算结果中含有偶数个1, 则PF=1,否则PF=0。
此标志位主要用于数据通信中, 检测数据传送有无出错。
AF(Auxiliary Carry Flag) 辅助进位标志: 用于反映一个字节( 字的低字节) 的低4位向高4位有无进位(借位)的情况,有进(借)位时,AF=1,否则AF=0。
第6章由机器语言到高级语言:程序编写与编译练习题答案解析
第6章由机器语言到高级语言:程序编写与编译1、关于计算机语言,下列说法不正确的是_____。
(A)所有源程序最后都需被转换为汇编语言程序,机器才能够执行;(B)所谓“高级语言”和“低级语言”是指其和机器硬件的相关程度,不涉及机器硬件的语言为高级语言,而与机器硬件相关的语言则为低级语言;(C)低级语言程序执行效率高是因为用低级语言编程时可以充分利用硬件的各种特殊性,而高级语言则只能使用硬件的标准结构;(D)高级语言编程效率高是因为其可用大粒度积木块来构造程序,比一行行语句、一条条指令来编程效率高出很多。
(E)上述有不正确的。
答案:A解释:本题考核对“计算机语言”的理解。
(A)所有源程序最后都需被转换为机器语言程序,机器才能够执行,所以(A)错误;(B)(C)和(D)的叙述都是正确的。
具体内容请参考第六章视频之“从机器语言到汇编语言”以及第六章课件。
2、关于计算机语言,下列说法不正确的是_____。
(A)汇编语言和机器语言是以指令为单位来编写程序;(B)高级语言是以语句为单位来编写程序,一条语句相当于若干条指令(或者说一条语句可用若干条指令来实现);(C)面向对象语言或可视化构造语言是以对象(类)为单位来编写程序,一个对象相当于若干条语句((或者说一个对象可用若干条语句来实现);(D)我们可以设计一种新语言,让用户以其更熟悉的对象(类)来编写源程序,然后提供一个编译器将该源程序转换成某种已广泛使用的高级语言源程序,就可以让机器执行该程序。
(E)上述有不正确的。
答案:E解释:本题考核对“计算机语言”的理解。
(A)(B)(C)和(D)的叙述都是正确的,所以选择(E)。
具体内容请参考第六章视频之“从机器语言到汇编语言”以及第六章课件。
3、关于计算机语言的编译,下列说法不正确的是_____。
(A)需要“分词”,将其中的常量、变量名和保留字识别出来,并分类及编号;(B)需要识别每一条语句所对应的“模式”。
任意语句的常量和变量名被归为“标识符”类别,而标识符与保留字的不同组合关系构成了语句的模式;计算机语言是由有限的语句模式构成的;(C)对每一种模式,都有相应的组合构造方法,即模式可被认为是由原子模式或说基本模式通过组合的方法构造出来的,对原子模式或者基本模式可以事先写好其相应的目标语言的指令或语句;(D)按照模式由原子模式的组合次序,可将模式语句转换成目标语言的指令或语句;进一步按照分类及编号将常量、变量名代入形成最终的目标语言程序,完成编译;(E)上述有不正确的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题6
条件转移指令Jxx所利用的条件保存在何处?有多少个不同条件的转移指令?
保存在EFLAGES寄存器中
共16个(P107)
习题7
JA和JG指令发生跳转的条件都是“大于”,它们有什么区别?
在处理带符号值和无符号值时有所区别。计算无符号值时,使用JA,对于带符号值,使用JG。
CMP %ESI,%EAX JO overflow
(5)若ESI≤EAX,转到less_eq执行;
CMP %EAX,%ESI JLE less_eq
(6)若EDI≤EDX,转到below_eq执行。
CMP %EDX,%EDI JBE below_eq
11.
Pentium Pro处理器为IA-32指令系统增加了一条实用的条件传送指令CMOVxx,其中的条件xx与条件转移指令Jxx的条件xx相同。请用一条CMOV指令代替如下程序片断中的条件转移指令和其后的传送指令(含标号):
第
习题1.指令指针EIP是通用寄存器还是专用寄存器?有指令能够直接给它赋值吗?哪些指令的执行会改变它的值?
解答:EIP是专用寄存器,不能通过指令直接给它赋值。可以改变其值的指令有:
(1)无条件分支,包括:跳转(jmp)、调用(call)、中断(int)。
(2)条件分支,与标志位CF、OF、PF、SF、ZF相关的条件跳转指令。
(1)
decl %ecx
jz contiune
movl %eax,%ebx
contiune:
(2)
addl $1,%ecx
jnc contiune
movl %eax,%ebx
contiune:
(3)
cmpl %ebx,%eax
jbe contiune
movl %eax,%ebx
contiune:
解答
(3)循环指令,LOOP、LOOPE等。
3.
相对于BASIC语言中GOTO语句作用的IA-32处理器指令是哪条?
跳转指令jmp
习题4.
IA-32处理器通过改变EIP寄存器的数值就可以改变程序,如果程序需要无条件跳转到标号done位置执行,使用“MOVL done, %EIP”语句是否可以达到,为什么?如果不能实现该功能,应该使用哪条指令?
(1)若EDX > EDI,转到above执行;
CMP %EDI,%EDX JA above
(2)若EAX > ESI,转到greater执行;
CMP %ESI,%EAX JG greater
(3)若ECX = 0,转到zero执行;
CMP $0,%ECX JE zero
(4)若EAX-ESI产生溢出,转到overflow执行;
习题8.执行如下程序片断后,CMP指令分别使得5个状态标志CF、ZF、SF、OF和PF为0还是为1?它会使得哪些条件转移指令条件成立、发生转移?
movl $0x20, %eax
movl $0x80, %ebx
cmpl %ebx,%ea得发生转移的指令有:JC JS JP JNZ JNO
习题13.
请问如下LOOP指令执行了多少次?
movl $0, %ecx
repeat:loop repeat
解答:
loop执行时,先将ecx中的值减1,使之变为-1(0xFFFFFFFF),然后进行判断是否为0。这里32位整数的最大值为232,故loop执行了232次。
14.
请用两条指令实现JECXZ指令的功能。
cmp $0,%ecx
je address
(1)CMOVNZ %eax, %ebx
(2)CMOVC %eax, %ebx
(3)CMOVA %eax, %ebx
12.
现代处理器当中,简单的多条指令常比一条复杂的指令执行速度快。例如,GCC编译器就不使用LOOP指令,而是使用与其功能相同的两条指令,这两条指令是什么?
dec %ecx
jnz loop
习题9.有如下程序片断,请使用一条指令代替其中的两条指令:
(1)
again:
...
jz next
jmp again
next:
(2)
again:
...
jle next
jmp again
next:
解答:(1)jnz again
(2)jg again
10.
假设EAX和ESI存放的是有符号整数,EDX和EDI存放的是无符号整数,请用比较指令和条件转移指令实现以下判断: