目录《微机原理与接口技术》第一章作业 (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)《微机原理与接口技术》第六章作业 (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 、72. 完成下列数制之间的转换。
(1)01011100B=92D(3)135D=10000111B(5)10110010B=262Q=B2H3. 组合型BCD码和非组合型BCD码有什么区别?写出十进制数254 的组合型BCD数和非组合型BCD数。
答:组合型BCD码的储存格式用一个字节存放 2 位BCD码,高4 位表示十进制的十位数,低 4 位表示十进制的个位数,数值表示围为0~99;非组合型的储存格式是用一个字节的低4 位存放 1 位BCD码,高四位可以为0 或任意数,数值表示围为0~9。
254D 的组合型BCD码:0254D的非组合型BCD码:00000010 00000101 000001007. 计算机中为什么采用补码的形式储存数据?当计算机的字长n=16 时,补码的数据表示围是多少?答:是为了便于进行加减运算,简化机器硬件结构。
当n=16 时,补码表示数值的围是+32767~-32768 。
《微机原理与接口技术》第二章作业一、书上P59 作业题 2 、 5 、 6 、9 、142、8086 标志寄存器包含哪些状态标志位?试说明各状态标志位的作用.答: 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。
3 个控制标志位:DF(Direction Flag) ——方向标志位。
它用以指定字符串处理时的方向,当该位置“1”时,字符串以递减顺序处理,即地址以从高到低顺序递减。
反之,则以递增顺序处理。
IF(Interrupt enable Flag) ——中断允许标志位。
它用来控制8086 是否允许接收外部中断请求。
若IF=1 ,8086 能响应外部中断,反之则不响应外部中断。
TF(Trap Flag) ——跟踪标志位。
它是为调试程序而设定的陷阱控制位。
当该位置“1”时,8086 CPU 处于单步状态,此时CPU每执行完一条指令就自动产生一次部中断。
当该位复位后,CPU恢复正常工作。
5、逻辑地址与物理地址有什么区别?如何将逻辑地址转换为物理地址?答:物理地址是真实存在的唯一地址,指的是存储器中各个单元的单元号;逻辑地址是思维性的表示,由段地址和偏移地址联合表示的地址类型叫逻辑地址。
物理地址=段地址×10H +偏移地址。
6、写出下列逻辑地址的段基址、偏移地址和物理地址。
(1)2314H:0035H (2)1FD0H:000AH答:(1)段基址:2314H偏移地址:0035H物理地址:23175H。
(2)段基址:1FD0H偏移地址:000AH物理地址:1FD0AH。
9、设一个16 字的数据区,它的起始地址为70A0H:DDF6H(段基址:偏移地址),求这个数据区的首字单元和末字单元的物理地址。
答:首字: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 、274、指出下列指令中的源操作数和目标操作数的寻址方式。
(1)MOV BX,1000H源操作数:立即寻址;目标操作数:寄存器寻址(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,1000H[BX+SI] 源操作数:寄存器相对寻址;目标操作数:寄存器寻址(9)MOV [EBX+ESI+2010H],DX 源操作数:寄存器寻址;目标操作数:带位移的基址加变址寻址(10)MOV AX,0100H[EBX+ESI*4] 源操作数:基址加比例变址寻址;目标操作数:寄存器寻址5、设(DS)=2000H、(ES)=2100H、(SS)=1500H、(BX)=0100H、(BP)=0040H、(SI )=00A0H、(DI )=0120H,在指令MOVAX,src 中,求用下列表示源操作数src 的有效地址EA和物理地址PA各是多少?(1)100H[BX] 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 ;PA=2000*10H+1000H=21000H(7) ES:[DI] EA=0120H ;PA=2100*10H+0120H=21120H(8) 1050H[BX+SI] EA=1050H+0100H+00A0H=11F0H ;PA=2000*10H+11F0H=211F0H(9) DS:10C0H[BP+SI] EA=10C0H+0040H+00A0H=11A0H ;PA=2000*10H+11A0H=211A0H(10) [BX+DI] EA=0100H+0120H=0220H ;PA=2000*10H+0220H=20220H6、指出下列指令中的错误,并改正。
(1)MOV BL,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,AX(8)MOV [BX],[1000H] 存储器不可以相互传送改:MOV AX,[1000H] MOV [BX] ,AX(9)LDS (BX),[1000H]LDS 使用时期目标为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] ;(A X)=260FH(3)MOV AX,[1020H] ;(AX)=260FH(4)LEA AX,[1020H] ;(AX)=1020H10、设一个堆栈段共有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、编程完成下列程序段,根据运算结果置标志位O F、SF、ZF、AF、PF、CF,并分析程序执行结果是否正确?为什么?(设字长n=8)(1)30+64(2)122-64(3)96+52(4)-68+ (-72 )答:(1)MOV AL ,30MOV B L,64ADD AL,BL结果:0101111O F=0 SF=0 ZF=0 AF=0 PF=1 CF=0(2)MOV AL ,122MOV B L,64SUB AL,BL结果:00111010 OF=0 SF=0 ZF=0 AF=0 PF=1 CF=0(3)MOV AL ,96MOV B L,52ADD AL,BL结果:10010100 F=0 SF=0 ZF=0 AF=0 PF=1 CF=0(4)MOV AL ,-68MOV BL,-72ADD AL,BL结果:01110100 OF=1 SF=0 ZF=0 AF=1 PF=1 CF=117 、判断下列指令格式的对与错,并解释错在哪里。