首页 《微机原理与接口技术》(第二版)龚尚福-习题解析和实验指导(1)

《微机原理与接口技术》(第二版)龚尚福-习题解析和实验指导(1)

举报
开通vip

《微机原理与接口技术》(第二版)龚尚福-习题解析和实验指导(1) 2.2 8086微处理器由哪几部分组成?各部分的功能是什么? 【解】:按功能可分为两部分:总线接口单元BIU(Bus Interface Unit)和执行单元EU(Execution Unit)。 总线接口单元BIU是8086 CPU在存储器和I/O设备之间的接口部件,负责对全部引脚的操作,即8086对存储器和I/O设备的所有操作都是由BIU完成的。所有对外部总线的操作都必须有正确的地址和适当的控制信号,BIU中的各部件主要是围绕这个目标设计的。它提供了16位双向数据总线、20位地址总线和若干条控制总线。 ...

《微机原理与接口技术》(第二版)龚尚福-习题解析和实验指导(1)
2.2 8086微处理器由哪几部分组成?各部分的功能是什么? 【解】:按功能可分为两部分:总线接口单元BIU(Bus Interface Unit)和执行单元EU(Execution Unit)。 总线接口单元BIU是8086 CPU在存储器和I/O设备之间的接口部件,负责对全部引脚的操作,即8086对存储器和I/O设备的所有操作都是由BIU完成的。所有对外部总线的操作都必须有正确的地址和适当的控制信号,BIU中的各部件主要是围绕这个目标 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 的。它提供了16位双向数据总线、20位地址总线和若干条控制总线。 其具体任务是:负责从内存单元中预取指令,并将它们送到指令队列缓冲器暂存。CPU执行指令时,总线接口单元要配合执行单元,从指定的内存单元或I/O端口中取出数据传送给执行单元,或者把执行单元的处理结果传送到指定的内存单元或I/O端口中。 执行单元EU中包含1个16位的运算器ALU、8个16位的寄存器、1个16位标志寄存器FR、1个运算暂存器和执行单元的控制电路。这个单元进行所有指令的解释和执行,同时管理上述有关的寄存器。EU对指令的执行是从取指令操作码开始的,它从总线接口单元的指令队列缓冲器中每次取一个字节。如果指令队列缓冲器中是空的,那么EU就要等待BIU通过外部总线从存储器中取得指令并送到EU,通过译码电路 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 ,发出相应控制命令,控制ALU数据总线中数据的流向。 2.3 简述8086 CPU的寄存器组织。 【解】:(1)通用寄存器:通用寄存器又称数据寄存器,既可作为16位数据寄存器使用,也可作为两个8位数据寄存器使用。当用作16位时,称为AX、BX、CX、DX。当用作8位时,AH、BH、CH、DH存放高字节,AL、BL、CL、DL存放低字节,并且可独立寻址。这样,4个16位寄存器就可当作8个8位寄存器来使用。 (2)段寄存器:段寄存器共有4个CS、DS、SS、ES。代码段寄存器CS表示当前使用的指令代码可以从该段寄存器指定的存储器段中取得,相应的偏移值则由IP提供;堆栈段寄存器SS指定当前堆栈的起始地址;数据段寄存器DS指示当前程序使用的数据所存放段的起始地址;附加段寄存器ES则指出当前程序使用附加段地址的起始位置,该段一般用来存放原始数据或运算结果。 (3)指针和变址寄存器:堆栈指针SP用以指出在堆栈段中当前栈顶的地址。入栈(PUSH)和出栈(POP)指令由SP给出栈顶的偏移地址。基址指针BP指出要处理的数据在堆栈段中的基地址,故称为基址指针寄存器。变址寄存器SI和DI用来存放当前数据段中某个单元的偏移量。 (4)指令指针与标志寄存器:指令指针IP的功能跟Z80 CPU中的程序计数器PC的功能类似。正常运行时,IP中存放的是BIU要取的下一条指令的偏移地址。它具有自动加1功能,每当执行一次取指令操作时,它将自动加1,使它指向要取的下一内存单元,每取一个字节后IP内容加1,而取一个字后IP内容则加2。某些指令可使IP值改变,某些指令还可使IP值压入堆栈或从堆栈中弹出。标志寄存器FLAGS是16位的寄存器,8086共使用了9个有效位,标志寄存器格式如图2.5所示。其中的6位是状态标志位,3位为控制标志位。状态标志位是当一些指令执行后,表征所产生数据的一些特征。而控制标志位则可以由程序写入,以达到控制处理机状态或程序执行方式的表征。 2.4 试述8086 CPU标志寄存器各位的含义与作用。 【解】:(1) 6个状态标志位的功能分别叙述如下: CF(Carry Flag)——进位标志位。当执行一个加法(或减法)运算,使最高位产生进位(或借位)时,CF为1;否则为0。 PF(Parity Flag)——奇偶标志位。该标志位反映运算结果中1的个数是偶数还是奇数。当指令执行结果的低8位中含有偶数个1时,PF=1;否则PF=0。 AF(Auxiliary carry Flag)——辅助进位标志位。当执行一个加法(或减法)运算,使结果的低4位向高4位有进位(或借位)时,AF=1;否则AF=0。 ZF(Zero Flag)——零标志位。若当前的运算结果为零,ZF=1;否则ZF=0。 SF(Sign Flag)——符号标志位。它和运算结果的最高位相同。 OF(Overflow Flag)——溢出标志位。当补码运算有溢出时,OF=1;否则OF=0。 (2) 3个控制标志位用来控制CPU的操作,由指令进行置位和复位。 DF(Direction Flag)——方向标志位。它用以指定字符串处理时的方向,当该位置“1”时,字符串以递减顺序处理,即地址以从高到低顺序递减。反之,则以递增顺序处理。 IF(Interrupt enable Flag)——中断允许标志位。它用来控制8086是否允许接收外部中断请求。若IF=1,8086能响应外部中断,反之则不响应外部中断。 注意:IF的状态不影响非屏蔽中断请求(NMI)和CPU内部中断请求。 TF(Trap Flag)——跟踪标志位。它是为调试程序而设定的陷阱控制位。当该位置“1”时,8086 CPU处于单步状态,此时CPU每执行完一条指令就自动产生一次内部中断。当该位复位后,CPU恢复正常工作。 2.5 8086中,存储器为什么采用分段管理? 【解】:8086/8088的地址总线宽度为20位,其最大寻址空间是1 MB。而其他微处理器则在实模式下只能访问前1 MB的存储器地址。实际上,实模式就是为8086/8088而设计的工作方式,它要解决在16位字长的机器里怎么提供20位地址的问题,而解决的办法是采用存储器地址分段的 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 。程序员在编制程序时要把存储器划分成段,在每个段内地址空间是线性增长的。每个段的大小可达64 KB,这样段内地址可以用16位表示。存储器分段的方法虽然给程序设计带来一定的麻烦,但这种方法可以扩大存储空间,而且对于程序的再定位也是很方便的。 2.6 什么是逻辑地址?什么是物理地址?如何由逻辑地址计算物理地址? 【解】:物理地址:完成存储器单元或I/O端口寻址的实际地址成为物理地址,CPU型号不同其物理地址也不同。物理地址是指CPU和存储器进行数据交换时实际所使用的地址,而逻辑地址是程序使用的地址。物理地址由两部分组成:段基址(段起始地址高16位)和偏移地址。前者由段寄存器给出,后者是指存储单元所在的位置离段起始地址的偏移距离。当CPU寻址某个存储单元时,先将段寄存器的内容左移4位,然后加上指令中提供的16位偏移地址而形成20位物理地址。在取指令时,CPU自动选择代码段寄存器CS,左移4位后,加上指令提供的16位偏移地址,计算出要取指令的物理地址。堆栈操作时,CPU自动选择堆栈段寄存器SS,将其内容左移4位后,加上指令提供的16位偏移地址,计算出栈顶单元的物理地址。每当存取操作数时,CPU会自动选择数据段寄存器(或附加段寄存器ES),将段基值左移4位后加上16位偏移地址,得到操作数在内存的物理地址。 2.9 在80x86微机的输入/输出指令中,I/O端号通常是由DX寄存器提供的,但有时也可以在指令中直接指定00H~0FFH的端口号。试问可直接由指令指定的I/O端口数是多少? 【解】:由于在80x86的输入/输出指令中,可以直接在00H~0FFH指定,所以直接由指令指定的I/O端口数是256。 3.1 指令分成几部分?每部分的作用是什么? 【解】:每条指令由两部分组成:操作码字段和地址码字段。操作码字段:用来说明该指令所要完成的操作。 地址码字段:用来描述该指令的操作对象。一般是直接给出操作数,或者给出操作数存放的寄存器编号,或者给出操作数存放的存储单元的地址或有关地址的信息。 3.2 指出下列MOV指令的源操作数的寻址方式: MOV AX,1234H MOV AX,BX MOV AX,[BX] MOV AX,TABLE;TABLE ;TABLE是一个变量名 MOV AX,[1234H] MOV AX,[BX+1234H] MOV AX,[BP][SI] MOV AX,[BX+SI-1234H] 【解】:MOV AX,1234H 立即寻址 MOV AX,BX 寄存器寻址 MOV AX,[BX] 寄存器间接寻址 MOV AX,TABLE ;TABLE是一个变量名 直接寻址方式 MOV AX,[1234H] 直接寻址方式 MOV AX,[BX+1234H] 寄存器相对寻址 MOV AX,[BP][SI] 基址变址寻址 MOV AX,[BX+SI-1234H] 相对地址变址寻址 3.3 设:(DS)=2000H,(BX)=0100H,(SS)=1000H,(BP)=0010H,TABLE的物理地址为2000AH,(SI)=0002H。求下列每条指令源操作数的存储单元地址: MOV AX,[1234H] MOV AX,[BX] MOV AX,TABLE[BX] MOV AX,[BP] MOV AX,[BP][SI] 【解】: 存储单元地址:(DS)×10H + EA =2000H×10H+1234H=21234H 存储单元地址:(DS)×10H +(BX)=2000H×10H+0100H=20100H 存储单元地址:(DS)×10H+EA=2000H×10H+0100H+000AH=2010AH 存储单元地址:(SS)×10H+EA=1000H×10H+0010H=10010H 储单元地址:(SS)×10H+EA=1000H×10H+0010H+0002H =10012H 3.4 设ARRAY是字数组的首地址,写出将第5个字元素取出送AX寄存器的指令, 要求 对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗 使用以下几种寻址方式: ⑴ 直接寻址 ⑵ 寄存器间接寻址 ⑶ 寄存器相对寻址 ⑷ 基址变址寻址 【解】:(1)直接寻址(2)寄存器间接寻址(3)寄存器相对寻址(4)基址变址寻址 MOV AX, ARRAY+8 MOV BX, ARRAY+8 MOV BX, 8 LEA BX, ARRAY MOV AX, [BX] MOV AX, ARRAY[BX] MOV SI, 8 MOV AX,[BX+SI] 3.7 设当前(CS)=2000H,(IP)=2000H,标号NEXT定义在当前代码段偏移地址是0100H处,(DS)=1000H,(BX)=1000H,(11000H)=00H,(11001H)=30H,数据段定义的字变量ARRAY的内容为1000H,试写出下列转移指令的目标转移地址 ⑴ JMP NEAR PTR ⑵ JMP BX ⑶ JMP WORD PTR ARRAY 【解】:⑴ JMP NEAR PTR 此转移指令的目标转移地址为:20100H ⑵ JMP BX 此转移指令的目标转移地址为:21000H ⑶ JMP WORD PTR ARRAY 此转移指令的目标转移地址为:23000H 3.8 设当前(CS)=2000H,(IP)=2000H,标号NEXT定义在3000H:1000H处。当前(DS)=1000H,(BX)=1000H,(11000H)=00H,(11001H)=03H,(11002H)=00H,(11003H)=30H,数据段定义的字变量ARRAY的内容为0300H,(ARRAY+2)=3000H,试写出下列转移指令的目标转移地址: ⑴ JMP FAR PTR NEXT ⑵ JMP DWORD ARRAY 【解】:⑴ JMP FAR PTR NEXT 此转移指令的目标转移地址为:31000H ⑵ JMP DWORD ARRAY 此转移指令的目标转移地址为:30300H 3.9 下列每组指令有何区别? (1) MOV AX,1234H MOV AX,[1234H] (2) MOV AX,TABLE MOV AX,[TABLE] (3) MOV AX,TABLE LEA AX,TALBE (4) MOV AX,BX MOV AX,[BX] 【解】:(1) MOV AX,1234H 将立即数1234H送到寄存器AX中 MOV AX,[1234H] 将存储区[1234H]中的内容送到寄存器AX中 (2) MOV AX,TABLE 将标号TABLE的地址送到寄存器AX中 MOV AX,[TABLE] 将存储区[TABLE] 中的内容送到寄存器AX中 (3) MOV AX,TABLE 将标号TABLE的地址送到寄存器AX中 LEA AX,TALBE 将标号TABLE的地址送到寄存器AX中 (4) MOV AX,BX 寄存器寻址 MOV AX,[BX] 寄存器间接寻址 3.10 MOV CS,AX指令正确吗? 【解】:MOV CS,AX指令不正确。因为CS是指令寄存器,由系统自动改变,不能由指令进行更改。 3.11 写一指令序列,将3456H装入DS寄存器。 【解】:MOV AX, 3456H MOV DS, AX 3.14 若正在访问堆栈中03600H单元,则SS和SP的值是多少? 【解】:若正在访问堆栈中03600H单元,则SS和SP的值会有好多组合,其中可以有SS是0300H,SP是0600H。 3.15 若(SS)=2000H,(SP)=000AH,先执行将字数据1234H和5678H压入堆栈的操作,再执行弹出一个字数据的操作,试画出堆栈区及SP的内容变化过程示意图(标出存储单元的物理地址)。 【解】:物理地址=(SS)×10H+SP 3.16 解释XLAT指令是怎样转换AL寄存器中的内容的。并编写一段程序用XLAT指令将BCD码0~9转换成对应的ASCII码,并将ASCII码存入数据ARRAY中。 【解】:XLAT指令是将AL的内容替换成存储单元中的一个数,往往用于代码转换。使用此指令前,先在数据段建立一个表格,表格首地址存入BX寄存器,欲取代码的表内位移量存入AL寄存器中。XLAT指令将(AL)值扩展成16位,与(BX)相加形成一个段偏移地址,段地址取(DS),据此读出代码送入AL寄存器。 程序如下:TABLE DB 30H, 31H, ┅, 39H ARRAY DB 1O DUP(?) MOV CL, 10 MOV SI, 0 MOV BX, OFFSET TABLE MOV AL, AL AGAIN: XLAT MOV [SI], AL INC SI INC AL LOOP AGAIN 3.17 若(AX)=0001H,(BX)=0FFFFH,执行ADD AX,BX之后,标志位ZF、SF、CF和OF各是什么? 【解】: (AX)= 0001H = 0000 0000 0000 0001 B + (BX)=0FFFFH = 1111 1111 1111 1111 B (AX)= 0001H = 1 0000 0000 0000 0000 B 则:ZF=1、SF=0、CF=1、OF=0 3.18 写一指令序列完成将AX寄存器的最低4位置1,最高3位清0,第7、8、9位取反,其余位不变。 【解】: OR AX, 000FH (OR AX, 0000 0000 0000 1111 B) AND AX, 1FFFH (AND AX, 0001 1111 1111 1111 B) XOR AX, 01C0H (XOR AX, 0000 0001 1100 0000 B) 3.19 试写出执行下列指令序列后AX寄存器的内容。执行 前(AX)=1234H。 MOV CL,7 SHL BX,CL 【解】:(AX) = 1234H = 0001 0010 0011 0100 B 执行后:(AX) = 0 0011 0100 0000 000 B = 0001 1010 0000 0000 B = 1A00H 4.1 假设下列指令中的所有标识符均为类型属性为字的变量,请指出下列指令中哪些是非法的?它们的错误是什么? ⑴ MOV BP,AL ⑵ MOV WORD_OP[BX+4*3][DI],SP ⑶ MOV WORD_OP1,WORD_OP2 ⑷ MOV AX,WORD_OP1[DX] ⑸ MOV SAVE WORD,DS ⑹ MOV SP,SS:DATA_WORD[BX][SI] ⑺ MOV [BX][SI],2 ⑻ MOV AX,WORD_OP1+WORD_OP2 ⑼ MOV AX,WORD_OP1-WORD_OP2+100 ⑽ MOV WORD_OP1,WORD_OP1-WORD_OP2 【解】:⑴ MOV BP,AL 两个操作数不匹配 ⑵ MOV WORD_OP[BX+4*3][DI],SP          ⑶ MOV WORD_OP1,WORD_OP2   两个内存单元之间不能直接传送数据 ⑷ MOV AX,WORD_OP1[DX] ⑸ MOV SAVE WORD,DS ⑹ MOV SP,SS:DATA_WORD[BX][SI]  当基址为BX时,选取DS寄存器 ⑺ MOV [BX][SI],2 ⑻ MOV AX,WORD_OP1+WORD_OP2 ⑼ MOV AX,WORD_OP1-WORD_OP2+100 ⑽ MOV WORD_OP1,WORD_OP1-WORD_OP2 4.2 假设VAR1和VAR2为字变量,LAB为标号,试指出下列指令的错误之处: ⑴ ADD VAR1,VAR2 ⑵ SUB AL,VAR1 ⑶ JMP LAB[SI] ⑷ JNZ VAR1 ⑸ JMP NEAR LAB 【解】:⑴ ADD VAR1,VAR2 ADD两个操作数不能同时为存储单元, MOV AX, VAR1 ADD AX, VAR2 ⑵ SUB AL,VAR1 两个操作数不匹配 SUB AX, VAR1 ⑶ JMP LAB[SI] LAB与[SI]不能相加 JMP WORD PTR [SI] ⑷ JNZ VAR1 JNZ后面应是标号,不应是变量 JNZ LAB ⑸ JMP NEAR LAB 缺少PTR运算符 JMP NEAR PTR LAB 4.3 画图说明下列语句所分配的存储空间及初始化的数据值。 ⑴ BYTE_VAR DB ’BYTE’,12,-12H,3 DUP(0,?,2 DUP(1,2),?) ⑵ WORD_VAR DW 5 DUP(0,1,2),?,-5,,'BY','TE',256H 【解】:(1) (2) 4.4 假设程序中的数据定义如下: PARTNO DW ? PNAME DB 16 DUP(?) COUNT DD ? PLENTH EQU $-PARTNO 问PLENTH的值为多少?它表示什么意义? 【解】:PLENTH的值为22,它表示数据的个数。 4.5 有符号定义语句如下: BUFF DB 1,2,3,’123’ EBUFF DB 0 L EQU EBUFF-BUFF 问L的值是多少? 【解】:PLENTH的值为6。 4.6 假设程序中的数据定义如下: LNAME DB 30 DUP(?) ADDRESS DB 30 DUP(?) CITY DB 15 DUP(?) CODE-LIST DB 1,7,8,3,2 ⑴ 用一条MOV指令将LNAME的偏移地址放入AX。 ⑵ 用一条指令将CODE_LIST的头两个字节的内容放入SI。 ⑶ 写一条伪操作使CODE_LENGHT的值等于CODE_LIST域的实际长度。 【解】: ⑴ 用一条MOV指令将LNAME的偏移地址放入AX。 MOV AX, OFFSET LANME ⑵ 用一条指令将CODE_LIST的头两个字节的内容放入SI。 MOV SI, WORD PTR CODE_LSIT ⑶ 写一条伪操作使CODE_LENGHT的值等于CODE_LIST域的实际长度。 CODE_LENGHT EQU CITY-CODE_LIST 4.7 试写出一个完整的数据段DATA_SEG,它把整数5赋予一个字节,并把整数-1,0,2,5和4放在10字数组DATA_LIST的头5个单元中。然后,写出完整的代码段,其功能为:把DATA_LIST中头5个数中的最大值和最小值分别存入MAX和MIN单元中。 【解】:参考程序如下: DATA_SEG SEGMENT DB1 DB 5 DATA_LIST DB -1, 0, 2, 5, 4, 5 DUP(?) COUNT DB 5 MAX DB ? MIN DB ? DATA_SEG ENDS CODE_SEG SEGMENT ASSUME CS:CODE_SEG, DS:DATA_SEG START PROC FAR PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA_SEG MOV DS, AX LEA BX, DATA_LIST MOV CX, COUNT-1 MOV AL, [BX] MOV AH, [BX+1] LOOP1: INC BX CMP AH, AL JAE LOOP1 XCHG AH, AL LOOP2 INC BX CMP AH, [BX] JAE LIS XCHG AH, [BX] JMP LOP2 LIS: CMP AL , [BX] JBE LOP2 XCHG AL, [BX] LOOP2 MOV MAX, AH MOV MIN, AL RET START ENDP CODE_SEG ENDS END START 4.10 给出等值语句如下: ALPHA EQU 100 BETA EQU 25 GAMMA EQU 2 下列表达式的值是多少? ⑴ ALPHA*100+BETA ⑵ ALPHA MOD GAMMA+BETA ⑶ (ALPHA+2)*BETA-2 ⑷ (BETA/3) MOD 5 ⑸ (ALPHA+3)*(BETA MOD GAMMA) ⑹ ALPHA GE GAMMA ⑺ BETA AND 7 ⑻ GAMMA OR 3 【解】: ⑴ ALPHA*100+BETA 100×10025=10025 ⑵ ALPHA MOD GAMMA+BETA 100/(25+2)=19 ⑶ (ALPHA+2)*BETA-2 (100+2)*25=2548 ⑷ (BETA/3) MOD 5 (25/3) MOD 5=3 ⑸ (ALPHA+3)*(BETA MOD GAMMA) (100+3)*(25 MOD 2)=103 ⑹ ALPHA GE GAMMA 100 GZ GAMMA=0FFFFH ⑺ BETA AND 7 25 AND 7=1 ⑻ GAMMA OR 3 2 OR 3=3 4.9 对于下面的数据定义,三条MOV指令分别汇编成什么?(可用立即数方式表示) TABLEA DW 10 DUP(?) TABLEB DB 10 DUP(?) TABLEC DB ’1234’ ┇ MOV AX,LENGTH TABLEA MOV BL,LENGTH TABLEB MOV CL,LENGTH TABLEC 【解】: MOV AX,LENGTH TABLEA  MOV AX, OOOAH MOV BL,LENGTH TABLEB MOV BL, 0AH MOV CL,LENGTH TABLEC MOV CL, O1H 4.10 对于下面的数据定义,各条MOV指令单独执行后,有关寄存器的内容是什么? FLDB DB ? TABLEA DW 20 DUP(?) TABLEB DB ‘ABCD’ ⑴ MOV AX,TYPE FLDB ⑵ MOV AX,TYPE TABLEA ⑶ MOV CX,LENGTH TABLEA ⑷ MOV DX,SIZE TABLEA ⑸ MOV CX,LENGTH TABLEB 【解】:(1)  MOV AX,TYPE FLDB   (AX)= 1 (2)  MOV AX,TYPE TABLEA (AX)= 2 (3)  MOV CX,LENGTH TABLEA (CX)= 20 (4)  MOV DX,SIZE TABLEA (DX)= 40 (5)  MOV CX,LENGTH TABLEB (CX)= 1 8.1 解释下列概念: 中断DMA,中断源,中断向量中断向量表,不可屏蔽中断,通道FCB,中断嵌套,文件标记中断入口,可屏蔽中断 【解】:答:⑴ 当进程要求设备输入数据时,CPU把准备存放输入数据的内存起始地址以及要传送的字节数分别送入DMA控制器中的内存地址寄存器和传送字节计数器。   ⑵ 发出数据传输要求的进行进入等待状态。此时正在执行的CPU指令被暂时挂起。进程调度程序调度其他进程占据CPU。   ⑶ 输入设备不断地窃取CPU工作周期,将数据缓冲寄存器中的数据源源不断地写入内存,直到所要求的字节全部传送完毕。   ⑷ DMA控制器在传送完所有字节时,通过中断请求线发出中断信号。CPU在接收到中断信号后,转入中断处理程序进行后续处理。   ⑸ 中断处理结束后,CPU返回到被中断的进程中,或切换到新的进程上下文环境中,继续执行。 中断源:引起中断的事件称为中断源。 中断向量表:每种中断都给安排一个中断类型号。80x86中断系统能处理256种类型的中断,类型号为0H~0FFH。如图8.3所示的中断源,系统时钟的中断类型为08,键盘为09,软中断中的除法错误的中断类型为0等。每种类型的中断都由相应的中断处理程序来处理,中断向量表就是各类型中断处理程序的入口地址表。 中断嵌套:正在运行的中断处理程序,又被其他中断源中断,这种情况叫做中断嵌套。 中断就是CPU在执行当前程序时由于内外部事件引起CPU暂时停止当前正在执行的程序而转向执行请求CPU暂时停止的内外部事件的服务程序,该程序处理完后又返回继续执行被停止的程序;中断向量是中断处理子程序的入口地址;地址范围是00000H-003FFH。 SP→20006H 78H 20007H 56H 34H SP→20008H 20008H 20009H 2000AH 12H 34H 12H 20009H SP→2000AH 2000AH WORD_VAR 00H 00H 01H 00H 02H 00H … 00H 00H 01H 00H 02H 00H - - B BYTE_VAR 41H 0 Y 59H 1 E 45H T 54H 12 0CH 2 -12H F4H 30个字节 00H 0 2 1 0 1 01H - 02H 2 1 01H 2 00H 0 2 02H 1 01H 2 02H 1 01H - 02H 2 FBH -5 FFH 54H 00H 56H 00H 45H B Y T E 00H 41H 59H 00H 02H 1 01H - 0 00H 2 02H 1 01H 2 256H 02H
本文档为【《微机原理与接口技术》(第二版)龚尚福-习题解析和实验指导(1)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_987669
暂无简介~
格式:doc
大小:117KB
软件:Word
页数:10
分类:工学
上传时间:2012-02-29
浏览量:42