为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

微型计算机原理与接口技术部分课后答案_khdaw

2011-05-04 36页 pdf 528KB 43阅读

用户头像

is_136030

暂无简介

举报
微型计算机原理与接口技术部分课后答案_khdaw 第一章 1.8 解: [ X ]补=00111011 [ - X ]补=11000101 [ Y ]补=00111011 [ - Y ]补=11000101 1. [ X + Y ]补=1110011 X + Y = 1001100 = ( -25 )10 0 0 1 1 1 0 1 1 + 1 0 1 0 1 1 0 0 1 1 1 0 0 1 1 1 C1=0, C2=0 C1 ⊕ C2=0, 无溢出 2. [ X - Y ]补=100...
微型计算机原理与接口技术部分课后答案_khdaw
第一章 1.8 解: [ X ]补=00111011 [ - X ]补=11000101 [ Y ]补=00111011 [ - Y ]补=11000101 1. [ X + Y ]补=1110011 X + Y = 1001100 = ( -25 )10 0 0 1 1 1 0 1 1 + 1 0 1 0 1 1 0 0 1 1 1 0 0 1 1 1 C1=0, C2=0 C1 ⊕ C2=0, 无溢出 2. [ X - Y ]补=10001111 0 0 1 1 1 0 1 1 + 0 1 0 1 0 1 0 0 1 0 0 0 1 1 1 1 C1=1, C2 = 0 C1 ⊕ C2 = 1 , 溢出 3. [ -X + Y ]补=01110001 1 1 0 0 0 1 0 1 + 1 0 1 0 1 1 0 0 1 0 1 1 1 0 0 0 1 C1=0, C2 = 1 C1 ⊕ C2 = 1 , 溢出 4. [ -X - Y ]补=00011001 -X - Y = 00011001 = ( +25 )10 1 1 0 0 0 1 0 1 + 0 1 0 1 0 1 0 0 1 0 0 0 1 1 0 0 1 C1=1, C2 = 1 C1 ⊕ C2 = 0 , 无溢出 1.9 解: 1 课后网 www.khdaw.com 2 1. -( 2-2-23)×2127 ~ -1×2-126 1×2-126 ~ ( 2-2-23)×2127 不含特例±0、±∞ 2. z FB8789ABH 数符s=1,阶码e=11110111=( 247) 10 尾数 f=0.00001111000100110101011=( 0.058888792) 10 v= ( -1) s×2e-127×( 1 + f ) = -1.058888792×2120 z 58EBA987H 数符s=1,阶码e=10110001=( 177) 10 尾数 f= ( 0.841111063) 10 v= ( -1) s×2e-127×( 1 + f ) = -1.841111063×250 3. z (- 86.57) 10 =1010110.10010001111010111 数符 s=1,阶码 e=127+6=133 尾数 f=0.01011010010001111010111B 单精度浮点数:C2AD23D7H z (- 86.57) 10 =1010110.1001001 数符 s=1, 阶码 e=127+6=133=10000101B 2 -4 = 0.0625, 2 -7 = 0.0078125 尾数 f=0.0101101001001B 单精度浮点数: 1100 0010 1010 1101 0010 0100 0000 0000 C 2 A D 2 4 0 0 H 课后答案网 www.khdaw.com 3 第二章 2.10 答: 1) MOV AX, [1234H] 直接寻址、EA=1234H、PA=DS×16+EA=11234H 2) MOV AX, TABLE 直接寻址、EA=0100H、PA=DS×16+EA=10100H 3) MOV AX, [BX+100H] 基址寻址、EA= BX+100H=140H、PA= DS×16+EA=10140H 4) MOV AX, TABLE[BP][SI] 带位移的基址变址寻址、EA= BP+SI+TABLE=195H、PA= SS×16+EA =20195H 2.12 答: 1) 目的操作数是 基址变址寻址,55AAH → 2AD5H 2) 源操作数是 基址寻址,PA=SS×16+BP+100H=30200H 3) 源操作数是 隐含寻址,PA=SS×16+SP=30020H 4) 目的操作数是 变址寻址,PA= DS×16+DI+500H=20800H 5) 目的操作数是 隐含寻址,PA=SS×16+SP=30020H 2.14 解: (BP)=4433H,(SP)=1022H, 2.15 1. ( CL ) = 0F6H 2. [1E4F6H] = 78H 3. ( BX ) = 0056H , ( AX ) = 1E40H 课后答案网 www.khdaw.com 4 4. ( SI ) = 00F6H , [ SI ] = 0024H 5. ( AX ) = 5678H , [ 09226H ] = 1234H 2.16 解: 1)MOV AX, COUNT [SI] [DI] 错,基址寻址用的寄存器只有 BX、BP,不能是 SI。 2)MOV ES, 1000H 错。立即数不能直接送给段寄存器。 3)PUSH [BX][SI] 错。操作数是存储器寻址,且操作数类型不能确定时,要用 PTR 运 算符显式说明操作数的长度。 4)MOV CS, AX 错。CS 不能作目的操作数。 5)SHL AX, 2 16 位微机时错,32 位微机时则对。 6)MOV ES, DS 源操作数和目的操作数不能同为段寄存器。 7)ADD CX, [ AX+100H ] 错。AX 不能作为基址寄存器也不能作为变址寄存器使用。 8) INC DS 错。只能是通用寄存器,不能是段寄存器。 9)CMP [SI], [BX] 错。源操作数和目的操作数不能同为存储器操作数。 10)IMUL DX, AX 课后答案网 www.khdaw.com 5 对。 11)SBB DI, [DI] 对。 12)AND CX, [DX] 错。只有 BX、BP、SI、DI 可作为寄存器间接寻址用的寄存器。 13)OUT CX, AL 错。输入输出指令中只能以 DX 进行间接寻址。 14)IN AX, 380H 错。直接寻址时端口号必须≤255。 15)LDS CS, [BX] 错。目的操作数只能是通用寄存器。 16)LEA AX, BX 错。源操作数只能是存储器操作数。 17)XCHG AH, AL 对。 18)XCHG CX, 2400H 错。立即数不能作为操作数。 19)JMP BX 对。段内寄存器间接寻址。 20)JMP [BX][SI] 错。没有说明内存操作数的类型。应用类型修改运算符 PTR 进行显 式说明。 课后答案网 www.khdaw.com 6 2.17 解:可用 debug 验证 STD ;DF=1 MOV BX, 8080H ; ADD BH, BL ;BX=0080H, CF=1, OF=1, ZF=1, SF=0, AF=0, PF=1 RCR BL, 1 ;OF=0, CF=0 CMC ;CF=1 2.18 解: 1) ADD AX, BX ; AX=0FFFDH, SZAPCO = 100000 2) RCL AX, 1 ; AX=3151H, SZAPCO = - - - -11 3) SBB AX, BX ; AX=3152H, SZAPCO = 000001 4) OR AX, BX ; AX=0FFFDH, SZAPCO = 10U000 5) CMP AX, BX ; AX=98A8H, SZAPCO = 000101 2.20 解 ( IP ) = 009AH , ( CS ) = 2000H , ( SP ) = 0F178H [ SP ] = 94H , [ SP+1 ] = 3DH , [SP+2 ] = 50H , [SP+3 ] = 40H 2.26 解: MOV AL, BUF ;取无符号数变量 CMP AL, 20 ; JB NEXT1 ;小于 20 则转移到 NEXT1 SUB AL, 20 ;大于 20。Y=AL=X-20 课后答案网 www.khdaw.com 7 JMP NEXT2 NEXT1: MUL 3 ;Y=3X=AL NEXT2: HLT 2.33 解: 1) L1 2) L3 2.34 解: 1) 从端口 20H 处读入一组字节型数据,并求和,结果放入 AX 中; 读入的字节数由端口 30H 处读入一字节数来决定。 2) 将 ES 段从 EA = 0100H 开始的 128 个字单元清 0。 2.35 解: MIN: MOV BX, ?1 ;3000H MOV AL, [BX] MOV CX, ?2 ;100H LP1: INC BX CMP AL, [BX] ?3 LP2 ;JLE MOV AL, [BX] LP2: DEC CX JNZ ?4 ;LP1 MOV ?5, AL ;[3100H] 2.36 解: 70H 课后答案网 www.khdaw.com 8 第三章 3.1 解: 地址 数值 H 注释 0200H FF ARY -1 0201H FF 0202H 02 2 0203H 00 0204H FD -3 0205H FF 0206H 04 4 0207H 00 0208H 08 CNT $-ARY 0209H 00 0208-0200=8H 020AH 00 VAR ARY 020BH 02 020CH 10 $ 020DH 02 020C+4=0210H 见程序 P174-31.ASM MOV AX, ARY ;AX=-1 MOV BX, OFFSET VAR ;BX=20AH MOC CX, CNT ;CX=8 MOV DX, VAR+2 ;DX=210H LEA SI, ARY ;SI=200H 课后答案网 www.khdaw.com 3.2 解:见 P174-32.ASM 1. 地址顺序 数值 H 00 01 1 01 00 02 02 2 03 00 04 03 3 05 00 06 42 B 07 41 A 08 43 C 09 00 NUL 0A ? 0B ? 0C ? 0D ? 0E ? 0F ? 10 00 0 2. R1=0010H 3.3 解: ;2008 P175 3.3 9 课后答案网 www.khdaw.com 10 ; DATA SEGMENT ARRAY DB 3 DUP(1,2,3,0,0,-1) P_ARR DB 50 DUP(?) M_ARR DB 50 DUP(?) D_SUM DB 3 DUP(00H) P_SUM DB 'PLUS:',00H,0DH,0AH,'$' ;准备 9 号 DOS 系统功 能调用 Z_SUM DB 'ZERO:',00H,0DH,0AH,'$' M_SUM DB 'MINUS:',00H,0DH,0AH,'$' ;'0D’→ CR 键,’0AH’ → LF 键 ;PLUS:正数的个数。 ;ZERO: 0 的个数。 ;MINUS:负数的个数。 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX, DATA ;给 DS 赋初值, MOV DS, AX ;建立其数据段的寻址性。 MOV CX, 18 MOV SI, 00H XOR BX, BX NEXT: CMP ARRAY[SI], 00H JS M_PRO ;负数时则转移到 M_PRO JZ Z_PRO ;是 0 时则转移到 Z_PRO P_PRO: INC D_SUM ;是正数! INC P_SUM+5 MOV AL, ARRAY[SI] MOV BL, P_SUM+5 MOV (P_ARR-1) [BX], AL JMP NEXT1 Z_PRO: INC D_SUM+1 ;是 0! 课后答案网 www.khdaw.com 11 INC Z_SUM+5 JMP NEXT1 M_PRO:INC D_SUM+2 ;是负数! INC M_SUM+6 MOV AL, ARRAY[SI] MOV BL, M_SUM+6 MOV (M_ARR-1) [BX], AL NEXT1: INC SI LOOP NEXT ADD P_SUM+5, 30H ;假设:[P_SUM+5]≤9 ADD Z_SUM+5, 30H ;假设:[Z_SUM+5]≤9 ADD M_SUM+6, 30H ;假设:[M_SUM+6]≤9 MOV DX, OFFSET P_SUM MOV AH, 09H INT 21H ;9 号 DOS 系统功能调用 LEA DX, Z_SUM MOV AH, 09H INT 21H ;9 号 DOS 系统功能调用 LEA DX, M_SUM MOV AH, 09H INT 21H ;9 号 DOS 系统功能调用 MOV AX, 4C00H INT 21H CODE ENDS END START 3.18 解: ;2008 P176 3.18 ; DSEG SEGMENT BUF DB 11 ;最多输入 10 个字符(不计回车键) DB ? DBUF DB 11 DUP (?) DISP DB 13 DUP (?) 课后答案网 www.khdaw.com 12 DSEG ENDS ; CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG STR_IN: MOV AX, DSEG MOV DS, AX MOV DX, OFFSET BUF MOV AH, 0AH INT 21H MOV CL, BUF+1 ;实际输入字符数 XOR CH, CH MOV BX, CX ADD BX, OFFSET DISP ;DEC BX ;待显示字符串的最后一个字符的 偏移地址 INC BX ;为了实现待显示字符串前加回车、 换行键。 XOR SI, SI XOR DI, DI NEXT: MOV AL, DBUF[SI] MOV [BX+DI],AL INC SI DEC DI LOOP NEXT MOV DISP, 0DH ;回车,光标移到行首位置 MOV DISP+1,0AH ; 换行键,光标移到下一行 MOV (DISP+2)[SI],'$' ;字符串结束标志$ LEA DX, DISP ;字符串显示 MOV AH,9 INT 21H MOV AX, 4C00H INT 21H CSEG ENDS END STR_IN 3.19 解: 只能输入 30~39 即‘0’~ ‘9’的 ASCII 码 41~46 即‘A’~ ‘F’ 的 ASCII 码 课后答案网 www.khdaw.com 13 3.21 解: ;2008 P176 3.21 ; DATA SEGMENT BUF DB 08H,12H,34H,56H,78H,9AH,0BCH,0DEH,0F0H,0FFH KEY DB 78H DATA ENDS ; CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA START: MOV AX, DATA MOV DS, AX MOV ES, AX CLD LEA DI, BUF MOV CL, [DI] XOR CH, CH ;重复次数为 CX INC DI MOV AL, KEY REPNE SCASB JNE DONE DEC BUF ;[BUF]=7H MOV SI, DI DEC DI REP MOVSB DONE: MOV AH, 4CH INT 21H CODE ENDS END START ‘07H,12H,34H,56H,9AH,0BCH,0DEH,0F0H,0FOH,0FFH’ 3.22 解: ;2008 P177 3.22 ; DSEG SEGMENT BINVAL DW 23457 ASCVAL DB 5 DUP(00H) ;应是单引号’’,而非‘’ DSEG ENDS ; 课后答案网 www.khdaw.com CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG BIN_ASC:MOV AX, DSEG MOV DS, AX MOV AX, BINVAL MOV CX, LENGTH ASCVAL LEA SI, ASCVAL ;OFFSET ADD SI, CX DEC SI MOV CX, 10 AGAIN: CMP AX, 10 JB DONE ;JBE XOR DX, DX IDIV CX OR DL, 30H MOV [SI], DL DEC SI JMP AGAIN DONE: OR AL, 30H ;OR MOV [SI], AL MOV AX, 4C00H INT 21H CSEG ENDS END BIN_ASC 第四章 P208 4.1 答:○1 C [P267]、○2 A、○3 B、○4 C、○5 D、○6 A、○7 B、A 4.2 答:⑴×、更快 ⑵×、 ⑶×、 ⑷×、指令执行完 毕 ⑸√、 ⑹× 4.3 答: ⑴ I/O 端口读总线周期 ⑵ 端口号 ⑶ IOR有效 ⑷ 20H 端口输入的一字节数据 4.10 答:○1 C3 ○2 C2 ○3 C1 注意:逻辑 0 有效 14 课后答案网 www.khdaw.com 15 第五章 P243 5.1 答:⑴C、⑵A、⑶C、⑷B、⑸A、⑹A、⑺A、⑻C、⑼B、⑽B 5.9 答: ⑴ C F F F F — A 8 0 0 0 215×5=160K 2 7 F F F H ⑵160÷80×8=80 个 ⑶10 组 5.10 答: MEMR、MEMW 信号的形成。 ⑴ A19 A18 A17 A16 A15 A14 A13 A12 A11~A0 地址范围 0 0 … 0 1 1 1 0 0 0 1 1 1 … 1 0E2000H~0E3FFFH 0 0 … 0 1 1 1 0 1 1 1 1 1 … 1 0EE000H~0EFFFFH ⑵ ;P91 MOV AX, 0E200H MOV ES, AX MOV DI, 0 MOV CX, 20 CLD MOV AL, 0 REP STOSB ; MOV AX, 0EE00H MOV ES, AX MOV DI, 0 MOV CX, 20 CLD MOV AL, 0 REP STOSB 课后答案网 www.khdaw.com 16 5.11 答: ⑴局部译码法 ⑵ A15 A14 A13 A12 A11 A10~A0 地址范围 0 … 0 0 1 … 1 8000H~87FFH 0 … 0 1 1 0 0 0 1 … 1 0C000H~0C7FFH A15 A14 A13 A12 A11 A10~A0 地址范围 0 … 0 0 1 … 1 8800H~8FFFH 0 … 0 1 1 0 0 1 1 … 1 0C800H~0CFFFH A15 A14 A13 A12 A11 A10~A0 地址范围 0 … 0 0 1 … 1 9000H~97FFH 0 … 0 1 1 0 1 0 1 … 1 0D000H~0D7FFH A15 A14 A13 A12 A11 A10~A0 地址范围 0 … 0 0 1 … 1 9800H~9FFFH 0 … 0 1 1 0 1 1 1 … 1 0D800H~0DFFFH ⑶重叠 5.12 答: ⑴ A19 A18 A17 A16 A15~A0 地址范围 0 … 0 0 0 1 0 1 … 1 20000H~2FFFFH 0 … 0 0 0 1 1 1 … 1 30000H~3FFFFH ⑵ 把图中 A16 → A0 A0 → A1 A15 → A16 ⑶ 1# : 20000H ~ 3FFFEH 中的偶数地址 2# : 20001H ~ 3FFFFH 中的奇数地址 课后答案网 www.khdaw.com 17 5.15 答: 1) E F F F F 215=32K=16K×2 — E 8 0 0 0 两片 7 F F F H 2) A19 A18 A17 A16 A15 A14 A13 A12 A11~A0 地址范围 1 1 1 0 1 0 0 0 0 … 0 0E8000H 1 1 1 0 1 1 1 1 1 … 1 0EFFFFH 3) MOV AX, 0E000H MOV ES, AX MOV DX, 128 ; 28×27=256×128 XOR BX, BX NEXT1: MOV CX, 256 ;00H ~ FFH,共 256 个。 XOR AL, AL NEXT2: MOV ES:8000H[BX], AL INC AL INC BX LOOP NEXT2 DEC DX JNZ NEXT1 课后答案网 www.khdaw.com 18 第六章 6.11 解: 序号 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 地址 1 1 1 1 1 1 1 0 0 × × 3F0H~3F3H 2 1 0 1 1 1 1 0 1 × × 2F4H~2F7H芯片 3 1 1 1 1 1 1 1 1 × × 3FCH~3FFH 1 1 0 1 1 1 1 0 0 0 0 2F0H 2 1 0 1 1 1 1 0 0 0 1 2F1H 3 1 0 1 1 1 1 0 0 1 0 2F2H 端口 4 1 0 1 1 1 1 0 0 1 1 2F3H 6.12 解: 题 5.12 DIP0 DIP1 DIP2 DIP3 DIP4 DIP5 闭合 闭合 闭合 闭合 打开 闭合 6.13 解: DATA SEGMENT BUFFER1 DB 128 DUP ( ? ) ;定义128个未初始 化的内存单元 PUBLIC BUFFER1 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA READ_CRT MOV AX, DATA MOV DS, AX MOV DI, 0 MOV CX, 128 ;128 个 AGAIN: MOV DX, 0020H WAIT$: IN AL, DX TEST AL, 00000001B ;CRT 输出缓存 中有数据吗 JZ WAIT$ ;无,则 WAIT$ 等待。 MOV DX, 0008H ; 有 , 则 从 课后答案网 www.khdaw.com 19 0008H 口读数据。 IN AL, DX ; MOV BUFFER1[DI],AL INC DI LOOP AGAIN MOV AH, 4CH INT 21H CODE ENDS END READ_CRT 6.14 解: DATA SEGMENT BUFFER2 DB 64 DUP ( ? ) ;定义 64 个未初始 化的内存单元 PUBLIC BUFFER1 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA WR_CRT: MOV AX, DATA MOV DS, AX MOV DI, 0 MOV CX, 64 AGAIN: MOV DX, 0020H WAIT$: IN AL, DX TEST AL, 10000000B ;CRT 输入缓存 中空闲吗 JNZ WAIT$ ;满,WAIT$等 待。 MOV DX, 0008H ; 空 , 则 向 0008H 口写数据。 MOV AL, BUFFER2[DI] OUT DX, AL INC DI LOOP AGAIN MOV AH, 4CH INT 21H CODE ENDS END WR_CRT 课后答案网 www.khdaw.com 第七章 7.10 改 [例 6.14] 某 80x86 系统的中断系统由二片 8259A 级联而成,从片 接入主片的 IR2。主、从 8259A 的 IR5 上各接有一个外部中断源,其 中断向量号分别为 75H、85H。假设它们的中断人口地址均在同一段 中,段基址为 4310H.偏移地址分别为 1230H、2340H;所有中断都 采用边沿触发方式、全嵌套方式、正常 EOI 结束方式。 (1)写出主、从 8259A 中断向量号范围; (2)假定主、从片端口地址分别为 20H、21H 和 26H、27H。 (3)试编写全部初始化程序。 解:(1)已知某个IRi的中断向量号确定整个 8259A中断向量号范围的 方法是:高 5 位取IRi的中断向量号的高 5 位,低 3 位则取变化值范 围 000~111B。于是,由主、从 8259A的IR5中断向量号分别为 75H, 85H可知,主 8259A中断向量号范围:70H~77H;从 8259A中断向量 号范围:80H~87H。 (2)此题硬件连线要考虑各 8059A 与 CPU 的连接,还要考虑两片 8059A 间的级联连接。 z 8259A 与 CPU 连接的方法是: ·端口选择线 Ao 一般与 MPU 低位地址线 Ao 直接相连。 ·数据线D0~D7与MPU数据线D0~D7直接相连。 ·片选线CS则与 MPU 余下的高位地址线经译码后产生的片选信 号相连。 · RD、WE、 INTR分别与控制总线组合形成的 IOR、 IOW和中断 响应信号 INTA相连。 ·主片的 INT 与 MPU 的 INTR 直接相连。 20 课后答案网 www.khdaw.com z 8259A 级联连接方法是: ·从片的INT与主片的IR2直接相连。 ·主片的CAS2~CAS0与各从片的CAS2~CAS0直接相连。 · /SP EN取决于是采用缓冲还是非缓冲方式。 本题采用非缓冲方式,主片 /SP EN接+5v,从片 /SP EN接地。 ·端口地址 20H、21H ――― 0000 0000 0010 000× B 26H、27H ――― 0000 0000 0010 011× B A3A2A1接LS138: 000 → 0Y , 011 → 3Y A15~A6 经或门的 2AG ,A4接LS138 的 2BG ,A5接LS138 的G1。 由此画出硬件连线图,如图 6.3 所示。 (3)由题意,初始化程序应包括两部分,即主、从片的初始化 和填写相关中断向量。程序段如下: ;初始化 8259A 主片 MOV AL, 11H ;写 ICW1,边沿触发、多片级 联、写 ICW4 OUT 20H. AL 21 课后答案网 www.khdaw.com 22 JMP SHORT $+2 ;等待 MOV AL. 70H ;写 ICW2,主片中断向量号为 70H~77H OUT 21H. AL JMP SHORT $+2 MOV AL. 04H ;写 ICW3.IR2 接有从片 OUT 21H. AL JMP SHORT $+2 MOV AL. 00010001B ;写 ICW4,特殊全嵌套、非缓 冲、正常 EOI OUT 21H, AL JMP SHORT $+2 MOV AL, 0FFH ;用 OCW1 屏蔽所有中断请求 OUT 21H. AL ;初始化 8259A 从片 MOV AL, 11H ;写 ICW1,边沿触发、多片级 联、写 ICW4 OUT 26H. AL JMP SHORT $+2 MOV AL, 80H ;写 ICW2,从片中断向量号为 80H~87H OUT 27H, AL JMP SHORT $+2 MOV AL, 02H ;写 ICW3.对应主片 IR2 的编 码为 010 OUT 27H, AL JMP SHORT $+2 MOV AL, 01H ;写 ICW4,一般全嵌套、非缓 冲、正常 EOI OUT 27H, AL JMP SHORT $+2 MOV AL, 0FFH ;用 OCW1 屏蔽所有中断请求 OUT 27H, AL 课后答案网 www.khdaw.com 23 ; 填写 75H 和 85H 号中断向量 SUB DI, DI MOV ES, DI ;ES 指向中断向量表段基址 CLD MOV DI, 75H*4 ; 75H 号中断向量地址 MOV AX, 1230H ;中断处理程序偏移地址 STOSW MOV AX, 4310H ;中断处理程序段基址 STOSW MOV DI, 85H*4 ;初始化 85H 号中断向量 MOV AX, 2340H STOSW MOV AX, 4310H STOSW MOV AL, 00H ;用OCWl开放主片所有中断请 求 OUT 21H, AL JMP SHORT $+2 MOV AL, 00H ;用OCWl开放从片所有中断请 求 OUT 27H, AL 分析:在多片级联方式下,系统要工作在完全嵌套方式,主片必须设 置为特殊全嵌套方式,以便同级中断能中断同级中断。因为在多片级 联方式下,从片的 8 个中断源是共用主片的一个中断级,而实际上从 片的 8 个中断源也有优先级区别。假定当前正在服务的中断级是从片 的某个中断级,若当 CPU 正在为该中断源服务时,该从片又向主片 提出中断请求,此时对主片而言是同一级中断请求,但对从片来说, 却是出现了一个高优先级中断请求,应该优先处理。 课后答案网 www.khdaw.com 24 [例 6.15]在上题初始化的基础上,假定要求在为从片中断源 IR5 服务时,设置特殊屏蔽方式,开放较低级的中断请求,编写程序 片断。 解:特殊屏蔽方式通过在从片中断源 IR5 的中断处理程序中设置 OCW3 实现,设置时要先关中断,设置完再开中断。程序片段如下: Interrupt: … ;从片 IR5 中断处理程 序 ¦ ¦ CLI ; 关中断,以便设置命 令时不响应中断 MOV AL, 68H ;设置特殊屏蔽方式 OUT 26H, AL IN AL, 27H ;读中断屏蔽字 IMR 状 态 OR AL, 00100000B ;屏蔽从片 IR5 中断 OUT 27H, AL STI ;设置完,开中断 ¦ ;继续中断处理,可响应 低级中断 ¦ CLI ;为复位特殊屏蔽方式 而关中断 IN AL, 27H AND AL, 11011111B ;解除对从片 IR5 的屏蔽 OUT 27H, AL MOV AL, 48H ;复位特殊屏蔽方式 OUT 26H, AL STI ¦ ¦ MOV AL, 21H ;发 EOI 命令 课后答案网 www.khdaw.com 25 OUT 26H, AL IRET 分析:特殊屏蔽方式一般用在中断处理程序中,动态地改变中断 优先级。但要注意,在中断处理程序结束前应复位特殊屏蔽方式,以 便恢复正常的中断优先级管理。在设置了特殊屏蔽方式后,用 OCW1 屏蔽 IR5 时,就会同时使 IR5 在当前中断服务寄存器路 ISR 中对应位 清 0,这样,不仅屏蔽了当前正处理的这—级中断.而且真正开放了 其他较低级的中断。 7.11 解:参 P291、P149。 ┆ ┆ ;中断识别 Int_ID: CLI ;关中断,禁止嵌套 MOV AH, 80H ;赋测试屏蔽位初值 MOV CX, 8 ;8 个中断请求输入 IN AL, 0040H ;读状态口 NEXT: ROL AH, 1 ;准备测试 Di 位。 AND AL, AH LOOPZ NEXT ;仍无中断或没有测 试完 8 位时循环 JNZ INT_JMP ;有中断,跳转 ┆ ┆ ;没有中断请求,主 程序继续 ┆ JMP START ;主程序循环 ;实现中断转移 INT_JMP:MOV BX, 7 SUB BX, CX JMP WORD PTR ADDRTAB[BX * 2] ; 转 各 中 课后答案网 www.khdaw.com 断服务程序 INT_S1: …… ;1 号中断服务程序 ┆ INT_S2: …… ┆ INT_S8: …… ;8 号中断服务程序 ┆ 7.30 答:由图 7.65 可知,A 口为方式 1 输入,PC5、PC4、PC3 为 A 口的固 定应答线,而且采用硬件中断方式来进行数据传送;另外增加一个控 制信号端 PC6(输出),使其输出一正脉冲,作纸带机的启动控制信 号。 8255A 的方式控制字地址为×××× ×011 B:现取 03H 为其 地址。 初始化程序如下: MOV AL, 0BOH ;A 口方式 1 输入、高位 C 口输出。 MOV DX, 03H 26 课后答案网 www.khdaw.com 27 OUT DX, AL MOV AL, 09H ;INTEA (PC4) 置 1。 OUT DX, AL ;填中断向量表,PC 开中断。 MOV AL, 0CH ;启动纸带机。 PC6 置 0。 OUT DX, AL MOV AL, 0DH ; PC6 置 1。 OUT DX, AL MOV AL, 0CH ; PC6 置 0。 OUT DX, AL 7.31 解: MOV AL, 8EH ;A 口方式 0 输出、C 口 高位输入。 MOV DX, 0F7H ;B 口方式 1 输入、C 口 低位输出 OUT DX, AL MOV AL, 05H ;INTEB (PC2) 置 1。 OUT DX, AL MOV AL, 0CH ;PC6 清 0。 OUT DX, AL ;填中断向量表,PC 开中断。 8254 7.25 解: 题目有错。 1. 由图可知,CH0、CH1 的门控信号 GATE0 和 GATE1 均固定接高 课后答案网 www.khdaw.com 28 电平+5V,所以 CH0 和 CH1 都工作于软启动方式(MODE 0、4、 2、3); 2. CH0、CH1 串联定时,所以 CH0 计数结束必须能自动重装,重新 计数;而且 OUT0 能输出一脉冲信号,作为 CH1 的计数脉冲信号 (CLK1)。方式 0、方式 4 计数结束不能自动重装;因为减一计 数是在 CLK 时钟脉冲的下降沿进行的,而 OUT0 的输出经一反相 器接到 CLK1,定时器在 MODE 2 或 MODE 3 时的 OUT1 输出变 成正脉冲(宽度不同),两者脉冲下降沿的时刻完全相同,所以两 种方式都则可以。 3. 要求定时到时 OUT1 输出由高变低,则 MODE 0、MODE 3 不行; MODE 4 可以(计数到 0 时 OUT1 输出由高变低,下一个 CLK1 脉冲 OUT 输出又变为高。脉宽为一个 CLK1 周期。);MODE 2 也 可以(计数到 1 时 OUT1 输出由高变低,计数到 0 时 OUT 输出又 变为高。脉宽为一个 CLK1 周期。编程时也要考虑 MODE 2 的自 动重新定时问题。) CH 0 方式控制字:00110100B=34H ;16 位计数,MODE 2,二 进制计数。 CH 1 方式控制字:01111000B=78H ;16 位计数,MODE 4,二 进制计数。 MOV AL, 34H ;CH 0 方式控制字 OUT 33H, AL ;CH 0 定时系数 TIME0 MOV AX, TIME0 OUT 30H, AL MOV AL, AH MOV 30H, AL MOV AL, 78H ;CH 1 方式控制字 课后答案网 www.khdaw.com 29 OUT 33H, AL ;CH 1 定时系数 TIME1 MOV AX, TIME1 OUT 31H, AL XCHG AL, AH MOV 31H, AL ;初始化中断向量表 ;中断服务程序首址存储在 INT-TIME CLI PUSH DS PUSH DX PUSH AX LDS DX, INT-TIME MOV AH, 25H INT 21H POP AX POP DX POP DS STI 课后答案网 www.khdaw.com 第九章 P444 ADC-DAC 9.8 解:(1)偏移码和补码同属双极性码。二者对应关系为:同一个数的偏移码与 补码,除了符号位相反外,数值位完全相同。所以要实现输入为补码的双极性 DAC,只要在双极性偏移码 DAC 电路基础上,将输入补码的符号位变反,转换 成偏移码即可。苦要实现 DAC1210 与 8 位 PC 总线连接,则需采用双缓冲结构, 接口要提供三个端口地址。电路原理如图 l0.2 所示。 地址:10 0000 000 0 高 8 位地址 10 0000 000 1 低 4 位地址 10 0000 001 x 第二级缓冲寄存器地址(启动 DAC 转换) 30 课后答案网 www.khdaw.com 9.11 为了说明 D/A 转换器的应用,我们来看怎样利用 D/A 转换器产生一个锯齿波电压。 对于图 13-10 的电路,为产生一个锯齿电压,可采用以 下程序: MOV DX, PORTA ;PORTA 为 D/A 转换器端 口号 MOV AL, 0FFH ;初值为 0FFH ROTATE: INC AL OUT DX, AL ;往 D/A 转换器输出数据 JMP ROTATE 31 课后答案网 www.khdaw.com 实际上,上面程序在执行时得到的输出电压会有 256 个小台 阶,不过,宏观看,仍为连续上升的锯齿波。对于锯齿波的周期, 可以利用延迟进行调整。延迟的时间如果比较短,那么,就可以 用几条 NOP 指令来实现,如果比较长,则可用延迟子程序。为 了产生负向的锯齿波,只要将指令 INC AL 改为 DEC AL 就 可以了。另外,只要把正向与负向锯齿波结合起来就容易产生三 角波的输出。 比如,下面的程序段就是利用延迟子程序来控制锯齿波周期 的。 MOV DX, PORTA ;PORTA 为 D/A 转换 器端口号 MOV AL, 0FFH ;初值为 0FFH ROTATE: INC AL OUT DX, AL ;往 D/A 转换器输出数 据 CALL DELAY ;调用延迟子程序 JMP ROTATE DELAY: MOV CX, DATA ;住 CX 中送延迟常数 32 课后答案网 www.khdaw.com NEXT: LOOP NEXT RET 函数波形发生器 D/A 转换接口一般过程为: (1)由系统精度、分辨率要求确定 DAC 精度和位数; (2)按输出要求设计接口电路; (3)确定参考电压和输出方式(单极性或双极性); (4)波形产生算法选择; (5)程序设计。 9.21 答:一、电路图设计 1. 因为 ADC0804 片内具有可控三态输出缓冲器,所以可与微机 系统的数据总线直接相连。 2. 因为输入信号电压范围为 0~+5V,所以VR/2 端不需要接参考 电压芯片。参考电压由ADC0804 内部提供(+2.5V)。 3. fCLK取 640Khz,即C=150PF,R=10K欧姆。 4. 端口地址 0230H → 0000 0010 0011 0000 5. INTR经反相器后接 B4/IR2。 图省略 二、程序设计 ;参 P65 ;修改 IR2 中断向量号 0AH 的中断服务程序的人口地址 ;主程序 33 课后答案网 www.khdaw.com 34 PUSH DS MOV DX, OFFSET SAMP MOV AX, SEG SAMP MOV DS, AX MOV AL, 0AH MOV AH, 25H INT 21H POP DS MOV CX, 200 MOV AX, SEG BUF MOV DS, AX MOV BX, OFFSET BUF OUT 230H, AL ;启动ADC转换 ;中断服务程序 SAMP: IN AL, 230H MOV [BX], AL INC BX
/
本文档为【微型计算机原理与接口技术部分课后答案_khdaw】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索