汇编与接口 第七章作业
- 格式:doc
- 大小:24.50 KB
- 文档页数:3
第七章参考答案1、操作系统为用户提供的接口有:作业级接口与程序级接口。
作业级接口:操作系统为用户对作业运行全过程控制提供的功能(1) 联机接口(交互式)(2) 脱机接口程序级接口:系统为用户在程序一级提供有关服务而设置,由一组系统调用命令组成•负责管理和控制运行的程序•并在这些程序与系统控制的资源和提供的服务间实现交互作用•用汇编语言:在程序中直接用系统调用命令•用高级语言:可在编程时使用过程调用语句2、接口包括3部分:一组联机命令,终端处理程序,命令解释程序3、联机命令通常有以下几类:(1)系统访问类,包括Login、Password等命令;(2)磁盘操作类,包括Format,Diskcopy,Diskcomp,Bakeup等命令;(3)文件操作类,包括Type、Copy、Comp、Rename、Del等命令;(4)目录操作类,包括Mkdir、dir、rmdir、tree、chdir等命令;(5)通信类;(6)其它命令(见书P222-223)。
4、I/O重定向—用于I/O操作的设备可以更换(即重定向)而不必改变应用程序。
例如:我们正在调试一个应用程序,可将程序的所有输出送到屏幕;而程序调试后,如果需要将程序的结果进行打印,此时需要将I/O重定向的数据结构—逻辑设备表中的显示终端改为打印机,而不修改程序。
I/O重定向具有很大的使用价值,现已经被广泛应用在各种OS 中。
(在UNIX与DOS中有具体的实现形式,可见P230)。
5、就是把第一个命令的输出作为第二个命令的输入;类似地,又把第二个命令的输出作为第三个命令的输入;这样,就由两条已上的命令形成一条管道。
在DOS与UNIX中用“|”作为管道符号。
其格式为 command1| command2| command3|…. commandn 6、见书P22311、COPY命令13、系统调用方式与程序中一般的调用方式的相同点:(1)改变指令流程;(2)重复执行和公用;(3)改变指令流程后需要返回原处系统调用方式与程序中一般的调用方式的不同点:(1)运行在不同的系统状态:一般过程调用,其调用程序和被调用程序都运行在相同状态(核心态或用户态);系统调用:调用程序在用户态,被调用程序在系统态。
作业1(第二章)1、8086系统中,设段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时指令的物理地址为多少,指向此地址的CS和IP值是唯一的吗?2、T1状态下,8086的数据/地址线上是什么信息,用哪个信号将此信息锁存起来4、若CS=A000H,求当前代码段在存储器中的物理地址范围是什么?若数据段位于52000H 到61FFFH的64K范围内,问DS=?5、若当前SS=3500H,SP=0800H,说明堆栈段在存储器中的物理地址,若此时入栈10个字节,SP内容是什么?若再出栈6个字节,SP为什么值?6、某程序数据段中存放了两个字,1EE5H和2A8CH,已知(DS)=7850H,数据存放的偏移地址为3121H及285AH。
试画图说明它们在存储器中的存放情况,若要读取这两个字,需要对存储器进行几次操作?作业2:(第五章)1、某一个微机系统中,有8块I/O接口芯片,每个芯片占有8个端口地址,若起始地址为9000H,8块芯片的地址连续分布,用74LS138作译码器,试画出端口译码电话,并说明每块芯片的端口地址范围。
作业3:(第七章)1、已知:SP=0100H、SS=0500H、PSW=0240H,在存储单元中已有内容为(00024)=0060H、(00026H)=1000H,在(0800H:00A0H)中有中断指令INT 9。
试问,执行INT 9指令后,SS、SP、CS、IP、PSW的内容是什么?栈顶的三个字是什么?2、中断向量指什么,放在哪里?,对应8086的1CH的中断向量存放在哪里,如果1CH的中断处理程序从5110H:2030H开始,则中断向量应怎样存放?3、假如外设A1、A2、A3、A4、A5按优先级排列,外设A1优先级最高,按下列提问,说明中断处理的运行次序,(中断服务程序中有STI指令)(1)外设A3,A4同时发中断请求;(2)外设A3中断处理中,外设A1发中断请求;(3)外设A1中断处理未完成前,发出EOI结束命令,外设A5发中断请求。
1.实现W=(3X+6Y)*4-8Z,设X=5, Y=3, Z=19解:源程序如下:DSEG SEGMENTX DB 5Y DB 3Z DB 19W DW ?DSEG ENDSCSEG SEGMENTASSUME CS:CSEG, DS:DSEGMOV AX, DSEGMOV DS, AXBEGIN: MOV AL, XMOV BL, ALSHL AL, 1ADD AL, BL ; AL=3XMOV BL, YSHL BL, 1MOV BH, BLSHL BL, 1ADD BL, BH ; BL=6YADD AL, BL ; AL=(3X+6Y)MOV BL, 4MUL BL ; AX=(3X+6Y)*4MOV BX, AX ; BX=(3X+6Y)*4MOV AL, ZMOV CL, 8MUL CL ; AX=8ZSUB BX, AX ; BX=(3X+6Y)*4-8ZMOV W, BXMOV AH, 4CHINT 21HCSEG ENDSEND START2.将存储单元DAT中的两个压缩的BCD码拆成两个非压缩的BCD码(高位BCD码放在 DAT+1单元,低位BCD码放在DAT+2单元)。
解:源程序如下:DATA SEGMENTDAT DB 0A5H, 2 DUP(?)DATA ENDSCODE SEGMENTASSUME CS: CODE, DS:DATASTART: MOV AX, DATAMOV DS, AXMOV AL, DAT ; 取被操作数MOV BL, AL ; 备份操作数MOV CL, 4 ; 设置准备移动的位数SHR BL, CL ; 取操作数的高 4 位MOV DAT+1, BL ; 将高 BCD 数存入 dat+1AND AL, 0FH ; 取操作数的低 4 位MOV DAT+2, AL ; 将低 BCD 数存入 dat+2MOV AH, 4CHINT 21HCODE ENDSEND START3. 试编程实现下式(设字单元X和Y都是无符号数):2X+8 ( X>100 )Y=X+1 ( X<=100 )解:源程序如下:DATA SEGMENTX DW 100HY DW ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV AX,XCMP AX, 100JBE BE1ADD AX, AXADD AX, 8JMP RSTBE1:INC AXRST:MOV Y, AXMOV AH,4CHINT 21HCODE ENDSEND START4.对字节单元TAB中的三个有符号数据进行排序,使低地址单元数据最小,高地址单元数据最大。
微机原理与接口技术第七章课后答案1、 Keil uVision 5集成开发环境中,钩选“creat Hex File”复选框后,默认状态下的机器代码文件名与()相同。
[单选题] *A、项目名(正确答案)B、文件名C、项目文件夹名D、主函数名2、 Keil uVision 5集成开发环境中,编译生成的机器代码文件的后缀名为() [单选题] *A、.mifB、.asmC、 .hex(正确答案)D、 .uvproj3、累加器与扩展RAM进行数据传送,采用的助记符是() [单选题] *A、MOVB、 MOVCC、MOVX(正确答案)D、 XCH4、对于高128字节,访问时采用的寻址方式是() [单选题] *A、直接寻址B、寄存器间接寻址(正确答案)C、变址寻址D、立即数5、对于特殊功能寄存器,访问时采用的寻址方式是() [单选题] *A、直接寻址(正确答案)B、寄存器间接寻址C、变址寻址D、立即数6、对于程序存储器,访问时采用的寻址方式是() [单选题] *A、直接寻址B、寄存器间接寻址C、变址寻址(正确答案)D、立即数7、定义变量x为8位无符号数,并将其分配的程序存储空间,赋值100,正确的是() [单选题] *A、unsigned char code x=100;(正确答案)B、 unsigned char data x=100;C、 unsigned char xdata x=100;D、 unsigned char bdata x=100;8、当执行P1=P1&0xfe;程序时相当于对P1.0进行()操作,不影响其他位。
[单选题] *A、置1B、清零(正确答案)C、取反D、不变9、当执行P2=P2|0x01;程序时相当于对P2.0进行()操作,不影响其他位 [单选题] *A、置1(正确答案)B、清零C、取反D、不变10、当执行P3=P3^0x01;程序时相当于对P3.0进行()操作,不影响其他位 [单选题] *A、置1B、清零C、取反(正确答案)D、不变11、当(TMOD)=0x01时,定时/计数器T1工作于方式()状态 [单选题] *A、0,定时(正确答案)B、 0,计数C、 1,定时D、 1,计数12、当(TMOD)=0x00时,T0X12为1时,定时时/计数器T0计数脉冲是() [单选题] *A、系统时钟;(正确答案)B、系统时钟的12分频信号;C、P3.4引脚输入信号;D、 P3.5引脚输入信号13、当(IT0)=1时,外部中断0触发的方式是() [单选题] *A、高电平触发;B、低电平触发;C、下降沿触发(正确答案)D、上升沿/下降沿触皆触发14、 IAP15W4K58S4单片机串行接口1在工作方式1状态下工作时,一个字符帧的位数是() [单选题] *A、8B、 9C、 10(正确答案)D、1115、当(SM1)=1,(SM0)=0时,IAP15W4K58S4单片机的串行接口工作方式为()[单选题] *A、工作方式0B、工作方式1(正确答案)C、工作方式2D、工作方式316、 IAP15W4K58S4单片机的A/D转换模块中转换电路的类型是() [单选题] *A、逐次比较型(正确答案)B、并行比较型C、双积分型D、Σ-Δ型17 IAP15W4K58S4单片机的A/D转换的8个通道是在()口 [单选题] *A、P0B、 P1(正确答案)C、 P2D、P318、IAP15W4K58S4单片机的PWM计数器是一个()位的计数器。
第七章1. 什么叫中断?什么叫可屏蔽中断和不可屏蔽中断?答:当CPU正常运行程序时,由于微处理器内部事件或外设请求,引起CPU中断正在运行的程序,转去执行请求中断的外设(或内部事件)的中断服务子程序,中断服务程序执行完毕,再返回被中止的程序,这一过程称为中断。
可屏蔽中断由引脚INTR引入,采用电平触发,高电平有效,INTR信号的高电平必须维持到CPU响应中断才结束。
可以通过软件设置来屏蔽外部中断,即使外部设备有中断请求,CPU可以不予响应。
当外设有中断申请时,在当前指令执行完后,CPU首先查询IF位,若IF=0,CPU就禁止响应任何外设中断;若IF=1,CPU就允许响应外设的中断请求。
不可屏蔽中断由引脚NMI引入,边沿触发,上升沿之后维持两个时钟周期高电平有效。
不能用软件来屏蔽的,一旦有不可屏蔽中断请求,如电源掉电等紧急情况,CPU必须予以响应。
2. 列出微处理器上的中断引脚和与中断有关的指令。
答:INTR:可屏蔽中断请求输入引脚。
NMI:不可屏蔽中断请求输入引脚INTA:可屏蔽中断响应引脚INT n :软件中断指令,其中n为中断类型号INTO:溢出中断,运算后若产生溢出,可由此指令引起中断。
CLI:中断标志位IF清0STI:置位中断标志位为13. 8086/8088系统中可以引入哪些中断?答:(1)外部中断两种外部中断:不可屏蔽中断NMI和可屏蔽中断INTR(2)内部中断内部中断又称软件中断,有三种情况引起:①INT n :中断指令引起的中断②CPU的某些运算错误引起的中断:包括除法错中断和溢出中断③由调试程序debug设置的中断:单步中断和断点中断。
4. CPU响应中断的条件是什么?简述中断处理过程。
答:CPU响应中断要有三个条件:外设提出中断申请;本中断位未被屏蔽;中断允许。
可屏蔽中断处理的过程一般分成如下几步:中断请求;中断响应;保护现场;转入执行中断服务子程序;恢复现场和中断返回。
CPU在响应外部中断,并转入相应中断服务子程序的过程中,要依次做以下工作:⑴从数据总线上读取中断类型号,将其存入内部暂存器。
第7章输入/输出程序设计
本章要点: CPU与外设交换数据的3种方法,查询传送方式,中断传送方式,中断向量表的使用,以及中断程序设计的基本方法,直接使用IN/OUT指令进行I/O程序设计。
一、单项选择题
7.1.1 执行“INT 10H”指令时,其中断处理程序的入口地址在(D)。
A. 10H~13H
B. 20H~23H
C. 30H~33H
D. 40H~43H
7.1.2 执行“INT 10H”指令时,入栈的内容有(D)。
A. CS、IP
B. PSW、IP
C. PSW、CS
D. PSW、CS、IP
三、简答题
7.3.1 写出分配给INT 8的中断向量在中断向量表中的物理地址。
_20H~23H单元中__ 7.3.2 中断类型号为14H的中断向量在存储器的哪些单元中?_0:50H~0:53H四单元中_ 7.3.3 写出指令将一个字节数据输出到端口25H。
_OUT 25H,AL_________________ 7.3.4 写出指令将一个字数据从端口1000H输入。
_MOV DX,1000H____IN AL,DX__。
第七章1. 什么叫中断?什么叫可屏蔽中断和不可屏蔽中断?答:当CPU正常运行程序时,由于微处理器内部事件或外设请求,引起CPU中断正在运行的程序,转去执行请求中断的外设(或内部事件)的中断服务子程序,中断服务程序执行完毕,再返回被中止的程序,这一过程称为中断。
可屏蔽中断由引脚INTR引入,采用电平触发,高电平有效,INTR信号的高电平必须维持到CPU响应中断才结束。
可以通过软件设置来屏蔽外部中断,即使外部设备有中断请求,CPU可以不予响应。
当外设有中断申请时,在当前指令执行完后,CPU首先查询IF位,若IF=0,CPU就禁止响应任何外设中断;若IF=1,CPU就允许响应外设的中断请求。
不可屏蔽中断由引脚NMI引入,边沿触发,上升沿之后维持两个时钟周期高电平有效。
不能用软件来屏蔽的,一旦有不可屏蔽中断请求,如电源掉电等紧急情况,CPU必须予以响应。
2. 列出微处理器上的中断引脚和与中断有关的指令。
答:INTR:可屏蔽中断请求输入引脚。
NMI:不可屏蔽中断请求输入引脚INTA:可屏蔽中断响应引脚INT n :软件中断指令,其中n为中断类型号INTO:溢出中断,运算后若产生溢出,可由此指令引起中断。
CLI:中断标志位IF清0STI:置位中断标志位为13. 8086/8088系统中可以引入哪些中断?答:(1)外部中断两种外部中断:不可屏蔽中断NMI和可屏蔽中断INTR(2)内部中断内部中断又称软件中断,有三种情况引起:①INT n :中断指令引起的中断②CPU的某些运算错误引起的中断:包括除法错中断和溢出中断③由调试程序debug设置的中断:单步中断和断点中断。
4. CPU响应中断的条件是什么?简述中断处理过程。
答:CPU响应中断要有三个条件:外设提出中断申请;本中断位未被屏蔽;中断允许。
可屏蔽中断处理的过程一般分成如下几步:中断请求;中断响应;保护现场;转入执行中断服务子程序;恢复现场和中断返回。
CPU在响应外部中断,并转入相应中断服务子程序的过程中,要依次做以下工作:⑴从数据总线上读取中断类型号,将其存入内部暂存器。
第一章(下载后可查看)第二章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。
第1章进制及码元1.进制转换129= 81H= 10000001B=201Q298= 12AH= 100101010B=452Q1000= 3E8H= 1111101000B= 1750Q5DH= 1011101 B= 135 Q= 93 D3E8H= 1111101000 B= 1750Q= 1000 D;357Q=11101111 B= 0EF H= 239 D3.数据表示范围:一字节的无符号数表示范围为0~255,有符号数(补码)表示范围为-l28—+127。
一个字的无符号数表示范围为0~65535,有符号数(补码)表示范围为—32768~+32767。
N位二进制数的无符号数表示范围为0~(2N-1),有符号数(补码)表示范围为-2N-1~(2N-1-1).4.35H代表的ASCII字符为'5',代表十六进制数时等价的十进制值为53 ,代表压缩8421BCD码等价的十进制值为35 ,代表非压缩8421BCD码等价的十进制值为5。
5.FFH代表无符号数时等价的十进制值为255 ,代表补码有符号数时等价的十进制值为一1 ,代表反码有符号数时等价的十进制值为一0 ,代表原码有符号数时等价的十进制值为一l27。
6.--20的8位二进制补码为ECH ,原码为94H ,反码为EBH 。
158的16位二进制补码为009EH,原码为009EH ,反码为009EH 。
第2章微机硬件基础1.计算机系统硬件的五大功能部件及其主要功能?答:硬件系统按功能模块分为运算器、控制器、存储器、输入设备、输出设备。
运算器主要完成算术运算、逻辑运算及移位运算,其中主要包括算术逻辑运算单元Arithmetic Logic Unit,ALU)和暂存数据(原始、中间、结果)的寄存器(Register,R)。
控制器实现对计算机部件的协调调度完成指令的分析执行,其中主要有程序计数器Program Counter,PC)或叫指令指针(Instruction Pointer,IP)、指令寄存器(Instruction register,IR)、指令译码器(Instruction Decoder,ID)、微操作命令发生器、时序发生器等。
微机原理、汇编与接口技术第七章习题答案7.12 TF=0时,禁止单步中断。
PUSHF ;将标志寄存器传送给AXPOP AXAND AX, 0FEFFH ;将AX的D8位置0,其余位不变PUSH AX ;将AX传送给标志寄存器POPF7.1171H, 3040H:2200H和32600H。
7.13stack segment stack 'stack'dw 32 dup(0)stack endsdata segmentIBUF DB 255, 0, 255 DUP(0)BCDMM DB 127 DUP(0)data endscode segmentbegin proc farassume ss: stack, cs: code, ds: datapush dssub ax, axpush axMOV DS, AX ;DS为中断向量表的段首址MOV AX, SEG I79 ;中断服务程序的段地址填入中断向量表MOV DS: 1E6H, AX ;1E6H=79H*4+2MOV AX, OFFSET I79 ;中断服务程序的偏移地址填入中断向量表MOV DS:1E4H, AXmov ax, datamov ds, axMOV DX, OFFSET IBUF ;键入一串十进制数MOV AH, 10INT 21HMOV DI, OFFSET BCDMM ;建立压缩BCD数存放区的地址指针INT 79Hretbegin endpI79 PROC FARINC DX ;DX指向IBUF的第二单元MOV BX,DXADD BL,[BX] ;BX指向字符串的最后一个字符INC DX ;DX指向第一个字符,即IBUF的第三单元MOV CL,4 ;二进制数移4位即BCD数移1位,移位次数送CL I790: CMP BX,DXJE I792 ;BX等于DX,则还有最高位1位待处理JA I791 ;BX高于DX,继续处理2位BCD数IRET ;BX低于DX结束I791: MOV AX,[BX-1] ;取2位BCD数的字符SUB BX,2 ;调整字符串指针AND AH,0FH ;BCD字符转变为BCD数保留在AH的低4位SHL AL,CL ;BCD字符转变为BCD数保留在AL的高4位OR AL,AH ;存2位压缩BCD数INC DI ;调整压缩BCD数存放地址指针JMP I790I792: MOV AL,[BX] ;取第一个字符,即BCD数的最高位字符AND AL,0FH; ;将BCD数字符转换为BCD数MOV [DI],AL ;存最高位BCD数IRETI79 ENDPcode endsend begin7.14stack segment stack 'stack'dw 32 dup(0)stack endsdata segmentBUFF DB 8 DUP(0)data endscode segmentbegin proc farassume ss:stack,cs:code,ds:datapush dssub ax,axpush axMOV ES,AXmov ax,datamov ds,axMOV AX,SEG IRQ9IS ;中断服务程序入口地址送中断向量表MOV ES:1C6H,AXMOV AX,OFFSET IRQ9ISMOV ES:1C4H,AXMOV BX,OFFSET BUFFMOV CX,8MOV DX,380H ;指向0通道地址INLOP: OUT DX,AL ;启动转换,锁存模拟通道地址IN AL,0A1H ;读屏蔽字AND AL,0FDH ;改变屏蔽字,允许IRQ9中断OUT 0A1H,ALJMP$IN AL,DX ;读取转换结果MOV [BX],ALINC BX ;指向下一通道的存放地址INC DX ;指向下一通道的地址LOOP INLOPRetbegin endpIO809: MOV AL,61H ;指定中断结束命令OUT 0A0H,ALMOV AL,62HOUT 20H,ALIN AL,0A1H ;恢复屏蔽字,禁止IRQ9中断OR AL,2OUT 0A1H,ALPOP AX ;修改返址INC AXINC AXPUSH AXIRETcode endsend start出师表两汉:诸葛亮先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。
P285
3.8259A的初始化命令字有哪些?各自如何定义?如何解决地址问题。
答:有4个。
分别为ICW1、ICW2、ICW3、ICW4。
各自定义参考教材。
首先在偶地址(A0=0)送ICW1(D4=1),然
后在奇地址(A0=1)根据顺序分别送ICW2→ICW3→ICW4。
其中ICW2必须送,单片不需要送ICW3,是否送ICW4有ICW1中的D0位是否为1决定。
D0=1送ICW4,并且8086系统必须送ICW4。
4.假设8259A的端口地址为92H、93H,如何用它的命令字来禁止IR3和IR5引脚上的请求,又如何撤销这一禁止命令?
解:运用操作命令字OCW1来完成,该操作命令字是奇地址93H
IN AL 93H
OR AL,00101000
OUT 93H,AL
撤销:
IN AL 93H
AND AL,11010111
OUT 93H,AL
5.假设8259A的端口地址为92H、93H,按照如下要求对8259A设置初始化命令字,系统中只有一片8259A,中断请求信号采用电平触发,中断类型码为60H~67H,用特殊嵌套,不用缓冲方式,采用中断自动结束方式。
解:ICW1:00011011(1BH;一片8259A,中断请求信号采用电平触发,设置ICW4)ICW2:60H(中断类型码60 H~67H)
单片不需要ICW3
ICW4:00010111(17H;用特殊嵌套,不用缓冲方式,采用中断自动结束方式)
MOV AL, 1BH
OUT 92H,AL
MOV AL, 60H
OUT 93H,AL
MOV AL, 17H
OUT 93H,AL
P352
2.A/D和D/A转换器在微机控制系统中起什么作用?
答:A/D负责将输入的模拟信号转换成数字信号供计算机处理。
D/A:负责将计算机处理完的数字信号转换为模拟信号去控制外部设备。