第3-5章习题解(新)_第1页
第3-5章习题解(新)_第2页
第3-5章习题解(新)_第3页
第3-5章习题解(新)_第4页
第3-5章习题解(新)_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、重庆理工大学电子信息与自动化学院第三章主要内容第三章主要内容8086的寻址方式以及指令介绍汇编语言的语法规定、语句格式汇编语言程序设计重庆理工大学电子信息与自动化学院知识点:知识点: . 物理地址和逻辑地址物理地址和逻辑地址 . 寻址方式寻址方式 . 指令系统指令系统 . 汇编语言程序设计汇编语言程序设计 掌握:掌握: . 物理地址与逻辑地址的换算物理地址与逻辑地址的换算 . 指令寻址方式的确定指令寻址方式的确定 . 指令寻址过程的分析,进而确定操作数指令寻址过程的分析,进而确定操作数 . 指令正误的判别指令正误的判别 . 指令的功能及其对标志寄存器的影响指令的功能及其对标志寄存器的影响 .汇

2、编语言程序设计方法及典型程序段汇编语言程序设计方法及典型程序段重庆理工大学电子信息与自动化学院3.13.1设设DS=1000HDS=1000H,SS=2000HSS=2000H,AX=1A2BHAX=1A2BH,BX=1200HBX=1200H,CX=339AHCX=339AH,BP=1200HBP=1200H,SP=1350HSP=1350H,SI=1354HSI=1354H,(11350H)=0A5H(11350H)=0A5H,(11351H)=3CH(11351H)=3CH,(11352H)=0FFH(11352H)=0FFH,(11353H)=26H(11353H)=26H,(1135

3、4H)=52H(11354H)=52H,(11355H)=OE7H(11355H)=OE7H,(126A4H)=9DH(126A4H)=9DH,(126A5H)=16H(126A5H)=16H,(21350H)=88H(21350H)=88H,(21351H)=51H(21351H)=51H 下列各指令都在此环境下执行,在下列各小题的空下列各指令都在此环境下执行,在下列各小题的空格中填入相应各指令的执行结果。格中填入相应各指令的执行结果。MOV MOV 目标操作数,目标操作数, 源操作数源操作数 源源操作数可以是操作数可以是8/16/328/16/32位的立即数、寄存器操作位的立即数、寄存器操

4、作数、内存操作数。目标操作数不允许为立即数,其余数、内存操作数。目标操作数不允许为立即数,其余同源操作数。源、目不能同时为内存操作同源操作数。源、目不能同时为内存操作数。数。重庆理工大学电子信息与自动化学院(2)MOV AX(2)MOV AX,1352H 1352H ;AX=AX=解:解:PA=DSPA=DS* *16+EA=10000H+1352H=11352H16+EA=10000H+1352H=11352H(11352H)=0FFH(11352H)=0FFH,(11353H)=26H(11353H)=26HAX=26FFHAX=26FFH(1)MOV AX(1)MOV AX,1352H

5、1352H 解:解:AX=1352HAX=1352H(3)MOV 0150HBX(3)MOV 0150HBX,CHCH (11350H)= (11351H)= (11350H)= (11351H)=解:解: EA=BX+0150H=1350H EA=BX+0150H=1350H PA=DS PA=DS* *16+EA=10000H+1350H=11350H, CH=33H16+EA=10000H+1350H=11350H, CH=33H (11350H)=33H, (11351H)(11350H)=33H, (11351H)的值不变的值不变 ,(11351H)=3CH(11351H)=3CH(

6、4)MOV AX(4)MOV AX,0150HBP 0150HBP ;AX=_AX=_解:解: EA= BPEA= BP0150H0150H1350H1350HPA=PA=SS*16+EA=20000H+1350H=21350HEA=20000H+1350H=21350H AX=5188HAX=5188H重庆理工大学电子信息与自动化学院(5)POP AX (5)POP AX ; AX=_ AX=_,SP=_SP=_ 功能:功能: dest (SP+1)_(SP) dest (SP+1)_(SP) SPSP SPSP2 2 注意:注意: dest dest可以是可以是MEM/REG/SREG(C

7、SMEM/REG/SREG(CS除外)除外)解:解:EA= SP=1350HEA= SP=1350H PA=PA=SS*16+EA=20000H+1350H=21350HEA=20000H+1350H=21350H AX=5188H, SP=1350H+2H=1352HAX=5188H, SP=1350H+2H=1352H(6)ADD(6)ADD SISI,CXCX (11354H)=_(11354H)=_,(11355H)=_(11355H)=_,SF=_SF=_ ZF=_ZF=_, PF=_ PF=_, CF=_ CF=_, OF=_ OF=_ 功能:功能: dest dest+src d

