指令与寻址方式习题

上传人:xt****7 文档编号:134294786 上传时间:2022-08-12 格式:DOC 页数:6 大小:32.01KB
返回 下载 相关 举报
指令与寻址方式习题_第1页
第1页 / 共6页
指令与寻址方式习题_第2页
第2页 / 共6页
指令与寻址方式习题_第3页
第3页 / 共6页
点击查看更多>>
资源描述
指令与寻址方式习题解答1试分别说明下列各指令中源操作数和目的操作数使用的寻址方式:() AND AX,0FFH() AND BL,OFFH() MOV DS,AX() CMP SI,CX() MOV DS:0FFH,CL() SUB BPSI,AH() ADC AX,0ABHBX() OR DX,-35BXDI() PUSH DS() CMC答: 目的操作数 源操作数 (1)寄存器直接寻址 立即数寻址 (2)寄存器直接寻址 直接寻址 (3)寄存器直接寻址 寄存器直接寻址(4)寄存器间接寻址 寄存器直接寻址(5)直接寻址 寄存器直接寻址(6)基址变址寻址 寄存器直接寻址 (7)寄存器直接寻址 寄存器相对寻址 (8)寄存器直接寻址 基址变址相对寻址 (9)无 寄存器直接寻址 (10)隐含寻址2试分别指出下列各指令语句的语法是否有错,如有错,指明是什么错误。() MOV BXBP,AX() TEST BP,BL() ADD SI,ABH() AND DH,DL() CMP CL,1234H() SHR BXDI,3() NOT CX,AX() LEA DS,35SI() INC CX,1() PUSH 45DI答:(1)应将BP,BX其中之一该为SI或DI (2)正确 (3)ABH改为0ABH (4) (5)是字操作,CL改为CX (6)移位数大于1时,应用CL (7)NOT指令只有一个操作数 (8)LEA指令的源操作数应为一内存单元地址 (9)此指令不用指出1 (10)45改为45H 3下面两条指令执行后,标志寄存器中CF,AF,ZF,SF和OF分别是什么状态?MOV DL,86ADD DL,0AAH答: 0101,0110 + 1010,1010 = 1,0000,0000 CF=1 AF=1 ZF=1 SF=1 OF=14在8086/8088CPU中可用于作地址指针的寄存器有哪些?答:有BX,CX,DX,BP,SI,DI (IP,SP,)5已知(DS)09lDH,(SS)1E4AH,(AX)1234H,(BX)=0024H,(CX)5678H,(BP)0024H,(SI)=0012H,(DI)0032H,(09226H)00F6H,(09228H)1E40H,(1E4F6H)091DH。下列各指令或程序段分别执行后的结果如何?() MOV CL,20HBXSI() MOV BPDI,CX() LEA BX,20HBXSIMOV AX,2BX() LDS SI,BXDIMOV SI,BX() XCHG CX,32HBXXCHG 20HBXSI,AX答(1) (CX)=56F6H; (2) (09226H)=5678H; (3) (AX)=1E40H; (4) (1E4F6H)=0024H; (5) (09226H)=1234H,(AX)=5678H.6已知(SS)09l 5H,(DS)0930H,(SI)0A0H,(DI)1C0H,(BX)80H,(BP)470H。现有一指令“MOV AX,OPRD”,如源操作数的物理地址为095C0H,试用四种不同寻址方式改写此指令(要求上述每个已知条件至少要使用一次)。答:(1)MOV AX,BP (2)MOV AX,BP+DI+80H (3)MOV AX,DI+0100H MOV AX,SI+0220H (4)MOV AX,02C0H 7试按下列要求分别编制程序段:() 把标志寄存器中符号位SF置1。() 寄存器AL中高低四位互换。() 由寄存器AX,BX组成一个32位带符号数(AX中存放高十六位),试求这个数的负数。() 现有三个字节存储单元A,B,C。在不使用ADD和ADC指令的情况下,实现(A)+(B)=C。() 用一条指令把CX中的整数转变为奇数(如原来已是奇数,则CX中数据不变,如原来是偶数,则(CX)+1形成奇数)。答:(1)MOV AH, 80HSAHF (2 ) MOV BL, 0FH AND BL, AL SAL 4 SHR 4 XOR AL, BL (3 ) MOV DX, 7FH SUB AX, DX MOV DX, 0FFH SUB DX, BX MOV BX, DX (4 ) MOV AH, FFH MOV BL, B SUB AH, BL MOV BH, A SUB BH, AH MOV C, BH (5 ) MOV AX, CX NOT AX TEST 01H JNZ NEXT HLT NEXT: INC CX HLT8试给出下列各指令的机器目标代码:() MOV BL,12HSI() MOV 12HSI,BL() SAL DX,1() ADD 0ABHBPDI,1234H答: (1) 10001010,11011111=8ADF; (2) 10001000,01011100=885C; (3) 11010001,11100010=D1E2; (4) 10000001,10000001=8181.9执行下列指令后: STR1 DW AB STR2 DB 16DUP(?) CNT EQU $-STR1 MOV CX,CNT MOV AX,STR1 HLT寄存器CL的值是多少?寄存器AX的值是多少?答:寄存器CL的值为12H,寄存器AX的值为4241H。10JMP FAR PTR ABCD(ABCD是符号地址)的转移方式是什么?答:JMP FAT PTR ABCD 的转移方式是段间直接转移.11MOV AX,ES:BXSI的源操作数的物理地址是多少(用CS、DS、ES、SS、BX、SI表示出即可)?答 :MOV AX,ES:BX SI的源操作数的物理地址是ES10H+BX+SI.12运算型指令的寻址和转移型指令的寻址,其不同点在什么地方?答:运算型指令的寻址包括立即数寻址。寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对寻址和基址加变址寻址方式。这些寻址方式中,CS,IP寄存器的内容不会发生变化。 转移型指令的寻址方式包括段内直接寻址,段内间接寻址,段间直接寻址,段间间接寻址。在后三种寻址方式中,CS,IP寄存器的内容发生改变。13如果TABLE为数据段中0032单元的符号名,其中存放的内容为1234H,当执行指令”MOV AX,TABLE”和”LEA AX,TABLE”后,(AX)中的内容分别为多少?答:执行MOV AX , TABLE后(AX)=1234H执行LEA AX, TABLE 后 (AX)=0032.14.当指令”SUB AX,BX”执行后,CF=1,说明最高有效位发生了什么现象?对无符号数来说,操作结果发生了什么现象?答:执行指令SUB AX,BX后,CF=1,说明最高位发生了借位对无符号来说,操作结果发生了溢出。15.在1000H单元中有一条二字节指令JMP SHORT LAB,如果其中的偏移量分别为30H、6CH、0B8H,则转向地址LAB的值分别为多少?答:转向地址LAB的值分别为:100010H+2H+30H=10032H100010H+2H+6CH=1006EH100010H+2H+B8H=100BAH16下面两个语句的区别在什么地方: X1 EQU 1000H X2=1000H答:“EQU”和“=”都可以作为赋值语句,但二者的区别是EQU伪操作中的表达式是不许重复定义的,而“=”伪操作则许重复定义。17.调用指令CALL可进行哪四种调用?答:调用指令CALL可进行段内直接调用,段内间接调用。段间直接调用。段间间接调用。18.(AL)=9AH,(BL)=0BCH,当分别进行下列指令运算后,请写出标志位ZF、PF、CF、SF的内容:( P8050)(1) ADD AL,BL(2) SUB AL,BL(3) AND AL,BL(4) OR AL,BL(5) XOR AL,BL答:(1)ADD AL,BL 1 0 0 1 1 0 1 0+)1 0 1 1 1 1 0 0 1,0 1 0 1 0 1 1 0 ZF=0,PF=1 CF=1 SF=0(2)SUB AL,BL 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0)1 0 1 1 1 1 0 0 +)0 1 0 0 0 1 0 0 1 1 0 1 1 1 1 0 ZF=0 PF=1 CF=1 SF=1(3)AND AL,BL 1 0 0 1 1 0 1 0AND)1 0 1 1 1 1 0 0 ZF=0 PF=0 CF=0 SF=0 1 0 0 1 1 0 0 0 (4)OR AL,BL 1 0 0 1 1 0 1 0 OR)1 0 1 1 1 1 0 0 ZF=0 PF=1 CF=0 SF=0 1 0 1 1 1 1 1 0(5)XOR AL,BL 1 0 0 1 1 0 1 0XOR)1 0 1 1 1 1 0 0 ZF=0 PF=0 CF=0 SF=0 0 0 1 0 0 1 1 019.若(SP)=2800H,试用两种方法实现(SP)=27FEH答:方法一:执行一次PUSH指令 PUSH CX方法二:执行一次PUSHF指令20.试简述LES REG,SRC所完成的操作?答:LES REG,SRC 是将SRC和SRC+1中的偏移量送到REG 寄存器,而将SRC+2和SRC+3中的段基址送ES段寄存器。21.关系操作符EQ、NE、LT、GT、LE、GE计算的结果为逻辑值,试问0FFFFH代表假,0代表真是否正确?答:0FFFFH代表真。0表示结果为假。22.堆栈存取操作是以字节为单位的试分析当堆栈存入数据和从堆栈取出数据时SP的变化?答:当堆栈存入一个字时,(SP)SP2从堆栈中取出一个字时(SP)SP+223.试编写汇编程序段完成以下功能:将1000个字符的字符串从内存的BUFFER1搬移到内存的BUFFER2中去。解答 LEA SI,BUFFER1 LEA DI,BUFFER2 MOV CX,1000 CLDREP MOVSb24.试编写汇编程序段完成以下功能:将数据段中100个字的数据块BLOCK1搬移到同一个数据段的BLOCK2中去。解答: LEA SI,BLOCK1 LEA DI,BLOCK2 MOV CX,100 CLDREP MOVSW25.试编写汇编程序段完成以下功能:比较DEST和SOURCE中的500个字节,找出第一个不相同的字节,如果找到,则将SOURCE中的这个数送AL中。解答: CLD LEA DI,DEST LEA SI,SOURCE MOV CX,500 REPE CMPB JCXZ NEXT DEC SI MOV AL,BYTE PTRSINEXT:HLT26.试编写汇编程序段完成以下功能:求最大值,若自BLOCK开始的内存缓冲区中,有100个带符号的数,希望找到其中最大的一个值,并将它放到MAX单元中。解答:MOV BX,OFFSET BLOCKMOV AX,BXMOV CX,100ADD BX,2F0:CMP AX,BXJGE F1MOV AX,BXF1:ADD BX,2JCXZ NEXTJMP F0MOV MAX,AXNEXT:HLT27.假定(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令PUSH AX后,存放数据21H的物理地址是多少?解答: 07H 21H 原栈顶20100 存放数据21H的物理地址是200FFH
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


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

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


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