《微机原理》课件第三章习题

上传人:考试不挂****2941... 文档编号:242939569 上传时间:2024-09-12 格式:PPT 页数:29 大小:665KB
返回 下载 相关 举报
《微机原理》课件第三章习题_第1页
第1页 / 共29页
《微机原理》课件第三章习题_第2页
第2页 / 共29页
《微机原理》课件第三章习题_第3页
第3页 / 共29页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,1,习题讲解,3.1,请解释名词:操作码、操作数、立即数、寄存器操作数、存储器操作数。,操作码,说明指令操作的性质与所完成的功能,操作数,给出参与运算的操作数本身、操作数所在寄存器或操作数在存储器中的地址,运算结果放至何处,或给出下一条执行指令的地址信息,立即数,指令操作码的后面字节就是操作数本身,称为立即数,寄存器操作数,操作数存放在,CPU,内部的寄存器中,存储器操作数,操作数存放在某个逻辑段的存储单元中,2,3.2,什么叫寻址方式?,8086,指令系统有哪几种寻址方式?,寻址方式,说明指令中如何提供操作数或提供操作数存放地址的方法,8086,指令系统的寻址方式:立即寻址、寄存器寻址、存储器寻址(直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址)、,I/O,端口寻址,3,3.3,指出下列指令中源操作数的寻址方式:,(1) MOV SI, 200 ;,立即寻址,(2) MOV AL, 2000H,;直接寻址,(3) MOV CX, DATASI,; 寄存器相对寻址,(4) ADD AX, BX+DI,;基址变址寻址,(5) AND AX, BX,;寄存器寻址,(6) MOV SI, AX,;寄存器寻址,(7) MOV AX, DATABP+SI,;相对基址变址寻址,(8) PUSHF,;隐含寻址,(9) MOV AX, ES:BX,;寄存器间接寻址,(10) JMP FAR PTR PROCS_1,;段间直接转移,4,3.4,设,DS=1000H,,,ES=2000H,,,BX= 2865H,,,SI=0120H,,偏移量,D=47A8H,,试问下列各指令中源操作数所在位置,若有物理地址请计算出其物理地址值。,(1) MOV AL, D ;,指令中,(2) MOV AX, BX,;寄存器,(3) MOV AL, BX+D,;存储器,,1700DH,(4) MOV AL, BX+SI+D,;存储器,,1712DH,(5) MOV BX, BX+SI+2,;存储器,,12987H,(6) MOV BX+5, AX,;寄存器,(7) INC BYTE PTRSI+3,;存储器,,10123H,(8) MOV DL, ES:BX+SI,;存储器,,22985H,(9) MOV AX, 2010H,;指令中,(10) MOV AX, DS:2010H,;存储器,,12010H,5,3.5,现有,DS=2000H,,,BX= 0100H,,,SI=0002H,,,(20100H)=12H,(20101H)=34H,(20102H)=56H (20103H)=78H, (21200H)=2AH, (21201H)=4CH, (21202H)=B7H, (21203H)=65H,,试说明下列指令执行后,,AX,寄存器中的内容。,(1) MOV AX, 1200H ;AX=1200H,(2) MOV AX, BX,;,AX=0100H,(3) MOV AX, 1200H,;,AX=4C2AH,(4) MOV AX, BX,;,AX=3412H,(5) MOV AX, 1100HBX,;,AX=4C2AH,(6) MOV AX, BX+SI,;,AX=7856H,(7) INC AX, 1100H+BX+SI,;,AX=65B7H,6,3.8,已知,AX,2040H,,,DX,380H,,端口(,PORT,)(,80H,),1FH,,(,PORT+1,),=45H,指出下列指令执行后,结果是什么?,(1) OUT DX, AL ;(PORT)=(80H)=40H,(2) OUT DX, AX,;(PORT)=(80H)=40H,(PORT+1)=20H,(3) IN AL, PORT,;,AL=1FH,(4) IN AX, 80H ; AX=451FH,7,3.9,假设下列程序执行前,SS=8000H,SP=2000H , AX=7A6CH,DX=3158H.,执行下列程序段,画出每条指令执行后,寄存器,AX,,,BX,,,CX,,,DX,的内容和堆栈存储的内容的变化情况,执行完毕后,,SP,?,(1) PUSH AX,;AX=7A6CH, SP=1FFEH,(SP)=7A6CH,(2) PUSH DX,;DX=3158H,SP=1FFCH,(SP)=3158H,(3) POP BX,;BX=3158H,SP=1FFEH,(SP)=7A6CH,(4) POP CX,; CX=7A6CH,SP=2000H,8,3.10,编程序段分别完成如下功能:,(1) AX,寄存器低,4,位清零,AND AX, 0FFF0H,(2) BX,寄存器低,4,位置,“,1,”,OR AX, 000FH,(3) CX,寄存器低,4,位变反,XOR CX, 000FH,(4),测试,DL,寄存器位,3,,位,6,是否同时为,0,,若是,将,0,送,DL,;否则,1,送,DL,。,TEST DL, 48H ;0100 1000B,JZ NEXT,MOV DL, 1,JMP EXIT,NEXT:MOV DL, 0,EXIT:HLT,9,3.11,写出三种不同类型的指令将寄存器,BX,清零。,(1) MOV BX, 0,(2) XOR BX, BX,(3) AND BX, 0,10,3.12,已知从,DS,:,2200H,,,ES,:,3200H,单元起分别存放,20,个,ASCII,的字符。找出这两个字符串中第一个不同字符的位置(段内偏移地址),并放入,DS,:,22A0H,开始的连续两个单元中。请设计完成此任务的程序段。,(1),用比较指令,CMP,实现,MOV SI, 2200H,MOV DI, 3200H,MOV CX, 20,AGAIN:MOV AL, SI,CMP AL, ES:DI,JNZ FIND,INC SI,INC DI,LOOP AGAIN,JMP EXIT,FIND:MOV 22A0H, SI,MOV 22A2H, DI,EXIT:HLT,(2),用数据串比较指令,CMPSB,实现,MOV SI, 2200HMOV DI, 3200HMOV CX, 20REPZ CMPSB,JZ NEXT,DEC SI,DEC DI,MOV 22A0H, SI,MOV 22A2H, DI,NEXT: HLT,11,3.13,读下面程序段,请问在什么情况下,本段程序的执行结果是,AH,0,BEGIN:IN AL, 5FH,TEST AL, 80H,JZ BRCH1,MOV AH, 0,JMP STOP,BECH1:MOV AH, 0FFH,STOP:HLT,答:从端口,5FH,读入的数据大于等于,80H,12,3.14,读程序:,START:IN AL, 20H,MOV BL, AL,IN AL, 30H,MOV CL, AL,MOV AX, 0,ADLOP:ADD AL, BL,ADC AH, 0,DEC CL,JNZ ADLOP,HLT,请问,(1),本程序实现什么功能?,(,2,)结果在哪里?,(3),用乘法指令,MUL BL,编程并使结果不变,(,1,)功能:从端口,20H,输入的数值加,CL,遍,,CL,的值为从端口,30H,输入,(,2,),AX,(,3,),START:IN AL, 20H,MOV BL, AL,IN AL, 30H,MUL BL,HLT,13,3.16,读程序:,NEXT:MOV AL, SI,MOV ES:DI, AL,INC SI,INC DI,LOOP NEXT,请用串指令完成上述功能的程序段,.,REP MOVSB,14,3.18,假设寄存器,AX,1234H,,,DX,0A000H,,阅读下列程序段:,MOV BX, 0,MOV CX, BX,SUB CX, AX,SBB BX, DX,MOV AX, CX,MOV DX, BX,上述程序执行后,,AX,?,,DX,?,程序功能是什么?,答:,AX=0EDCCH, DX=5FFFH,程序功能是计算表达式,0,0A0001234H,的值,结果的高,16,位存到,DX,,低,16,位存到,AX,。,15,3.19,比较,AX,,,BX,,,CX,中带符号数的大小,将最大的数放在,AX,中,请编程。,CMP AX, BX,JGE NEXT,MOV AX, BX,NEXT:CMP AX, CX,JGE NEXT1,MOV AX, CX,NEXT1:HLT,16,3.21,编写程序段,在数据区,0000H,:,2000H,开始,100,字节范围内,查找字符,A,,若找到,则将偏移地址送入,DX,,没有找到,则结束。,MOV AX, 0000H,MOV ES, AX,MOV DI, 2000H,MOV AL, A,MOV CX, 100,REPNE SCASB,JNZ EXIT,DEC DI,MOV DX, DI,EXIT:HLT,17,3.27,有数据段为:,DATA SEGMENT,ORG 200H,TAB1 DB 16,-3,5,ABCD,TAB2 DW,XY,-2,0,0AH,ARR1 DW TAB1,ARR2 DD TAB2,DATA ENDS,汇编后,设数据段从,200H,开,始的单元存放,请画出存放,示意图。,10H,FDH,0200H,0201H,05H,41H,0202H,0203H,42H,43H,0204H,0205H,44H,59H,0206H,0207H,58H,FEH,0208H,0209H,FFH,00H,020AH,020BH,00H,020CH,0AH,00H,020DH,020EH,00H,02H,020FH,0210H,07H,02H,0211H,0212H,*,*,0213H,0214H,-D DS:0200,1433:0200 10 FD 05 41 42 43 44 59-58 FE FF 00 00 0A 00 00,1433:0210 02 07 02 33 14,18,3.28,已知数据段,DATA,从存储器实际地址,02000H,开始,作如下定义:,DATA SEGMENT,VAR1 DB 2 DUP(0,1,?),VAR2 DW 50 DUP(?),VAR3 DB 10 DUP(0,1,2 DUP(4),5),DATA ENDS,求出三个变量,SEG,、,OFFSET,、,TYPE,、,LENGTH,和,SIZE,的属性值。,变量,SEG,OFFSET,TYPE,LENGTH,SIZE,VAR1,1433,0000,0001,0002,2,VAR2,1433,0006,0002,0032,0064,VAR3,1433,006A,0001,000A,000A,19,3.29,已知数据区定义了下列语句,采用图示说明变量在内存单元的分配情况以及数据的预置情况。,DATA SEGMENT,A1 DB 20H,52H,2 DUP(0,?),A2 DB 2 DUP(2,3 DUP(1,2),0,8),A3 DB,GOOD!,A4 DW 1020H,3050H,A5 DD A3,DATA ENDS,-D DS:0,1433:0000 20 52 00,00,00,00,02 01-02 01 02 01 02 00 08 02,1433:0010 01 02 01 02 01 02 00 08-47 4F,4F,44 21 20 10 50,1433:0020 30 18 00 33 14,20,20H,52H,0000H,0001H,00H,00H,0002H,0003H,00H,00H,0004H,0005H,02H,01H,0006H,0007H,02H,01H,0008H,0009H,02H,01H,000AH,000BH,02H,000CH,00H,08H,0016H,0017H,47H,4FH,0018H,0019H,4FH,44H,001AH,001BH,21H,001CH,02H,01H,000FH,0010H,02H,01H,0011H,0012H,02H,01H,0013H,0014H,02H,0015H,00H,08H,000DH,000EH,*,0024H,20H,10H,001DH,001EH,50H,30H,001FH,0020H,18H,00H,0021H,0022H,*,0023H,A1:,A2:,A3:,A4:,A5:,21,3.30,采用示意图来说明下列变量在内存单元的分配以及数据的预置。,DATA SEGMENT,ORG 4,VAR1 DW 9,VAR2 DW 2 DUP(0),CONT EQU 2,VAR3 DB COUNT DUP(?,8),VAR4 DB 2 DUP(?,CONT DUP(0),AB,),DATA ENDS,-D DS:4,1433:0000 09 00 00 00-00 00 00 08 00 08 00 00 .,1433:0010 00 41 42 00 00 00 41 42-.,22,3.31,已知三个变量的数据定义如下所示,分析给定的指令是否正确,有错误时加以改正。,DATA SEGMENT,VAR1 DB ?,VAR2 DB 10,VAR3 EQU 100,DATA ENDS,(1) MOV VAR1, AX,(2) MOV VAR3, AX,(3) MOV BX, VAR1,MOV BX, 10,(4) CMP VAR1, VAR2,(5) VAR3 EQU 20,;错,类型不一致,;错,立即数不允许,;错,类型不一致,;错,两个都是存储器操作数,;错,不能重定义,23,3.32,执行下列指令后,,AX,寄存器中的内容是什么?,TABLE DW 10,20,30,40,50,ENTRY DW 3,MOV BX, OFFSET TABLE,ADD BX, ENTRY,MOV AX, BX,AX=1E00H,-D DS:0000,1433:0000 0A 00 14 00 1E 00 28 00-32 00 03 00,24,3.34,在数据区中,以,TABLE,开始连续存放,0,6,的立方值,设任给一数,x,(,0,x 6,),x,在,TAB1,单元,查表求,x,的立方值,并把结果存入,TAB2,单元。,DATAS SEGMENT,TABLE DB 0,1,8,27,64,125,216,TAB1 DB 3,TAB2 DB ?,DATAS ENDS,CODES SEGMENT,ASSUME CS:CODES,DS:DATAS,START:,MOV AX,DATAS,MOV DS,AX,LEA BX,TABLE,MOV AL,TAB1,XLAT,MOV TAB2,AL,MOV AH,4CH,INT 21H,CODES ENDS,END START,25,3.36,编写程序,计算下面函数的值。,2x,(,x10),DATAS SEGMENT,X DB -1,S DW ?,DATAS ENDS,CODES SEGMENT,ASSUME CS:CODES,DS:DATAS,START:,MOV AX,DATAS,MOV DS,AX,MOV AL,X,CMP AL, 0,JGE NEXT,MOV BL, 2,JMP DONE,NEXT:CMP AL, 10,JG NEXT0,MOV BL, 3,JMP DONE,NEXT0:MOV BL, 4,DONE: IMUL BL,MOV S, AX,MOV AH,4CH,INT 21H,CODES ENDS,END START,26,3.39,现有两个多字节压缩,BCD,码数,9876543219H,和,1234567891H,,它们分别按低位字节在前高位字节在后存放在变量,A1,和,A2,中,求它们的和与差,并将结果放在变量,SUM,和,DEF,中。,DATASEGMENT,A1 DB 19H,32H,54H,76H,98H,A2 DB 91H,78H,56H,34H,12H,SUM DB 5 DUP(?),DEF DB 5 DUP(?),DATAENDS,CODESEGMENT,ASSUME CS:CODE,DS:DATA,START:MOV AX, DATA,MOV DS, AX,LEA BX, A1,LEA SI, A2,LEA DI, SUM,MOVCX, 5,CLC,LOP1: MOVAL, BX,ADCAL, SI,DAA,MOV DI, AL,LOOP LOP1,LEA BX, A1,LEA SI, A2,LEA DI, DEF,MOVCX, 5,CLC,LOP2: MOVAL, BX,SBBAL, SI,DAS,MOV DI, AL,LOOP LOP2,MOVAH, 4CH,INT21H,CODE ENDS,END START,27,3.40,设变量,K,中存放了由,100,个有符号整数组成的数组,编写程序段找出其中最大的一个,放到,AX,中。,LEA BX,K,MOV CX,5,MOV AX,BX,DEC CX,AGAIN:INC BX,INC BX,CMP AX,BX,JGE NEXT,MOV AX,BX,NEXT:LOOP AGAIN,28,3.43,在数据段中有一个字节数组,编程统计其中正数的个数,放入,A,单元,负数的个数放入,B,单元。,DATAS SEGMENT,TABLE DB -1,25,60,100,-48,ZHEN DB ?,FU DB ?,DATAS ENDS,CODES SEGMENT,ASSUME CS:CODES,DS:DATAS,START:,MOV AX,DATAS,MOV DS,AX,LEA BX,TABLE,XOR DX,DX,MOV CX,5,AGAIN:MOV AL,BX,CMP AL,0,JG A1,JE A2,INC DL,JMP A2,A1:INC DH,A2: INC BX,LOOP AGAIN,MOV ZHEN,DH,MOV FU,DL,MOV AH,4CH,INT 21H,CODES ENDS,END START,29,3.45,编写完整程序,判断一个按键是不是回车键。若是,输出“,YES,!”,否则输出“,NO,!”。,DATAS SEGMENT,STR1 DB YES!$,STR2 DB NO!$,DATAS ENDS,CODES SEGMENT,ASSUME CS:CODES,DS:DATAS,START:,MOV AX,DATAS,MOV DS,AX,MOV AH,1,INT 21H,LEA DX,STR1,CMP AL,0DH,JZ NEXT,LEA DX,STR2,NEXT:MOV AH,9,INT 21H,MOV AH,4CH,INT 21H,CODES ENDS,END START,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!