8、est dest+src 注意注意:(1):(1)源和目的操作数不能同时为存储单元源和目的操作数不能同时为存储单元; ; (2) (2)标志寄存器中状态位随运算结果变化标志寄存器中状态位随运算结果变化 (3) (3)操作数是有符号或无符号数由程序员解释操作数是有符号或无符号数由程序员解释; ;重庆理工大学电子信息与自动化学院 (11354H) =0ECH, (11355H)= 1AH CF=1,ZF=0,CF=1,ZF=0,PF(PF(低八位奇偶校验低八位奇偶校验) ):0ECH= 11101100B0ECH= 11101100BPF=0PF=0SF(SF(最高位状态最高位状态) ),1H=0

9、001B1H=0001BSF=0SF=0OF(OF(溢出标志溢出标志) )0E752H=1110011101010010B0E752H=1110011101010010B 339AH=339AH=000011001110011010B11001110011010B 11111001110101001010011101010010+ + 00001100111001101011001110011010 1 100011010111011000001101011101100解:解:EA=SI=1354H, PA=DSEA=SI=1354H, PA=DS* *16+EA=10000H+1354H=1

10、1354H16+EA=10000H+1354H=11354H CX=339AH, (11354H)=52HCX=339AH, (11354H)=52H,(11355H)=OE7H(11355H)=OE7H 0E752H+339AH=0E752H+339AH=1 11AECH-(11355H): (11354H)1AECH-(11355H): (11354H)(11354H) =0ECH, (11355H)= 1AH(11354H) =0ECH, (11355H)= 1AH重庆理工大学电子信息与自动化学院(7)SUB BH(7)SUB BH,0150HBXSI0150HBXSIBH=_BH=_,

11、SF=_SF=_,ZF=_ZF=_,PF=_PF=_,CF=_CF=_,0F=_0F=_ 格式:格式:SUB dest, srcSUB dest, src 功能:功能:dest dest-srcdest dest-src 注意:注意:destdest、srcsrc不能同时为存储单元。不能同时为存储单元。 标志寄存器中的状态位随运算结果改变。标志寄存器中的状态位随运算结果改变。 减法时减法时OFOF溢出标志位何时为溢出标志位何时为0 0,何时为,何时为1 1? 当负数减正数时,若结果为正数,当负数减正数时,若结果为正数,OF=1OF=1;当正数减负数;当正数减负数 时,若结果为负数,时,若结果为

12、负数,OF=1OF=1;否则为;否则为0.0.解:解:EA=0150H+BX+SI=26A4HEA=0150H+BX+SI=26A4H; PA=DS PA=DS* *16+EA=10000H+26A4H=126A4H16+EA=10000H+26A4H=126A4H; (126A4H)=9DH,BH=12H(126A4H)=9DH,BH=12H BH=75H, SF=0,ZF=0,PF=0, CF=1 ,OF=0BH=75H, SF=0,ZF=0,PF=0, CF=1 ,OF=0重庆理工大学电子信息与自动化学院(8)INC BYTE PTR 0152HBX(8)INC BYTE PTR 015

13、2HBX (11352H)=_(11352H)=_,(11353H)=_(11353H)=_,CF=_CF=_ 格式:格式:INC destINC dest 功能:功能:dest destdest dest1 1 注意:注意:1 1)单操作数指令;)单操作数指令; 2 2)不影响)不影响CFCF标志;标志; 3 3)对内存单元进行加)对内存单元进行加1 1时,要指明内存单元是字时,要指明内存单元是字 节,是字。可以在内存单元前加操作符节,是字。可以在内存单元前加操作符BYTEBYTE PTR PTR,表明为字节;加,表明为字节;加WORD PTRWORD PTR表明是字表明是字 4 4)常用于

14、地址指针和加)常用于地址指针和加1 1计数。计数。解:解:EA=0152H+ BX= 1352H,PA=DSEA=0152H+ BX= 1352H,PA=DS* *16+EA=11352,16+EA=11352, (11352H)=0FFH, (11352H)=0FFH, (11352H)=00H, (11353H)= 26H, (11352H)=00H, (11353H)= 26H, 不影响不影响CFCF (9)INC WORD PTR 0152HBX(9)INC WORD PTR 0152HBX (11352H)=_ (11352H)=_,(11353H)=_(11353H)=_,CF=_

