1、目录 微机原理与接口技术第一章作业 . 2 一、书上 P22 作业题 2、 3、 7 . 2 微机原理与接口技术第 二章作业 . 2 一、书上 P59 作业题 2、 5、 6、 9、 14 . 2 微机原理与接口技术第三章作业 . 3 一、书上 P95 作业题 4、 5、 6、 7、 10、 11、 12、 13、 14、 15、 16、 17、 18、 22、 27. 4 微机原理与接口技术第四章作业 . 8 一、课本 P155 8、 12、 13、 14 . 8 微机原理与接口 技术第五章作业 . 10 一、作业 P180 2、 5、 7、 8、 9、 10 . 11 微机原理与接口技术第
2、六章作业 . 13 一、 P207: 1, 3, 5, 10, 14。 18, 19, 20 . 13 微机原理与接口技术第七章作业 (一 ) . 17 一、 P268: 3, 6 , 7, 10 , 11 , 12. 17 微机原理与接口技术第七章作业 (二 ) . 20 一、 P268: 15 , 16 , 19, 21, 25 . 20 微机原理与接口技术第八章作业 . 24 一、 P292 6、 7 . 24 微机原理与接口技术第一章作业 一、书上 P22 作业题 2、 3、 7 2.完成下列数制之间的转换。 ( 1) 01011100B=92D ( 3) 135D=10000111B
3、 ( 5) 10110010B=262Q=B2H 3.组合型 BCD 码和非组合型 BCD 码有什么区别?写出十进制数 254 的组合型 BCD 数和非组合型 BCD数。 答:组合型 BCD码的储存格式用一个字节存放 2位 BCD码,高 4位表示十进制的十位数,低 4 位表示十进制的个位数,数值表示范围为 099;非组合型的储存格式是用一个字节的低 4 位存放 1 位 BCD 码,高四位可以为 0或任意数,数值表示范围为 09。 254D 的组合型 BCD 码: 001001010100 254D 的非组合型 BCD 码: 00000010 00000101 00000100 7.计算机中为什
4、么采用补码的形式储存数据?当计算机的字长 n=16 时,补码的数据表示范围是多少? 答:是为了便于进行加减运算,简化机器硬件结构。当 n=16 时,补码表示数值的范围是 +32767-32768。 微机原理与接口技术第二章作业 一、书上 P59 作业题 2、 5、 6、 9、 14 2、 8086 标志寄存器包含哪些状态标志位 ?试说明各状态标志位的作用 . 答: 6 个状态标志位: CF(Carry Flag) 进位标志位。当执行一个加法 (或减法 )运算,使最高位产生进位 (或借位 )时, CF 为 1;否则为 0。 PF(Parity Flag) 奇偶标志位。该标志位反映运算结果中 1的
5、个数是偶数还是奇数。当指令执行结果的低 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。 3 个控制标志位 : DF(Direction Flag)
6、方向标志位。它用以指定字符串处理时的方向,当该位置“ 1”时,字符串以递减顺序处理,即地址以从高到低顺序递减。反之,则以递增顺序处理。 IF(Interrupt enable Flag) 中断允许标志位。它用来控制 8086 是否允许接收外部中断请求。若 IF=1, 8086 能响应外部中断,反之则不响应外部中断。 TF(Trap Flag) 跟踪标志位。它是为调试程序而设定的陷阱控制位。当该位置“ 1”时, 8086 CPU 处于单步状态,此时 CPU 每执行完一条指令就自动产生一次内部中断。当该位复位后, CPU 恢复正常工作。 5、逻辑地址与物理地址有什么区别?如何将逻辑地址转换为物理地
7、址? 答: 物理地址是真实存在的唯一地址,指的是存储器中各个单元的单元号; 逻辑地址是思维性的表示,由段地址 和偏移地址联合表示的地址类型叫逻辑地址。物理地址 =段地址 10H偏移地址 。 6、写出下列逻辑地址的段基址、偏移地址和物理地址。 ( 1) 2314H: 0035H ( 2) 1FD0H:000AH 答:( 1)段基址: 2314H 偏移地址: 0035H 物理地址: 23175H。 ( 2)段基址: 1FD0H 偏移地址: 000AH 物理地址: 1FD0AH。 9、设一个 16 字的数据区,它的起始地址为 70A0H: DDF6H(段基址:偏移地址),求这个数据区的首字单元和末字
8、单元的物理地址。 答:首字: 70A0*10H+DDF6H=7E7F6H 末字 : 7E7F6H+( 16-1) *2=7E814H。 14、 80486CPU存储器最大可寻址空间是多少?虚拟存储空间是多少?两者有何区别? 答:最大可寻址空间是 4GB,虚拟存储空间是 64TB。可寻址空间是实地 址,虚拟存储空间 是外部存储管理器。 微机原理与接口技术第三章作业 一、书上 P95 作业题 4、 5、 6、 7、 10、 11、 12、 13、 14、 15、 16、 17、 18、 22、 27 4、指出下列指令中的源操作数和目标操作数的寻址方式。 ( 1) MOV BX,1000H 源操作数
9、:立即寻址;目标操作数:寄存器寻址 ( 2) MOV AL,BX 源操作数:寄存器间接寻址;目标操作数:寄存器寻址 ( 3) MOV CX,BP+10H 源操作数:寄存器相对寻址;目标操作数:寄存器寻址 ( 4) MOV AL,ES:BX+SI 源操作数:基址加变址寻址;目标操作数:寄存器寻址 ( 5) MOV DI+1000H,BX 源操作数:寄存器寻址;目标操作数:寄存器相对寻址 ( 6) MOV 1000H,CX 源操作数:寄存器寻址;目标操作数: 直接寻址 ( 7) MOV AL,BX+DI+1234H 源操作数:寄存器相对寻址;目标操作数:寄存器寻址 ( 8) MOV AL,1000
10、HBX+SI 源操作数:寄存器相对寻址;目标操作数:寄存器寻址 ( 9) MOV EBX+ESI+2010H,DX 源操作数:寄存器寻址;目标操作数:带位移的基址加变址寻址 ( 10) MOV AX,0100HEBX+ESI*4 源操作数:基址加比例变址寻址;目标操作数:寄存器寻址 5、设( DS) =2000H、( ES) =2100H、( SS) =1500H、( BX) =0100H、( BP) =0040H、( SI) =00A0H、( DI) =0120H,在指令 MOV AX, src 中,求用下列表示源操作数 src 的有效地址 EA 和物理地址 PA 各是多少? ( 1) 10
11、0HBX EA=(100H+0100H)=0200H ; PA=2000*10H+0200H=20200H ( 2) ES:BX+DI EA=0100H+0120H=0220H ; PA=2100*10H+0220H=21220H ( 3) BP EA=0040H ; PA=1500*10H+0040H=15040H ( 4) ES:BX+10H EA=0100H+0010H=0110H ; PA=21000H+0110H=21110H (5) BP+SI EA=0040H+00A0H=00E0H ; PA=1500*10H+OOEOH=150E0H (6) 1000H EA=1000H ;
12、PA=2000*10H+1000H=21000H (7) ES:DI EA=0120H ; PA=2100*10H+0120H=21120H (8) 1050HBX+SI EA=1050H+0100H+00A0H=11F0H ; PA=2000*10H+11F0H=211F0H (9) DS:10C0HBP+SI EA=10C0H+0040H+00A0H=11A0H ; PA=2000*10H+11A0H=211A0H (10) BX+DI EA=0100H+0120H=0220H ; PA=2000*10H+0220H=20220H 6、指出下列指令中的错误,并改正。 ( 1) MOV BL
13、, 30A0H 操作数不匹配改: MOV BX, 30A0H ( 2) MOV 0010H,AL 立即数不可以作为目标操作数改: MOV AX, 0010H ( 3) XCHG AL,BX 操作数类型不匹配改: XCHG AX,BX ( 4) MOV AX,3456H 立即数送入存储器需要说明改: MOV WORDPTR AX,3456H ( 5) PUSH AL 堆栈以字为操作单元改: PUSH AX ( 6) POP CS POP 不可以用 CS 为目标操作数改: POP AX ( 7) MOV DS, 1000H 立即数不能直接送入段寄存器改: MOV AX, 1000H MOV DS,
14、 AX ( 8) MOV BX,1000H存储器不可以相互传送改: MOV AX, 1000H MOV BX, AX ( 9) LDS ( BX), 1000HLDS 使用时期目标为 16 位通用寄存器改: LDS BX, 1000H ( 10) LEA BX, CX LEA 源操作数为存储器改: LEA BX, CX 7、已知( AX) =4A0BH, 1020H单元中的内容为 260FH,写出下列每条指令单独执行后的结果 。 ( 1) MOV AX, 1020H ; ( AX) =1020H ( 2) XCHG AX, 1020H ; ( AX) =260FH ( 3) MOV AX, 1
15、020H ; ( AX) =260FH ( 4) LEA AX, 1020H ; ( AX) =1020H 10、设一个堆栈段共有 100H 个字节单元,堆栈的起始地址为 1250H:0000H,若在堆栈中存有 5 个字数据,问: ( 1)栈顶的物理地址多少? 栈底: 12600H ( 2)栈底的物理地址是多少? 栈顶: 12600-A=125F6H ( 3)当前 SS和 SP 的内容是多少? SS: 1250H:0000H SP: 1250H:00F6H ( 4)若弹出两个数据, SP的内容是多少? SP: 1250H:00FAH 11、编程完成下列程序段,根据运算结果置标志位 OF、 SF
16、、 ZF、 AF、 PF、 CF,并分析程序执行结果是否正确?为什么?(设字长 n=8) ( 1) 30+64 ( 2) 122-64 ( 3) 96+52 ( 4) -68+( -72) 答:( 1) MOV AL, 30 MOV BL, 64 ADD AL, BL 结果: 0101111O F=0 SF=0 ZF=0 AF=0 PF=1 CF=0 ( 2) MOV AL, 122 MOV BL, 64 SUB AL, BL 结果: 00111010 OF=0 SF=0 ZF=0 AF=0 PF=1 CF=0 ( 3) MOV AL, 96 MOV BL, 52 ADD AL, BL 结果:
17、 10010100 F=0 SF=0 ZF=0 AF=0 PF=1 CF=0 ( 4) MOV AL, -68 MOV BL, -72 ADD AL, BL 结果: 01110100 OF=1 SF=0 ZF=0 AF=1 PF=1 CF=1 17、判断下列指令格式的对与错,并解释错在哪里。 ( 1) ADD 25H, AX () 目标操作数不可以为立即数 ( 2) INC BX, 1 () INC 只有目标操作数 ( 3) MUL AL, BL () 乘法指令目标操作数是隐含的 ( 4) SUBB AL, 3 () 减法指令是 SUB ( 5) DAA AL () DAA 后无操作数 ( 6
18、) NEG CX, 0 () NEG 后只有目标操作数 ( 7) CMP BX,1000HBX+SI () 18、设( AL) =10010010B,将 AL 的内容算术右移 2 位, AL 的内容和 CF 是多少?再将 AL 的内容逻辑右移 2位, AL的内容和 CF 是多少? 算术右移 2 位 AL:11100100 CF:1 逻辑右移 2 位 AL:00100100 CF:1 22、写出下列程序段执行后的结果。 MOV CL, 4 MOV AL, 87 MOV DL, AL AND AL, 0FH OR AL, 30H SHR DL, CL OR DL, 30H ( AL) =37H,
19、( DL) = 35H 27、试用 CMP 指令和条件转移指令实现下列判断 ( 1) AX 和 CX 中的内容为无符号数: 若( AX) ( CX)则转至 BIGGER符号执行; 若( AX) ( DX)则转至 BIGGER符号执行; 若( BX) ( DX)则转至 LESS 符号执行。 CMP BX, DX JG BIGGER JL LESS 微机原理与接口技术第四 章作业 一、 课本 P155 8、 12、 13、 14 8、按下列的要求写出段定义格式。 ( 1)数据段的位置从 0E000H 开始,在该段中定义的 5 个字节数据, 3 个字数据, 2双字数据,要求字节数据从偏移地址 000
20、0H开始,字数据从偏移地址 0010H开始,双字数据从偏移地址 0020H 开始。 ( 2)堆栈段定义 100 个字节 ( 3)代码段的开始位置给有关段寄存器赋值,在程序结束时能够返回 DOS。 DATA SEGMENT ORG 0000H D1 DB 00H,01H,02H,03H,04H ORG 0010H D2 DW 0000H,0010H,0020H ORG 0020H D3 DD 3 DUP(?) DATA ENDS STACK SEGMENT STACK DB 100 DUP(?) STACK ENDS CODE SEGMENT CODE ASSUME CS: CODE, DS:
21、DATA START : MOV AH,4CH INT 21H CODE ENDS ENDS START 12、定义数据段如下,画出数据存储示意图,并说明变量 X1 和 X2 所对应的逻辑地址各是多少? DATA SEGMENT AT 10A0H ORG 0010H X1 DB 22, 33, ORG $+ 0020H X2 DB AB12CD DATA ENDS X1 的 逻辑地址: 10A0H: 0010H X2 的逻辑地址: 10A0H: 0032H . . . 16H 21H 41H 42H 31H 32H 43H 44H 10A00H 10A10H 10A32H 13、定义数据段如下
22、,写出执行以下指令后的结果。 DATA SEGMENT DA1 DW 2437H , 14A2H DA2 DB ABCD DA3 DD 10 DUP ( ?) DATA ENDS ( 1) MOV BX, DA1 ;( BX) =2437H ( 2) MOV SI, OFFSET DA1 ;( SI) =0000H ( 3) MOV AL, TYPE DA1 ;( AL) =2 ( 4) MOV AL, DA2+02H ;( AL) = C =43H ( 5) MOV AL, LENGTH DA3 ;( AL) =10 ( 6) MOV AL, SIZE DA3 ;( AL) =10 14、程序中数 据段定义的数据如下: DATA SEGMENT NAMES DB GOOD MORNING! DW 2050H, 78H, 3080H DATA ENDS 请指出下列指令序列执行后累加器中的结果是多少? ( 1) MOV BX, OFFSET NAMES MOV AL, BX+03H ( 2) MOV BX, 12 MOV SI, 3 MOV AX, NAMESBX+SI ( 3) MOV BX, 12 MOV SI, 3 LEA AX, NAMESBX+SI 答:( 1) 44H ( 2) 78H ( 3) 0FH 微机原理与接口技术第五 章作业