15、CF=_解:解:EA=0152H+ BX= 1352H, PA=DSEA=0152H+ BX= 1352H, PA=DS* *16+EA=11532,16+EA=11532, (11352H)=0FFH, (11353H)= 26H (11352H)=0FFH, (11353H)= 26H (11352H)=00H, (11353H)= 27H, (11352H)=00H, (11353H)= 27H, 不影响不影响CF CF 重庆理工大学电子信息与自动化学院(10)SAR BYTE PTR 0150HBX(10)SAR BYTE PTR 0150HBX,1 1 (11350H) =_(113

16、50H) =_, CF=_ CF=_, OF=_ OF=_SHL SHL 移位对象,移位次数移位对象,移位次数状态位状态位CFCF、SFSF、ZFZF和和PFPF随运算结果而变化;当移位次数随运算结果而变化;当移位次数为为1 1时,若移位前后移位对象的最高位不同时,则时,若移位前后移位对象的最高位不同时,则OF=1,OF=1,否则为否则为0 0,当移位次数大于,当移位次数大于1 1时,时,OFOF是不确定的是不确定的解:解:EA=BX+0150H=1350HEA=BX+0150H=1350HPAPADSDS* *16+EA=11350H,16+EA=11350H, (11350H)=0A5H=

17、 10100101B(11350H)=0A5H= 10100101B11010010B=0D2H, CF=1,OF=011010010B=0D2H, CF=1,OF=0(11)SAL BYTE PTR 0150HBX(11)SAL BYTE PTR 0150HBX,1 1 (11350H)=_(11350H)=_,CF=_CF=_,OF=_OF=_解:解:EA=BX+0150H=1350H,PA=DSEA=BX+0150H=1350H,PA=DS* *16+EA=11350,16+EA=11350,(11350H)=0A5H= 10100101B(11350H)=0A5H= 10100101B

18、 01001010B=4AH, CF=1,OF=1 01001010B=4AH, CF=1,OF=1重庆理工大学电子信息与自动化学院3.23.2 阅读下列各小题的指令序列,在后面空格中填入阅读下列各小题的指令序列,在后面空格中填入 该指令序列的执行结果。该指令序列的执行结果。(1) MOV BL(1) MOV BL,85H85H MOV AL MOV AL,17H17H ADD AL ADD AL,BLBL DAA DAAAL=_AL=_, BL=_ BL=_, CF=_ CF=_解:解:17H+85H17H+85H9CH9CHALAL DAA DAA 压缩的压缩的BCDBCD码加法十进制调整

19、指令。码加法十进制调整指令。 (AL(AL的低的低4 4位位99或或AF=1AF=1,ALALAL+06H,AFAL+06H,AF1;1; AFAF是辅助进位标志是辅助进位标志用以标志用以标志D3D3向向D4D4的进位的进位 ALAL的高的高4 4位位99或或CF=1CF=1,ALALAL+60H,CFAL+60H,CF1;1;) AL=9CH+ 06H=0A2HAL=9CH+ 06H=0A2H AL=0A2H+60H=AL=0A2H+60H=02H02H, , BL=85HBL=85H CF=1 CF=1重庆理工大学电子信息与自动化学院(2) MOV AX(2) MOV AX,BXBX NO

20、T AX NOT AX ADD AXADD AX,BXBX lNClNC AX AXAX=_AX=_,CF=_CF=_解:解:INCINC不影响标志位不影响标志位 AX=0000HAX=0000H, CF=0CF=0(3)MOV AX(3)MOV AX,0FF60H 0FF60H STC STC ;CF=1 MOV DX MOV DX,96 96 ;DX=0060H XOR DH XOR DH,0FFH 0FFH ;XOR XOR 命令会使命令会使 CFCF0,OF0,OF0 0 SBB AX DX SBB AX DX ;AX-DX-CF=FF60H-FF60H-0=0AX=_AX=_,CF=

21、_CF=_解解:AX=0000H, CF=0AX=0000H, CF=0重庆理工大学电子信息与自动化学院(4)MOV BX(4)MOV BX,0FFFEH 0FFFEH ; MOV CL,2MOV CL,2; SAR BX,CL SAR BX,CLBX=_BX=_,CF=_CF=_解解:0FFFEH=1111111111111110B0FFFEH=1111111111111110B1111111111111111B, CF=01111111111111111B, CF=01111 1111 1111 1111B, CF=11111 1111 1111 1111B, CF=1 SAR SAR为算

22、术右移,低位移出到为算术右移,低位移出到CFCF中,高位中,高位用符号位填充。用符号位填充。 故运行结果为:故运行结果为:BX=0FFFFH, CF=1BX=0FFFFH, CF=1重庆理工大学电子信息与自动化学院3.3 AND AL3.3 AND AL,ALAL JZ BRCHl JZ BRCHl RCR AL RCR AL,1 1 JZ BRCH2 JZ BRCH2 RCL AL RCL AL,1 1 INC AL INC AL JZ BRCH3 JZ BRCH3上述程序运行后,试回答:上述程序运行后,试回答:(1)(1)当当AL= AL= 时,时, 程序转向程序转向BRCHlBRCHl(

23、2)(2)当当AL= AL= 时,时, 程序转向程序转向BRCH2BRCH2(3)(3)当当AL= AL= 时,时, 程序转向程序转向BRCH3BRCH3 ;将;将ALAL数据求与数据求与 ;ZF=1ZF=1则转移到则转移到BRCH1BRCH1 ;循环右移;循环右移1 1位位 ;ZF=1ZF=1则转移到则转移到BRCH2BRCH2 ;循环左移;循环左移1 1位位 ;ALAL加加1 1 ;ZF=1ZF=1则转移到则转移到BRCH3BRCH3转移指令转移指令00H00H0FFH0FFH01H01H重庆理工大学电子信息与自动化学院3 34 4完成下列操作,选用什么指令:完成下列操作,选用什么指令:

24、(1) (1)将将AXAX的内容减去的内容减去0520H0520H,和上次运算的借位;,和上次运算的借位; SUB destSUB dest,srcsrc 功能:功能:dest dest-srcdest dest-src SBB destSBB dest,srcsrc 功能:功能:dest dest-src-CFdest dest-src-CF SBB AX,0520HSBB AX,0520H (2) (2)将变量名将变量名TABLTABL的段地址送的段地址送AXAX。 变量操作时的分析运算符有以下变量操作时的分析运算符有以下5 5种种SEGSEG变量名变量名取出变量所在段的段基值取出变量所在

25、段的段基值 OFFSETOFFSET变量名变量名取出变量所在处的偏移地址取出变量所在处的偏移地址TYPETYPE变量名变量名取出变量的数据类型值取出变量的数据类型值LENGTHLENGTH变量名表示变量所在数组的数据元素个数变量名表示变量所在数组的数据元素个数SIZESIZE变量名变量名它表示变量所在数组的字节总数它表示变量所在数组的字节总数SIZE=LENGTHSIZE=LENGTH* *TYPETYPE MOV AXMOV AX,SEG TABLSEG TABL重庆理工大学电子信息与自动化学院3.5 D1 DB 20H DUP3.5 D1 DB 20H DUP(?)(?) D2 DW D1

26、 D2 DW D1请写出用一条指令实现取请写出用一条指令实现取D1D1的偏移地址送的偏移地址送SISI中的三种方法。中的三种方法。 格式:格式:LEA reg,srcLEA reg,src 功能:功能:regEA,regEA,将存储器地址送到一个寄存器。源操作数必须为内将存储器地址送到一个寄存器。源操作数必须为内 存单元地址,目的操作数必须为一个存单元地址,目的操作数必须为一个1616位通用寄存器。此指令常位通用寄存器。此指令常 用来使一个寄存器作为地址指针。用来使一个寄存器作为地址指针。 (A) LEA SI(A) LEA SI,D1 D1 (B) MOV SI(B) MOV SI,OFFS

27、ET D1 OFFSET D1 (C) MOV SI(C) MOV SI,D2 D2 重庆理工大学电子信息与自动化学院0F00H3.6 MOV BX , 0FFH3.6 MOV BX , 0FFH AND BX , 0FFFH AND BX , 0FFFH OR BX , 0F0FH OR BX , 0F0FH XOR BX , 00FFH XOR BX , 00FFH上述程序段运行后,上述程序段运行后,BX= ,CF=BX= ,CF= BX=0F00H, CF=0(注意:对于注意:对于8086 8086 的加法和减法操作,使用的加法和减法操作,使用CF CF 来标识将两个操作数看成来标识将两

28、个操作数看成无符号数时计算是否发生了溢出,而无符号数时计算是否发生了溢出,而OF OF 则标识将两个操作数看成有则标识将两个操作数看成有符号数时的情况。计算符号数时的情况。计算CF CF 位时,加法操作是直接将最高位的进位赋位时,加法操作是直接将最高位的进位赋给给CFCF,而对于减法操作而言,转换后的补码加法有进位表示实际进行,而对于减法操作而言,转换后的补码加法有进位表示实际进行的减法没有借位(即没有溢出),因此需要将最高位进位取反以后赋的减法没有借位(即没有溢出),因此需要将最高位进位取反以后赋给给CFCF;对于;对于OF OF 位的计算则是相同的,通过将最高位的进位和次高位位的计算则是相

29、同的,通过将最高位的进位和次高位的进位进行异或运算,结果赋给的进位进行异或运算,结果赋给OFOF(当然也可以使用双符号位来进行(当然也可以使用双符号位来进行计算)。当然对于减法操作而言,我们也可以简单地认为:对于计算)。当然对于减法操作而言,我们也可以简单地认为:对于CF CF 位,将减数与被减数都看成无符号数,如果减数位,将减数与被减数都看成无符号数,如果减数 被减数,则被减数,则CF=1CF=1,否则否则CF CF 为为0 0;对于;对于OF OF 位,若两个数的符号相反,而结果的符号与减位,若两个数的符号相反,而结果的符号与减数相同则数相同则OF=1OF=1,其他情况,其他情况OF=0O

30、F=0。)。)重庆理工大学电子信息与自动化学院3.7 CMP AX , BX3.7 CMP AX , BX JGE NEXT JGE NEXT XCHG AX , BX XCHG AX , BX NEXT: CMP AX , CX NEXT: CMP AX , CX JGE DONE JGE DONE XCHG AX , CX XCHG AX , CX DONE: . DONE: . 上述程序段执行后,原有上述程序段执行后,原有AX AX 、BX BX 、CXCX中最大数存放在哪个寄中最大数存放在哪个寄存器中?这存器中?这3 3个数是带符号数还是无符号数?个数是带符号数还是无符号数? 最大数在

31、最大数在AXAX中中, ,是带符号数是带符号数 ;比较;比较AXAX、BXBX ;AXBXAXBX,转到,转到NEXTNEXT ;交换;交换AXAX、BXBX的值的值 ;比较;比较AXAX、CXCX ;AXCXAXCX,转到,转到DONEDONE ;交换;交换AXAX、CXCX的值的值重庆理工大学电子信息与自动化学院3.83.8画出下列语句的数据在存储器中的存储情况画出下列语句的数据在存储器中的存储情况: : ARRAYB DB 63,63H,ABCD,3 DUP(?),2 DUP(1,3)ARRAYB DB 63,63H,ABCD,3 DUP(?),2 DUP(1,3) ARRAYW DW

32、1234H,5,AB,CD,?,2 DUP(1,3)ARRAYW DW 1234H,5,AB,CD,?,2 DUP(1,3)DBDB定义长度为定义长度为1 1字节(字节(8 8位)的数据(字节数据)位)的数据(字节数据)DWDW定义长度为定义长度为1 1字节(字节(1616位)的数据(字数据)位)的数据(字数据)3FH63H41H42H43H44HXXXXXX01H03H01H03H34H12H05H00H42H41H44H43HXXXX01H00H03H00H01H00H03H00HARRAYBARRAYW重庆理工大学电子信息与自动化学院3.9 3.9 程序中数据定义如下:程序中数据定义如下

33、:DATA1 DW DATA1 DW ?DATA2 DB 32 DUPDATA2 DB 32 DUP(?)(?)DATA3 DD DATA3 DD ?DLENGTH EQU $-DATA1DLENGTH EQU $-DATA1此时此时DLENGTHDLENGTH的值是多少?的值是多少?DBDB定义长度为定义长度为1 1字节(字节(8 8位)的数据(字节数据)位)的数据(字节数据)DWDW定义长度为定义长度为1 1字节(字节(1616位)的数据(字数据)位)的数据(字数据)DDDD定义长度为定义长度为4 4字节(字节(3232位)的数据(双字数据)位)的数据(双字数据)EQU EQU 不占内存不

34、占内存解答:解答: DLENGTH=2DLENGTH=2(字)(字)+32+4+32+4(双字)(双字)=38=38重庆理工大学电子信息与自动化学院3.103.10程序中数据定义如下:程序中数据定义如下:ARRAY DB ABCDEFARRAY DB ABCDEFRESULT DB RESULT DB ?TABLE DW 20 DUPTABLE DW 20 DUP(?)(?) 则执行指令则执行指令MOV AXMOV AX,TYPE RESULTTYPE RESULT后,后,AX=AX=1 1MOV BXMOV BX, TYPE TABLE TYPE TABLE后,后,BX= BX= 2 2MO

35、V CXMOV CX, LENGTH TABLE LENGTH TABLE后,后,CX=CX=2020MOV DXMOV DX, LENGTH ARRAY LENGTH ARRAY后,后,DX=DX=1 1MOV SI MOV SI ,SIZE TABLESIZE TABLE后,后,SI=SI=2 220=4020=40 MOV DI MOV DI ,SIZE ARRAYSIZE ARRAY后,后,DI=DI=1 1重庆理工大学电子信息与自动化学院3.113.11试按下列要求在数据段中依次书写各数据定义语试按下列要求在数据段中依次书写各数据定义语句:句:(1 1)以)以DA1DA1为首字节的连

36、续存储单元中存放为首字节的连续存储单元中存放20H20H个重复个重复的数据序列:的数据序列:2 2,3 3,1010个个4 4,一个,一个7 7。(2 2)DA2DA2为字符串变量,用字变量(为字符串变量,用字变量(DWDW)设置一字符)设置一字符串;串;STUDENTSSTUDENTS(按次顺序存放在各单元中)。(按次顺序存放在各单元中)。(3 3)用等值语句给符号)用等值语句给符号COUNTCOUNT赋值以赋值以DA1DA1为首地址的数为首地址的数据区共占有的字节数,此等值语句必须据区共占有的字节数,此等值语句必须放在最后放在最后一一语句。语句。解答:解答:(1 1)DA1 DB 20H

37、DUPDA1 DB 20H DUP(2 2,3 3,10 DUP10 DUP(4 4),),7 7)(2 2)DA2 DW TSDA2 DW TS, DU DU,NENE,STST,(3 3)COUNT EQU DA2- DA1COUNT EQU DA2- DA1重庆理工大学电子信息与自动化学院3.123.12下面程序段是实现从键盘输入十个一位下面程序段是实现从键盘输入十个一位1010进制数后累加,进制数后累加,最后累加和以非压缩最后累加和以非压缩BCDBCD码形式存放在码形式存放在AHAH(高位)和(高位)和AL AL (低位)中。试把程序段中所空缺的指令填上。(低位)中。试把程序段中所空缺

38、的指令填上。XOR BX ,BX XOR BX ,BX ;BX;BX清零清零MOV CX,10MOV CX,10 ; ; 传送数据长度传送数据长度LOP:MOV AH,01HLOP:MOV AH,01H ; ;中断中断INT 21HINT 21H的的01H01H号调用号调用INT 21H INT 21H ; ;中断调用中断调用P172, P172, 键入值送入键入值送入ALAL中中MOV AH,BH MOV AH,BH ; ;将将BHBH的内容传的内容传AHAHADD AL,BL ADD AL,BL ;BL;BL与与ALAL的值相加的值相加, ,结果在结果在ALAL中中AAAAAA ; ;非压

39、缩非压缩BCDBCD码加法调整码加法调整MOV BX,AX MOV BX,AX ; ;累加结果送累加结果送BXBXLOOP LOP LOOP LOP ;CX-1CX,;CX-1CX,判断判断CX0,CX0,则转则转重庆理工大学电子信息与自动化学院3.133.13下面程序段的功能是把下面程序段的功能是把DA1DA1数据区的数据区的0-90-9转换为对应的转换为对应的ASCASC码码. .DA1 DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H DA1 DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H ASCI DB 10 D

40、UP(?)ASCI DB 10 DUP(?)CUNT = ASCI-DA1CUNT = ASCI-DA1LEA SI,DA1 LEA SI,DA1 ; ;送数组送数组DA1DA1的首地址偏移量到的首地址偏移量到SISILEA DI, ASCI LEA DI, ASCI ; ;送数组送数组ASCIASCI的首地址偏移量到的首地址偏移量到DI DI MOV CX, CUNTMOV CX, CUNT ; ;送数组送数组DA1DA1的长度的长度LOP1:LOP1: MOV AL,SI MOV AL,SI ; ;取数取数ADD AL,30HADD AL,30H ; ;或者或者OR AL,30HOR AL

41、,30H; ;加加30H30H变成变成ASCASC码码MOV DI,AL MOV DI,AL ; ;转换后存入数组转换后存入数组ASCIASCIINC SI INC SI ; ;源数据地址加源数据地址加1 1INC DI INC DI ; ;目的数据地址加目的数据地址加1 1LOOP LOP1 LOOP LOP1 ;CX-1CX,;CX-1CX,判断判断CX0,CX0,则转则转重庆理工大学电子信息与自动化学院3.143.14设设A,BA,B是长度为是长度为1010的字节数组的字节数组, ,用串操作指令编写程序实用串操作指令编写程序实现现ABAB两数组内容的相互交换两数组内容的相互交换. .试完

42、善程序试完善程序. .DATA SEGMENTDATA SEGMENTA DB 1,2,3,4,5,6,7,8,9,0AHA DB 1,2,3,4,5,6,7,8,9,0AHORG 0010HORG 0010HB DB 0AH,9,8,7,6,5,4,3,2,1B DB 0AH,9,8,7,6,5,4,3,2,1DATA ENDSDATA ENDSLEA SI,ALEA SI,ALEA DI,BLEA DI,BMOV CX,10MOV CX,10重庆理工大学电子信息与自动化学院LOP:LOP: LODSBLODSBXCHG AL,DIXCHG AL,DIXCHG SI,DIXCHG SI,DI

43、DEC DIDEC DISTOSBSTOSBXCHG SI,DIXCHG SI,DIINC DIINC DILOOP LOPLOOP LOP重庆理工大学电子信息与自动化学院3.153.15编写一程序段编写一程序段, ,将将ALAL中的第中的第7 7和第和第0 0位位, ,第第6 6和第和第1 1位位, ,第第5 5和第和第2 2位位, ,第第4 4和第和第3 3位互换位互换. . MOV CX,8 MOV CX,8; MOV AH,0 MOV AH,0; K1: SHR AL,1K1: SHR AL,1; RCL AH,1 RCL AH,1; DEC CX DEC CX; JNZ K1 JNZ

44、 K1; MOV AL,AH MOV AL,AH 重庆理工大学电子信息与自动化学院3.163.16试编写一程序段试编写一程序段, ,在在CHARCHAR为首的为首的2626个单元中依次存放个单元中依次存放字母字母A- Z.A- Z. CHAR DB 26 DUP CHAR DB 26 DUP (? ?)START: LEA BX, CHAR;START: LEA BX, CHAR; MOV AL, A MOV AL, A MOV CX, 26 MOV CX, 26LOP1: MOV BX , ALLOP1: MOV BX , AL INC AL INC AL INC BXINC BX LOOP

45、 LOP1 LOOP LOP1 HLT HLT重庆理工大学电子信息与自动化学院3.173.17设在设在DATDAT单元存放一个单元存放一个-9+9-9+9的字节数据的字节数据, ,在在SQRTABSQRTAB数数据区中存放据区中存放0909的平方值的平方值, ,请用直接查表法编写一子程请用直接查表法编写一子程序序, ,在在SQRTABSQRTAB中查找出中查找出DATDAT单元中数据对应的平方值送单元中数据对应的平方值送SQRSQR单元单元. .并写出主程序的调用方式并写出主程序的调用方式. . 数据段如下数据段如下: : DATA SEGMENT DATA SEGMENT DAT DB XX

46、H DAT DB XXH SQRTAB DB 0, 1, 4, 9, 81 SQRTAB DB 0, 1, 4, 9, 81 SQR DB ? SQR DB ? DATA ENDS DATA ENDS重庆理工大学电子信息与自动化学院 DATA SEGMENTDATA SEGMENTDAT DB XXHDAT DB XXHSQRTAB DB 0SQRTAB DB 0,1 1,4 4,9 9,8181SQR DB SQR DB ?DATA ENDSDATA ENDSSTACK SEGMENT PARA STACKSTACK SEGMENT PARA STACK DW 20H DUP DW 20H

47、DUP(?)(?)STACK ENDSSTACK ENDSCODE SEGMENTCODE SEGMENTASSUME CSASSUME CS:CODECODE,DSDS:DATADATA,SSSS:STACKSTACKSTARTSTART: MOV AXMOV AX,DATADATA MOV DS MOV DS,AXAX CALL DTOS CALL DTOS MOV AH MOV AH,4CH4CH INT 21H INT 21H重庆理工大学电子信息与自动化学院 DTOS PROCDTOS PROC PUSH AXPUSH AX PUSH BX PUSH BX LEA BX LEA BX,

48、SQRTABSQRTAB MOV AL MOV AL,DATDAT TEST AL TEST AL,80H 80H ;判断;判断ALAL的正负的正负 JZ NEXTJZ NEXT NEG AL NEG ALNEXTNEXT: XLAT SQRTAB XLAT SQRTAB ;ALAL(BX+ALBX+AL) MOV SQRMOV SQR,ALAL POP BXPOP BX POP AX POP AX RET RETDTOS ENDPDTOS ENDPCODE ENDSCODE ENDS END SRART END SRART 重庆理工大学电子信息与自动化学院第四章主要内容第四章主要内容半导体存

49、储器半导体存储器内存储器接口的基本技术内存储器接口的基本技术1616位微型计算机系统中的内存储器接口位微型计算机系统中的内存储器接口重庆理工大学电子信息与自动化学院4.14.1用下列芯片构成存储系统用下列芯片构成存储系统, ,需要多少需要多少RAMRAM芯片芯片? ?需要多少位地址作为片需要多少位地址作为片外地址译码外地址译码? ?设系统为设系统为2020位地址线位地址线, ,采用全译码。采用全译码。(1)512(1)5124 4位位RAMRAM构成构成16KB16KB的存储系统的存储系统; ;(2)1024(2)10241 1位位RAMRAM构成构成128KB128KB的存储系统的存储系统;

50、 ;(3)2K(3)2K4 4位位RAMRAM构成构成64KB64KB的存储系统的存储系统; ;(1)64K(1)64K1 1位位RAMRAM构成构成256KB256KB的存储系统的存储系统; ; 芯片芯片 存储系统容量存储系统容量 多少芯片多少芯片 片外译码线片外译码线(20(20根地址根地址) )(1)512(1)5124 4位位 16KB 16KB 6464片片 11 11根根5125128 8位位 2 2片片 1K 1K 8 8位位 4 4片片16 16 4 4片片=64=64片片 片内地址寻址片内地址寻址512=2512=29 9, ,片内地址寻址将用去片内地址寻址将用去9 9根线根

51、线, ,片外译码线片外译码线20-9= 1120-9= 11根根(2)1024(2)10241 1位位 128KB 128KB 10241024片片 10 10根根102410248 8位位 8 8片片 128K 128K位位 8 8位位 8 8片片 128=1024 128=1024片片 片内地址寻址片内地址寻址1024=21024=21010, ,片内地址寻址将用去片内地址寻址将用去1010根线根线, ,片外译码线片外译码线20-10= 1020-10= 10根根(3)2K(3)2K4 4位位 64KB 64KB 6464片片 9 9根根2K2K8 8位位 2 2片片 2K 2K 32=6

52、4KB, 32=64KB, 2 2片片 32=64 32=64片片 片内地址寻址片内地址寻址2K=22K=21111, ,片内地址寻址将用去片内地址寻址将用去1111根线根线, ,片外译码线片外译码线20- 11 = 920- 11 = 9根根( (4 4)64K)64K1 1位位 256KB 256KB 3232片片 4 4根根64K64K8 8位位 8 8片片 64K 64K 8 8位位 4=256KB4=256KB8 8片片 4=32 4=32片片 片内地址寻址片内地址寻址64K=264K=21616, ,片内地址寻址将用去片内地址寻址将用去1616根线根线, ,片外译码线片外译码线20

53、-16=420-16=4重庆理工大学电子信息与自动化学院4.24.2现有一种存储芯片容量为现有一种存储芯片容量为5125124 4位位, ,若要它组若要它组成成4KB4KB的存储容量的存储容量, ,需要多少这样的存储芯片需要多少这样的存储芯片? ?每块芯片需要多少寻址线每块芯片需要多少寻址线( (片内寻址片内寻址)?)?而而4KB4KB存存储系统需要多少寻址线储系统需要多少寻址线? ?解答解答: : 5125124 4位的位的芯片芯片2 2片片 512 5128 8位的位的2 2组组(4(4片片) ) 1K1K8 4 8 4 4=4=1616片片(1)(1)需要需要1616片片5125124

54、4位可以组成位可以组成4KB4KB的存储容量的存储容量(2)512=2(2)512=29 9需要需要9 9根地址线片内寻址根地址线片内寻址(2) 4KB=2(2) 4KB=21212, ,系统需要系统需要1212根寻址线根寻址线重庆理工大学电子信息与自动化学院 习题习题4.3 有一个有一个2732EPROM芯片的译码电路,如图所示,芯片的译码电路,如图所示,请计算该芯片的地址范围。请计算该芯片的地址范围。 解答解答: : 地址范围:地址范围:A19 A16 A15 A12 A11 A10 A9 A8 A7 A4 A3 A0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0

55、 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 A Y0B Y1C 74LS138G1G2A Y6G2B Y7&2732CSA11A12A13A14A15A19A11 A10 A9 A8 A7 A4 A3 A0范围:范围:(A11=0) FF000HFF7FFH (A11=1) FF800HFFFFFH重庆理工大学电子信息与自动化学院 4.44.4某一存储器系统如图某一存储器系统如图4-24-2所示所示, ,回答他们的存储回答他们的存储容量是多少容量是多少?

56、RAM?RAM和存储器和存储器EPROMEPROM地址范围各是多少地址范围各是多少? ?CPU74138RAMEPROMA11A0-A10A0-A10A0-A10211 2KB 6116A0-A11212 4KB 2732重庆理工大学电子信息与自动化学院 A19 A16 A15 A12 A11 A10 A9 A8 A7 A4 A3 A0 EPROM 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 RAM 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0

57、1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 EPROM范围:范围:FD000H-FDFFFH RAM范围:范围:A11=0时,时,F9000H-F97FFH A11=1时,时, F9800H-F9FFFH重庆理工大学电子信息与自动化学院 4.5 使用使用6116(2K)、2732(4K)和和74LS138译码器构成一个存储容量为译码器构成一个存储容量为12KB的的ROM(00000H-02FFFH),),8KB RAM(03000H-04FFFH)的存)的存储系统。系统地址总线储系统。系统地址总线20位,数据总线位,数据总线8位。位。 A19 A16 A15

58、 A12 A11 A10 A9 A8 A7 A4 A3 A01# ROM 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Y0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 12# ROM 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 Y1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 13# ROM 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 Y2 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1重庆理

59、工大学电子信息与自动化学院 A19 A16 A15 A12 A11 A10 A9 A8 A7 A4 A3 A01# RAM 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 Y3 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 12# RAM 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 Y3 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 13# RAM 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Y4 0 0 0 0 0 1 0 0 0

60、 1 1 1 1 1 1 1 1 1 1 14# RAM 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 Y4 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1重庆理工大学电子信息与自动化学院设计图设计图1重庆理工大学电子信息与自动化学院设计图设计图2重庆理工大学电子信息与自动化学院4.6 8086CPU执行执行MOV 2001H,AX指令指令,从取指令到执行指令从取指令到执行指令最少需要多少时间最少需要多少时间?设时钟频率为设时钟频率为5MHz,该指令机器码为该指令机器码为4个个字节字节,存放在存放在1000H:2000H开始的开

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论