汇编语言 习题2

合集下载

汇编语言习题2

汇编语言习题2

选择1、设AX中有一带符号数8520H,执行SAR AX,1指令后,AX中的值是()A. 0C290HB.0A40HC. 4290HD.0C260H2、下列中指令执行后,能影响标志位的指令是()A.PUSHFB.POPFC.JNLE OPRD.LOOPZ LOP3、循环控制指令LOOPNZ/LOOPNE继续执行循环的条件是()A.CX≠0且ZF=1B.CX≠0且ZF=0C.CX≠0或ZF=1D.CX≠0或ZF=04、下面两个传送指令语句中源操作数寻址方式是()V AR1 DW 32HV AR2 EQU32H┇MOV AX,V AR1MOV BX,V AR2A.都是立即数寻址B.前一条指令是立即数寻址,后一条指令是直接寻址C.前一条指令是直接寻址,后一条指令是立即寻址D.都是直接寻址5、ARRAY DW 6,9,$+4,10H,1,$+4┇MOV AX,ARRAY+4设变量ARRAY的偏移量是0084H,上述指令执行后AX中的内容是()A.008CHB. 0009C.0090HD.0001H6、指令语句中标号的错误定义是()A.在代码段中的名字项定义,后面紧跟冒号B.用EQU伪指令定义C.用LABEL伪指令定义D.由“JMP标号”指令定义7、为在一连续的存储单元中依次存放数据41H,42H,…48H,下面的数据定义语句中有语法错误的是()A.DB 41H,42H,43H,44H,45H,46H,47H,48HB.DW 4142H,4344H,4546H,4748HC.DB …ABCDEFGH‟D.DW …BA‟,…DC‟,…FE‟,…HG‟8、设NUM=11011011B,指令“MOV AX,NUM SHL 3”执行后AX中的值是()A.11011011000BB.11011000BC.00011011BD.00011011011B9、用REPE SCASB指令对字符串进行扫描,如CX≠0时,扫描结束,那么表示()A.在字符串中遇上第一个AL中指定的字符B.在字符串中有一个AL中指定的字符C.在字符串中有一个不是AL中指定的字符D.在字符串中遇上第一个不是AL中指令的字符10、设(SP)=0028H,执行段内返回指令RET 6后,SP的内容是()A.0036HB.0022HC.0030HD.0020H11. 当执行完下列指令序列后,标志位CF和OF的值为( )MOV AH,85HSUB AH,32HA. 0,0B. 0,1C. 1,0D. 1,112. 已知RET是属性为NEAR子程序中的返回指令,执行RET前SP=100,执行后,SP的内容为( )A. 102HB. 104HC. 104D. 10213. 指令MOV AX,-10[SI]的源操作数的寻址方式为( )A. 基址寻址B. 基址变址寻址C. 变址寻址D. 寄存器间接寻址14. 确定下列哪些数据在汇编语言中的表示是正确的( )A.19B+25D B. 25 AND 0D3HC.108Q-102 D. 101B MUL 0ABH15. 已知AL,BL中为无符号数, 若使AL≤BL时转到标号OK, 哪个程序段不能实现此功能( )A. CMP AL,BLB. CMP AL,BLJC OK JBE OKC. CMP BL,ALD. CMP BL,ALJNB OK JNC OK16. NEXT是程序中标号,下述哪个程序段不能实现转移到NEXT语句执行()A. JMP NEXTB. MOV BX,OFFSET NEXTJMP WORD PTR[BX]C. DA TA DW NEXTD. LEA AX,NEXTJMP DA TA JMP AX17. DA TA的定义如下:DATA DW 1234H现想把12H取入到AL寄存器,可以实现该功能的是()A. MOV AL,BYTE PRT DATAB. MOV AL,BYTE PTR DATA+1C. MOV AL,HIGH DATAD. MOV AX,DATA18、若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX= ? ( )A. 1400HB. 77F8HC. 0000HD. 0FFFFHA.185A2HB. 0AB568HC.01004HD. 00020H19、DW 10 DUP (2 DUP(3),300H)上述定义的数据单元中,能构成0303H字存储单元的个数是()A.10HB.20HC.1EHD.9H20、用一条指令实现将寄存器BX和SI的内容相加,结果并送入AX中,这条指令是()A.ADD AX,[BX][ST]B.MOV AX,[BX][ST]C. LEA AX, [BX][SI]D. AND AX, [BX][SI]1、A2、B3、B4、C5、A6、D7、B8、A9、D 10、A 11、C 12、B 13、A 14、C 15、B 16、D 17、C 18、B 19、A 20、D程序分析1.某数据段的起始定义如下:ORG 0030HDA1 DB 0,'0',30HDW DA1数据为3000H字存储单元的偏移地址是____30H ______2.若有如下指令和伪指令序列:DA1 EQU BYTE PTR DA2DA2 DW 0ABCDH┇SHL DA1,1SHR DA2,1上述指令序列执行后,DA2字存储单元的内容是____55CDH _______4. 阅读程序回答问题STRING DB …ABCDEFGHIJ''MOV AH,01 ;从键盘输入字符1~9之间的一个数字INT 21HAND AL,0FHDEC ALXOR AH,AHMOV BX,OFFSET STRINGADD BX,AXMOV BL,[BX]MOV AH,02H ;显示输出INT 21H试回答:(1)上述程序段的功能是什么?根据从键盘输入的字符…1‟~…9‟,确定在显示器上显示STRING中第几个字符。

汇编语言习题

汇编语言习题

汇编语言习题一、单项选择题1. 汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是( )。

A、名字项B、操作项C、操作数项D、注释项2. 在汇编语言程序中,对END语句的叙述正确的是()。

A、是一可执行语句B、表示程序执行到此结束C、表示源程序到此结束D、在汇编后要产生机器码3. 汇编语言源程序中,每个语句可由四项组成,其中名字项是一个符号,下面列出的有效名字是()A、VariableB、First & ldC、0FFFFHD、'Memphis'4.用一条指令仅实现将BX+SI=>AX的方法是()A、XCHG AX,[BX][SI]B、MOV AX,[BX+SI]C、LEA AX,BX[SI]D、LEA AX,[BX][SI]5.设 SP初值为2000H,执行指令"PUSH AX"后,SP的值是()A、1FFFHB、1998HC、2002HD、1FFEH6.条件转移指令JC产生程序转移的条件是()A、CF=1B、CF=0C、CF=1和ZF=1D、CF=1和ZF=07.选用串操作指令时,错误的操作是()A、置方向标志位B、根据串操作指令设置重复次数并送入CXC、设置源操作数及目的操作数指针D、源操作数和目的操作数都可以加段超越8.设AL=20H,SI=0500H,DS=3000H,(30500H)=0C0H,CF=1。

执行SBB AL,[SI]后,正确的结果是()A、AL=5FH SF=1 CF=1B、AL=60H SF=1 CF=0C、AL=5FH SF=0 CF=1D、AL=60H SF=0 CF=09.设AX=1000H,执行NOT AX指令后,正确的结果是()A、AX=1001HB、AX=0EFFHC、AX=1000HD、AX=0111H10. 设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是( )A、85B92HB、86192HC、BB690HD、12169H11. 可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是()A、AX,BX,CX,DXB、DS,ES,CS,SSC、SP,BP,IP,BXD、SI,DI,BP,BX12. 循环指令LOOPNZ终止循环的条件是( )。

汇编语言练习题2

汇编语言练习题2

一、单项选择题(共20题)1.对于有符号的数来说,下列哪个值最大( D)A:0F8H B:11010011B C:82 D:123Q2.下列有关汇编语言中标号的命名规则中,错误的是(D )A:通常由字母打头的字符、数字串组成 B:标号长度不能超过31个字符C:?和$不能单独作为标号 D:.号不可位于标号首3.设A=0.4H,B=0.8H,C=0.4,D=0.4Q,它们之间的关系是(C )。

A.C+D=B B.A+D=BC.B=D D.A>C>D4.下列四个寄存器中,可作为十六位寄存器的是(C )A.DL B.CLC.BP D.EBX5.8088/8086存储器分段,每个段不超过( D)A.64K个字B. 32K个字节C.1兆个字节D.64K个字节6.寻址指令MOV CX, [BX + DI + 20]使用的是哪一种寻址方式( B)A:寄存器寻址B:相对基址变址寻址C:变址寻址D:基址变址寻址7.连接程序把汇编语言源程序生成的目标文件(.OBJ文件)转换成( B)。

A..OBJ文件B..EXE文件C..LST文件D..CRF文件8.在程序运行过程中,确定下一条指令的物理地址的计算表达式是( A)。

A. (CS)×16+(IP)B. (DS)×16+(DI)C. (SS)×16+(SP) D.(ES)×16+(SI)9.若AX= - 15要得到AX=15应执行的指令是(A )A.NEG AXB.NOT AXC.INC AXD.DEC AX10.8086/8088系统执行传送指令MOV时(A )A.不影响标志位B.影响DF方向标志C.影响SF符号标志D.影响CF进位标志11.执行下列程序后,(AL)=(D )H。

DATA SEGMENTTAB DB ‘0123456789’DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX, DATAMOV DS, AXMOV BX, OFFSET TABMOV AL, 04XLAT TAB…A.04 B.0400C.33 D.3412.下列指令中操作数在代码段中的是(A )。

汇编语言程序设计复习2(带答案)1

汇编语言程序设计复习2(带答案)1

汇编语言程序设计练习题2一、单项选择题(答案BDDBA BDADC CCAC CBBDA BDADA BCCB )1、使计算机执行某种操作的命令是( )A.宏指令B.指令C.伪指令D.语句2、某存储单元的物理地址是12345H,可以作为它的段地址有()。

A.2345H B.12345HC.12340H D.1234H3、8088/8086存储器分段,每个段不超过()A.64K个字B.32K个字节C.1兆个字节D.64K个字节4、计算机能直接识别并执行的语言是( )A.汇编语言B.机器语言C.高级语言D.低级语言5. 8086/8088系统执行传送指令MOV时()A.不影响标志位B.影响DF方向标志C.影响SF符号标志D.影响CF进位标志6、以下各个指令中正确的是()。

A. MOV CS, DXB. MOV DS, BPC. IN 20H,ALD. MOV AH, BX7、下列对OUT指令的叙述正确的是()。

A. 实现从端口中读出数据B. 能直接访问的端口范围是0~1KBC. 能访问的端口为64KBitD. 只能用DX做为间接寻址的寄存器8、已有汇编语句“V AR EQU 1220H”,则语句“mov AX, V AR”中源操作数的寻址方式为()。

A. 立即寻址B. 直接寻址C. 寄存器间接寻址D. 基址寻址9、与MOV BX,OFFSET DATA1指令完全等效的指令是()。

A.MOV BX,DATA1B.LDS BX,DATA1C.LES BX,DATA1D.LEA BX,DATA110、下列指令中段默认为堆栈段的是()A.MOV AX,[BX+SI+10]B.ADD AX,ES:[SI]C.SUB BX,[BP][DI]D. MOV DX,[1000H]11、已知DS=2000H,ES=1000H, SI = 0800H,内存10880H开始的两个单元中存放5678H,内存20880H开始的两个单元中存放8765H,则语句“LEA BX,[SI+80H]”执行后BX 的值为()。

汇编语言(第2版),郑晓薇 汇编语言习题-测验题答案

汇编语言(第2版),郑晓薇 汇编语言习题-测验题答案

汇编语言(第2版),郑晓薇汇编语言各章习题、测试题答案习题一1.1 分别将下列二进制数作为无符号数和带符号数转换为十进制和十六进制数11010011 01110111 10000011 00101111 101010101.2 十六进制运算1A52H+4438H 3967H-2D81H 37H×12H 1250H×4H1.3 将十进制数变为8位补码并做运算(结果用二进制、十六进制、十进制表示)29+53 73-24 -66+82 -102-151.4 用压缩BCD码计算(结果用二进制、BCD码、十进制表示)29+53 73-24 66+18 132+751.5 符号位扩展(字节扩展为字,字扩展为双字)20A3H 94H 3456H 7FH EC00H1.6 若机器字长为16位,其无符号数表示范围是多少?带符号数表示范围是多少?分别用十进制和十六进制表示。

1.7 写出下列十六进制数所能代表的数值或编码:(1)38H (2)FFH (3)5AH (4)0DH1.8 将下列十进制数分别转换为二进制、十六进制、二进制补码、压缩BCD码和ASCII码:(1)108 (2)46 (3)-15 (4)2541.9 写出下列算式的8位二进制运算结果,标志位CF、SF、ZF、OF分别是什么值?(1)56+63 (2)83-45 (3)-74+29 (4)-12-371.10 查表,指出ASCII码0DH、0AH、07H、1BH、20H、60H、50H、70H对应的控制字符。

测验一单选题:1.已知X=76,则[X]补= 。

A. 76HB. 4CHC.0B4HD.0CCH2.已知[X]补=80H,则X= 。

A. 80HB. 0C. 0FFHD. -80H3.已知[X]补=98H,则[X]补/2= 。

A. 0CCHB.4CHC. 49HD. 31H4.已知X=78,Y=-83,则[X+Y]补= 。

A. 0F5HB. 0A1HC. 0FBHD. 65H5.将124转换成十六进制数的结果是A. 7CHB. 7DHC. 7EHD. 7BH6.将93H看成一个压缩BCD码,其结果是A. 10010101B. 10010011C.10000011D.100000017.45转换成二进制数是A.10101101B.00111101C. 00101101D. 100111018.6CH转换成十进制数是A. 118B. 108C. 48D. 689.将93H扩展为字的结果是A. FF93HB. 0093HC. 1193HD. 1093H10.56的压缩BCD码是A. 38HB. 56HC. 0506HD. 3536H11.ASCII中的47H表示的字符是A. “7”B. “G”C. “g”D. “E”12.十进制数-128的8位二进制数的补码为A. 11111110B. 01111111C. 10000000D. 1000000113.下列为补码表示,其中真值最大的是A. 10001000B.11111111C.00000000D.0000000114.十六进制数88H,可表示成下面几种形式,请找出错误的表示A. 无符号十进制数136B. 带符号十进制数-120C. 压缩BCD码十进制数88D. 8位二进制数-8的补码15.计算机对字符、符号采用统一的二进制编码。

汇编语言习题及答案

汇编语言习题及答案

汇编语言复习题简答题1.存储器地址为什么要分段?物理地址是如何形成的?2.IBM PC机的寻址方式(与数据有关的寻址方式)有几种?各举一例说明。

3.80x86微机的存储器中存放信息如下图所示。

试读出30022H与30024H字节单元的内容与30021H和30022H字单元的内容。

4.现有(DS)= 2000H,(BX)=0100H,(SI)= 0002H, (20100)= 12H, (20101)=34H, (20102)= 56H, (20103)=78H, (21200)=2AH, (21201)= 4CH, (21202)=B7H, (21203) = 65H,试说明下列各条指令执行完后AX的内容。

1)MOV AX,1200H2)MOV AX,BX3)MOV AX,[1200H]4)MOV AX,[BX]5)MOV AX,1100[BX]5.完成下列各式补码数的运算,并根据结果设置标志位SF,CF,ZF,OF,指出运算结果是否有效1)01001001b+10011101b2)01000001b-10101011b6.有符号定义语句如下:BUFF DB 1,2,3,’123’EBUFF DB 0L EQU EBUFF-BUFF问L的值为多少?为什么?答案:1、IBM PC系列机的字长为16位,能够访问的最大存储空间64KB,而在IBM PC内存为1MB的情况下,访问这1MB的存储空间需要20位。

为了解决字长为16位的机器访问1MB的存储空间,将1MB空间每16B分为一段,共64K段,以16位段地址:16位偏移地址的形式组成,物理地址通过如下方式计算:物理地址=段地址×10h + 偏移地址2.IBM PC机的寻址方式有7种:1)立即寻址:MOV AX, 1234H;2)寄存器寻址:MOV AX, BX;3)直接寻址:MOV AX, [1234H];4)寄存器间接寻址:MOV AX, [BX];5)寄存器相对寻址:MOV AX, 20H[BX];6)基址变址寻址:MOV AX, [BX][SI];7)相对基址变址寻址:MOV AX, 100H[BX][SI];3.解:(30022H)= 12H(30024H) = 56H(30021H) = 12CDH(30022H) = 3412H4.解:(1)MOV AX,1200H解:(AX)=1200H(2)M OV AX,BX解:(AX)= 0100H(3)M OV AX,[1200H]解:物理地址=(DS)×10H+1200H(AX) = 4C2AH(4)M OV AX,[BX]解:物理地址=(DS)×10H+0100H=20100H(AX)=3412H(5)M OV AX,1100[BX]解:物理地址=(DS)×10H+0100H+1100H=21200H(AX)=4C2AH5.(1)01001001b+10011101b解:01001001+ 10011101————————11100110 由此可得:SF=1 CF=0 ZF=0 OF = 0 计算结果有效(2)01000001b-10101011b解:01000001- 10101011————————=> 01000001+ 01010101————————10010110 由此可得:SF=1 CF=1 ZF=0 OF=1 减法计算中,被减数、减数符号相反,结果符号与减数相同,OF=1计算结果无效6.有符号定义语句如下:BUFF DB 1,2,3,’123’EBUFF DB 0L EQU EBUFF-BUFF问L的值为多少?为什么?解:根据数据段的定义,BUFF长度定义为6个字节,分别存放1,2,3,‘1’,‘2’,‘3’,而后紧接着为EBUFF的地址,故L值为6程序题1 MOV BL,64HMOV CL,03HXOR AX,AXAGAIN:ADD AL,BLADC AH,0DEC CLJNZ AGAIN问:(1)该程序段完成的功能是:(2)AX=________。

汇编语言程序设计(第四版)第2章【课后答案】讲解

汇编语言程序设计(第四版)第2章【课后答案】讲解

汇编语言程序设计第四版【课后习题答案】--囮裑為檤第2章8086的指令系统〔习题2.1〕已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12 34 56 78H,[21200H]~[21203H]依次存放2A 4C B7 65H,说明下列每条指令执行完后AX寄存器的内容。

(1)mov ax,1200h(2)mov ax,bx(3)mov ax,[1200h](4)mov ax,[bx](5)mov ax,[bx+1100h](6)mov ax,[bx+si](7)mov ax,[bx][si+1100h]〔解答〕(1)AX=1200H(2)AX=0100H(3)AX=4C2AH ;偏移地址=bx=0100h(4)AX=3412H ;偏移地址=bx=0100h(5)AX=4C2AH ;偏移地址=bx+1100h=1200h(6)AX=7856H ;偏移地址=bx+si=0100h+0002h=0102h(7)AX=65B7H ;偏移地址=bx+si+1100h=0100h+0002h+1100h=1202h〔习题2.2〕指出下列指令的错误(1)mov cx,dl(2)mov ip,ax(3)mov es,1234h(4)mov es,ds(5)mov al,300(6)mov [sp],ax(7)mov ax,bx+di(8)mov 20h,ah〔解答〕(1)两操作数类型不匹配(2)IP指令指针禁止用户访问(3)立即数不允许传给段寄存器(4)段寄存器之间不允许传送(5)两操作数类型不匹配(6)目的操作数应为[ SI ](7)源操作数应为[BX+DI](8)立即数不能作目的操作数〔习题2.3〕已知数字0 ~ 9对应的格雷码依次为:18H、34H、05H、06H、09H、0AH、0CH、11H、12H、14H,它存在于以table为首地址(设为200H)的连续区域中。

汇编语言练习题

汇编语言练习题

一、单项选择题(本大题共20小题,每小题1分,共20分)1.设A=0.4H,B=0.8H,C=0.4,D=0.4Q,它们之间的关系是()A. C+D=BB. A+D=BC. B=DD. A>C>D2.标志寄存器中属于控制标志位的是()A.DF,OF,SFB.DF,IF,TFC.OF,CF,PFD.AF,OF,SF3.8088/8086存储器分段,每个段不超过()A.64K个字B.32K个字节C.1兆个字节D.64K个字节4.设AL中已有压缩型BCD码,为实现对AL的减1操作,可选用的指令序列是()A.DEC AL B.SBB AL,0AAS DASC.SUB AL,1D.SUB AL,1AAS DAS5.要输入端口1234H中的8位数据,其指令应是()A.MOV DX,1234HB.MOV DX,1234HOUT DX,AL 1N AL,DXC.1N AX,1234HD.OUT DX,1234H6.若AX=-15要得到AX=15应执行的指令是()A.NEG AXB.NOT AXC.INC AXD.DEC AX7.8086/8088系统执行传送指令MOV时()A.不影响标志位B.影响DF方向标志C.影响SF符号标志D.影响CF进位标志8.MOV AL,79ADD AL,0B1H上面指令执行后,设置的标志位CF和OF的值是()A.CF=0,OF=1B.CF=1,OF=1C.CF=0,OF=0D.CF=1,OF=09.已知AX,BX中均为带符号数,当进行字相除时,下面指令或指令序列正确的是()A.DIV BX B.CWDIDIV BXC.XOR DX,DXD.CBWDIV BX IDIV BX10.下列指令中操作数在代码段中的是()A.MOV AL,42HB.ADD AL,BLC.SUB [BX],DID.1NC [DI]11.用REPE SCASB指令对字符串进行扫描,如CX 0时,扫描结束,那么表示()A.在字符串中遇上第一个AL中指定的字符B.在字符串中有一个AL中指定的字符C.在字符串中有一个不是AL中指定的字符D.在字符串中遇上第一个不是AL中指令的字符12.下列指令执行后对源和目的操作数均无影响的是()A.MOV [BX+2],AXB.SUB AX,2467HC.SBB [SI],BXD.CMP AX,BX13.表示过程定义结束的伪指令是()A.ENDPB.ENDSC.ENDD.ENDM14.下列有语法错误的语句是()A.DB 12HB.DW 4567HC.DD ˋBCDˊD.DB ˋCDˊ15.DB1 DB 8 DUP(2 DUP(3),3 DUP(2))┇MOV AX,WORD PTR DB1 [04H]上面指令执行后,AX的内容是()A.0302HB.0203HC.0202HD.0303H16.BUF1 DB 3 DUP(0,2 DUP (1,2),3)COUNT EQU $ -BUF1符号COUNT等价的值是()A.6B.18C.16D.817.DA1 DW 2A05HDA2 DB 0FAH┇MOV AL,BYTE PTR DA1SUB DA2,AL上述指令执行后,DA2中的内容是()A.0DAHB.0FAHC.0F5HD.0D0H18.设(SS)=338AH,(SP)=450H,执行PUSH BX,和PUSHF两条指令后,堆栈顶部的物理地址是()A.33CECHB.33CF2HC.33CF4HD.33CE8H19.设(SP)=0028H,执行段内返回指令RET 6后,SP的内容是()A.0036HB.0022HC.0030HD.0020H20.条件转移指令JNBE产生转移的条件是()A. CF=0 AND ZF=0B. CF=0 AND ZF=1C. CF=1 AND ZF=0D. CF=1 AND ZF=121.与MOV BX,0FFSET VAR指令完全等效的指令是()。

汇编语言复习题(2)

汇编语言复习题(2)

汇编语⾔复习题(2)汇编语⾔复习题第2章8086CPU寄存器的结构及使⽤1.8086CPU由指令执⾏部件EU和总线接⼝部件BIU两部分组成。

其中EU的功能是控制和执⾏指令,主要由算术逻辑部件ALU、EU控制部件、8个16位寄存器和⼀个标志寄存器FLAGS组成。

BIU的功能是从存储器预取指令和数据,以及所有EU需要的总线操作,实现CPU与存储器和外设间信息传递。

BIU由指令队列、指令指针寄存器、段寄存器、地址加器组成。

2.Intel8086CPU共有14个16位寄存器,它们分别是通⽤寄存器8个即AX、BX、CX、DX、SP、BP、SI、DI,其中能⽤作寄存器间接寻址的寄存有BX、BP、SI和DI,控制寄存器2个即IP、PSW,段寄存器4个即DS、SS、CS和ES它们的含义分别是:其中在编程过程中程序的段基值由汇编程序装⼊的段寄存器是SS和CS,由编程者⽤汇编指令将段基值装⼊的段寄存器是DS 和ES,其具体指令是MOV AX,数据段段/附加数据段名,MOV DS/ES,AX,编程⼈员不能⽤指令去取其值或给其设置给定值的寄存器是IP,但是可以通过某些指令的执⾏⽽⾃动修改其内容,如JMP NEXT指令的功能是将⽬的地址的偏移量送⼊IP。

3.PSW是程序状态字寄存器⼜称为标志寄存器,⽤来反映微处理器在程序运⾏时的某些状态,其中的6个状态标志位分别是OF、SF、ZF、AF、PF和CF,反映了刚执⾏完算术或逻辑运算指令后的某些特征。

三个控制标志位是DF即⽅向标志、IF即中断标志位和TF陷阱标志。

如两个8位的⼆进制数相加其状态标志位中各标志的值是多少?10110101+10011011。

4.8086CPU数据总线16根地址总线是20根能访问的最⼤存储空间是1MB。

第3章存储器的分段1.在8086CPU中存储器的编址原则是按字节编址即每⼀个字节单元是⼀个存储器地址,在源程序中⽤常⽤⼗六进制数或符号来表⽰⼀个存储单元的地址。

(汇编语言)练习题

(汇编语言)练习题

(汇编语言)练习题【一】填空题〔每题0.5分,共10分〕1、26.25D= B= O= H2、-56D的原码为 B,反码为 B,补码为 B。

3、0C51H的反码为 B,补码为 B。

4、十进制数87的压缩BCD码为 B,非压缩BCD码为 B。

6、设〔BX〕=1000H,〔DI〕=0010H,〔DS〕=2100H,在指令MOV AX,[BX+DI]中,源操作7、设BUF为数据段0234H单元的符号名,其中存放的内容为3456H。

写出以下指令单独执行后的结果。

〔1〕MOVAX,BUF〔AX〕=〔2〕LEAAX,BUF〔AX〕=8、子程序的参数传递方法包括、、。

9、实模式下存储器的20位物理地址由加形成。

【二】选择题〔每题1分,共10分〕1、以下通用数据传送指令的几种传送中,错误的传送方式是()。

A、从累加器到存储器B、马上数到存储器C、从寄存器到存储器D、从存储器到存储器2、使进位位置1的指令是()。

A、CLCB、CMCC、STCD、NOP3、设AL,BL中基本上有符号数,当AL<=BL时转至NEXT处,在CMPAL,BL指令后,应选用正确的条件转移指令是()。

A、JBEB、JNGC、JNAD、JNLE4、指令LOOPZ的循环执行条件是()。

A、CX<>0同时ZF=0B、CX<>0或ZF=0C、CX<>0同时ZF=1D、CX<>0或ZF=15、以下合法的变量名称是〔〕。

A、9BUFB、ADDC、BUF9D、ASSUME6、一条指令中目的操作数不同意使用的寻址方式是()。

A、寄存器寻址B、马上数寻址C、变址寻址D、寄存器间接寻址7、DOS的功能调用号必须送〔〕寄存器。

A、DLB、DHC、ALD、AH8、在实模式下,存储器治理采纳分段模式,每段大小可达〔〕。

A、64MB、1MC、64KD、16字节9、用来存放下一条将要执行的指令地址的寄存器是()。

A、SPB、IPC、BPD、CS10、要使串操作从低地址向高地址进行,应把标志位设置为()。

汇编语言习题答案

汇编语言习题答案

第1章自测练习一、选择题(四选一)1.某个加法运算结果使标志ZF=1,则标志SF为A。

A0 B 1 C 不改变原来的状态 D 不确定2.可以为存储器操作数提供偏移地址的寄存器组是B。

A AX、BX、CX、DXB BX、BP、SI、DIC SP、IP、BP、DXD CS、DS、ES、SS3.8086/8088确定下一条执行指令物理地址的计算表达式为D。

A DS× 16+EAB ES× 16+EAC SS×l6+SPD CS×l6+IP4.某系列微机对存储器分段,如果每个段最多的字存储单元(16位二进制)是32K,那么表示段内字节单元偏移地址的二进制位数应是C位。

A14 B 15 C 16 D 205.十进制数-100的8位二进制数的补码为 D 。

A10011011 B 01100100 C 10011101 D 100111006.下列各个8位二进制数的补码中,绝对值最大的是A。

A10001000 B 11111110 C 00000100 D 000000017.16位有符号数的补码所表示的十进制数的范围是B。

A-32767~+32768 B -32768~+32767C -65535~+65536D 0~655358.对数值83A7H作逻辑非运算后的结果是D。

A83A8H B、73A8H C、7C59H D、7C58H9.指令“mov cx,[bp+16]”的源操作数采用的段寄存器是 B 。

A CSB SSC DSD ES10.指向程序堆栈区的段寄存器是 B 。

A CSB SSC DSD ES11.有效地址是指 C 。

A存储器操作数的物理地址 B 存储器操作数的段地址C 存储器操作数的偏移地址D 立即数的偏移地址12.寄存器间接寻址方式中,操作数在 C 中。

A通用寄存器 B 段寄存器C 主存单元D 堆栈13.指令“mov ax,es:[bx][si]”源操作数的物理地址是D。

汇编复习题2

汇编复习题2

汇编复习题21.填空题(1)汇编语言指令由两部分组成:表示指令的操作内容;表示指令在执行过程中所用到的数据信息。

(2)在16位CPU的寄存器间接寻址方式中,若用;;作为间接寻址的寄存器,则操作数在段中;若用作为间接寻址的寄存器,则操作数在段中。

(3)在16位CPU的基址变址寻址方式中,基址寄存器可以为或;变址寄存器可以为或;若用作为基址寄存器,则操作数在段中,若用作为基址寄存器,则操作数在段中。

(4)设AX=2000H,BX=2300H,则在执行了指令CMP AX,BX后,标志CF= ;ZF= 。

(5)当执行指令DIV BL后,被除数在中,所得商在中,余数在中。

(6)当执行指令MUL BX后,被乘数在中,所得积高16位在中,所得积的低16位在中。

2.选择题(1)若栈顶的物理地址为12000H,当执行完指令PUSH BX后,栈顶物理地址是。

A.12001HB.12002HC.11FFFHD.11FFEH(2)在程序运行过程中,确定下一条指令的物理地址的计算表达式是。

A.DS*16+SIB.CS*16+IPC.SS*16+SPD.ES*1++DI (3)下面指令执行后,将改变寄存器AX内容的指令是。

A.OR AX,AXB.AND AX,BXC.TEST AX,01HD.CMP AX,1 (4)设AH=79H,当执行指令ADD AH,98H后,标志位CF和OF的值分别是。

A.0,0B.0,1C.1,0D.1,1(5)要使寄存器AL的最低位置1,应该使用的指令是。

A.AND AL,01HB.XOR AL,01HC.OR AL,01HD.NOT AL(6)将寄存器AX的内容乘以2的正确指令是。

A.SHL AX,1B.SHR AX,1C.ROL AX,1D.RCR AX,1 (7)下列指令中操作数在代码段中的是:。

A、MOV AL,25HB、ADD AH,BLC、INC BYTE PTR DS:[25H]D、CMP AL,BL (8)用MOV指令将十进制数86以组合型BCD码格式送入AX正确的指令是:。

汇编语言程序设计(第四版)第2章【课后答案】

汇编语言程序设计(第四版)第2章【课后答案】

汇编语言程序设计第四版【课后习题答案】--囮裑為檤第2章8086的指令系统〔习题2.1〕已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12 34 56 78H,[21200H]~[21203H]依次存放2A 4C B7 65H,说明下列每条指令执行完后AX寄存器的内容。

(1)mov ax,1200h(2)mov ax,bx(3)mov ax,[1200h](4)mov ax,[bx](5)mov ax,[bx+1100h](6)mov ax,[bx+si](7)mov ax,[bx][si+1100h]〔解答〕(1)AX=1200H(2)AX=0100H(3)AX=4C2AH ;偏移地址=bx=0100h(4)AX=3412H ;偏移地址=bx=0100h(5)AX=4C2AH ;偏移地址=bx+1100h=1200h(6)AX=7856H ;偏移地址=bx+si=0100h+0002h=0102h(7)AX=65B7H ;偏移地址=bx+si+1100h=0100h+0002h+1100h=1202h〔习题2.2〕指出下列指令的错误(1)mov cx,dl(2)mov ip,ax(3)mov es,1234h(4)mov es,ds(5)mov al,300(6)mov [sp],ax(7)mov ax,bx+di(8)mov 20h,ah〔解答〕(1)两操作数类型不匹配(2)IP指令指针禁止用户访问(3)立即数不允许传给段寄存器(4)段寄存器之间不允许传送(5)两操作数类型不匹配(6)目的操作数应为[ SI ](7)源操作数应为[BX+DI](8)立即数不能作目的操作数〔习题2.3〕已知数字0 ~ 9对应的格雷码依次为:18H、34H、05H、06H、09H、0AH、0CH、11H、12H、14H,它存在于以table为首地址(设为200H)的连续区域中。

(完整版)汇编语言与接口技术习题解答,推荐文档

(完整版)汇编语言与接口技术习题解答,推荐文档

习题一解答:1.3(1)[0.0000]原=0.0000 [0.0000]反=0.0000 [0.0000]补=0.0000(2)[0.1001]原=0.1001 [0.1001]反=0.1001 [0.1001]补=0.1001(3)[-1001]原=11001 [-1001]反=10110 [-1001]补=101111.4[N]反=1.0101 [N]原=1.1010 [N]补=1.0110 N=-0.10101.5(1)原码运算:比较可知,正数较大,用正数减负数,结果为正反码运算:01010011-00110011=[01010011]反+[-00110011]反=001010011 +[100110011]反=001010011+111001100=000100000补码运算:01010011-00110011=[01010011]补+[-00110011]补=001010011 +[100110011]补=001010011+111001101=000100000(2)原码运算:比较可知,负数较大,用负数减正数,结果为负反码运算:0.100100-0.110010=0.100100+[1.110010]反=0.100100+1.001101=1.110001补码运算:0.100100-0.110010=0.100100+[1.110010]补=0.100100+1.001110=1.1100101.6(1) (11011011)2=(219)10=(001000011001)BCD(2) (456)10=(010*********)BCD(3) (174)8=(124)10=(000100100100)BCD(4) (2DA)16=(730)10=(011100110000)BCD1.7(1)9876H看成有符号数时,默认为负数的补码,转换为十进制数是:-26506(2)9876H看成无符号数时,转换为十进制数是:390301.8(1)98的压缩BCD码为:10011000B(2)98的非压缩BCD码为:0000100100001000B1.9(1)[S1+S2]补=[S1]补+[S2]补=00010110+00100001=00110111,无溢出[S1-S2]补=[S1]补+[-S2]补=00010110+11011111=11110101,无溢出(2)[S1+S2]补=[S1]补+[S2]补=00010110+11011111=11110101,无溢出[S1-S2]补=[S1]补+[-S2]补=00010110+00100001=00110111,无溢出(3)[S1+S2]补=[S1]补+[S2]补=01100100+00011110=10000010,有溢出[S1-S2]补=[S1]补+[-S2]补=01100100+11100010=01000110,无溢出(4)[S1+S2]补=[S1]补+[S2]补=10011100+11100010=01111110,有溢出[S1-S2]补=[S1]补+[-S2]补=10011100+00011110=10111010,无溢出习题二解答:2.1答:8086有哪些寄存器组?各有什么用途?①通用寄存器AX、BX、CX、DX它既可用作16位寄存器,又可将它拆成高、低8位,分别作为两个独立的8位寄存器使用。

汇编语言平时练习题

汇编语言平时练习题

2. 知识点:01 (基础知识)汇编语言属于()A.用户软件B.系统软件C.高级语言D.机器语言6. 知识点:0201(80x86微处理器) IBM PC机的DOS是属于()。

A.用户软件B.系统软件C.系统硬件D.一种语言8. 知识点:0203(中央处理机)8086/8088 CPU的寄存器组中,8位的寄存器共有()个9. 知识点:0203(中央处理机)8086/8088 CPU的寄存器组中,16位的寄存器共有()个。

10. 知识点:0204(存储器) 8086/8088 CPU执行算术运算时PSW共有()个标志位会受影响。

11. 知识点:0204(存储器) 在程序执行过程中,IP寄存器始终保存的是()。

A.上一条指令的首地址B.本条指令的首地址C.下一条指令的首地址D.需计算有效地址后才能确定地址12. 知识点:0204(存储器) IBM PC机的存储器可分()个段。

13知识点:0204(存储器)当使用BP作编程地址时,此时使用的是()段。

17知识点:0204(存储器)存储器的一个字节表示( )位。

18知识点:0101(基于微处理器的计算机系统构成)如果某个字变量的数据存放在奇地址单元,则8086/8088 CPU 读写该变量时需要( )个读写周期。

19知识点:0203(中央处理机) 在机器内部操作中,CPU 与存储器之间的任何信息交换使用的都是( )地址。

A.逻辑 B.物理 C.有效 D.相对21知识点:0204(存储器) 物理地址的形成过程是将段地址左移( )位加偏移地址。

27知识点:0205(外部设备) 一般的外部设备接口电路中的状态寄存器是用来存放外设或接口电路的( )信息。

A.数据 B.控制 C.状态 D.前三者28知识点:0201(80x86微处理器) 下列叙述正确的是( )。

A.不同类型的机器字长是一样的 B.一个字节有8位二进制数C.各种不同的机器指令系统都是一样的D.机器指令都是8位的29. 知识点:0203(中央处理机) 下列叙述正确的是( )。

汇编语言课后习题及答案 按章节 超全面

汇编语言课后习题及答案 按章节 超全面

`00第一章课外练习题一、单项选择题:1.从键盘输入的字符,在计算机内存储的是它的(A)(A)二进制编码(B)四进制编码(C)八进制编码(D)十六进制编码2.6位无符号二进制数能表示的最大十进制数是(B)。

(A)64 (B)63 (C)32 (D)31 3.十进制数269变换为十六进制数是(C)。

(A)10B (B)10C (C)10D (D)10E 4.8位的微型计算机系统是以16位来表示地址,则该微机系统有(C)个地址空间。

(A)255 (B)65535 (C)65536 (D)1048576 5.8位有符号二进制数能表示的最大十进制数是(D)。

(A)256 (B)255 (C)128 (D)127 6.十六进制数88H,可表示成下面几种形式,请找出错误的表示(D)。

(A)无符号十进制数136 (B)带符号十进制数-120(C)压缩型BCD十进制数88 (D)8位二进制数-8的补码表示7.有一个数值152,它与十六进制数6A相等,那么该数值是(B)。

(A)二进制数(B)八进制数(C)十进制数(D)四进制数8.7位ASCII总共可表示(C)个符号。

(A)256 (B)127 (C)128 (D)255 9.4B的字长是(C)。

(A)8位(B)16位(C)32位(D)64位二、判断题(判断每题正误,对的在题后括号内划“√”,错的划“×”)1.字节通常用英文单词“Bit”来表示(×)。

2.目前广泛使用的Pentium计算机其字长为5个字节(×)。

3.存储器中将8个相邻的二进制位作为一个单位,这种单位称为字节(√)。

4.微型计算机的字长并不一定是字节的整数倍(×)。

三、填空题1.8位有/无符号整数的表示范围写成16进制形式为(80~~7F)/(00~~FF)。

2.己知:计算机中有一个“01100001”编码,如果把它看作是无符号数,它是十进制什么数(97);如果认为它是BCD,则表示(01100001)BCD;认为它是某个ASCII,则代表(a)字符。

扬州大学汇编语言课后习题

扬州大学汇编语言课后习题

练习一1.在计算机内部,计算机能够直接执行的程序语言是 CA.汇编语言B.C++语言 C.机器语言 D.高级语言2.在堆栈段中,存放栈顶地址的寄存器是 BA.IPB.SPC.BXD.BP3.指令指针寄存器IP用来存放代码段中的偏移地址,在程序运行的过程中,它始终指向AA.下一条指令的首地址 B.下一条指令的地址 C.当前指令的首地址 D.当前指令的地址4.编译程序的功能是 BA.检查源程序中的语法错误和逻辑错误B.将源程序编译成目标程序C.改正源程序中的语法错误D.将高级语言源程序翻译成汇编语言源程序5.用户为了解决自己的问题,用汇编语言所编写的程序,称为 BA.目标程序 B.源程序 C.可执行程序 D.汇编程序6.计算机中用来存储程序、数据等信息的记忆装置是 DA.控制器B.运算器C.CPUD.存储器7.在宏汇编中,源程序必须通过__编译__生成目标代码,然后用连接程序将其转化为可执行文件, 该文件可在系统中运行。

8.当SS=3000H,SP=0100H时,执行PUSH AX 指令后,堆栈顶部的物理地址是 DA.30100HB.30098HC.30102HD.300FEH9.设10000010B分别以原码、补码及反码表示时,则对应的十进制数依次是 CA.-82、-126、-2 B.-2、-125、126 C.-2、-126、-125 D.-82、-125、12510 若寄存器AX、BX、CX、DX的内容分别为18,19,20,21时,依次执行PUSH AX,PUSH BX,POP CX,POP DX后,寄存器CX的内容为__19__11.若物理地址为2D8C0H,偏移量为B6A0H,则段地址为 __2222H__12.设(AL)=70H,分析在SUB AL,9AH后,标志寄存器中CF、OF、ZF、PF、SF的状态.(CF)=1、(OF)=1、(ZF)=0、(PF)=0、(SF)=1练习二1. 8086在基址变址的寻址方式中,基址、变址寄存器分别是 BA.AX或CX、BX或CX B.BX或BP、SI或DIC.SI或BX、DX或DI D.CX或DI、CX或SI2. 设(SS)=338AH,(SP)=0450H,执行PUSH BX和PUSHF两条指令后,堆栈顶部的物理地址是 A A.33CECH B.33CF2H C.33CF4H D.33CE8H3.设(AX)=0C544H,在执行指令ADD AH,AL后,相应的状态为 CA.CF=0、OF=0 B.CF=0、OF=1C.CF=1、OF=0 D.CF=1、OF=14.设DS=2000H,SS=1500H,(ES)=3000H,(SI)=00B0H,(BX)=1000H,(BP)=0020H,指出下列指令的源操作数的寻址方式是什么?若该操作数为存储器操作数,请计算其物理地址。

汇编语言 郑晓薇(习题2)

汇编语言 郑晓薇(习题2)

1.写出冯·诺依曼计算机的基本特点。

1)采用存储程序方式,即程序和数据放在同一个存储器中,程序指令和数据都用二进制表示,两者都可以送到CPU执行和运算。

2)存储器是按地址访问的,每个存储单元的位数是固定的。

存储单元采用线性编址方式,按顺序取出指令。

3)指令由操作码和地址码构成。

根据指令含义发出控制信号控制计算机的操作。

4)机器以运算器为中心,输入输出设备都要经过CPU与存储器间进行数据传送。

2.如何解决内存速度与CPU速度不匹配问题?为解决内存速度与CPU速度不匹配而影响系统运行效率的问题,在CPU与主存之间设计了一个相对于主存容量较小但速度较快的高速缓冲存储器Cache。

3.写出计算机总线的分类与作用。

计算机总线分为内部总线和外部总线。

内部总线指的是CPU内部各个部件之间的连线;外部总线又称为系统总线,是连接计算机主板上各种芯片以及各个接口部件的总线。

系统总线分为地址总线、数据总线、控制总线三大类。

4.简述8086CPU寄存器的分组及各自的作用。

数据寄存器:包括AX、BX、CX、DX寄存器,用于存放计算过程中所用的操作数、结果或其他信息,简言之即存放数据的寄存器。

地址寄存器:包括指针和变址寄存器SI、DI、SP、BP寄存器。

它们可用来存放存储器的偏移地址。

另外,它们也可以作为通用寄存器用。

严格地说,用来存放存储器偏移地址的寄存器都应该叫地址寄存器。

段寄存器:段寄存器是根据内存分段的管理模式而设置的。

内存单元的物理地址由段寄存器的值和一个偏移量组合而成的,这样可用两个较少位数的值组合成一个可访问较大物理空间的内存地址。

包括:CS代码段寄存器,用于指出存放程序的代码段的段地址DS数据段寄存器,用于指出存放数据的数据段的段地址ES附加段寄存器,用于指出存放附加数据的附加段的段地址SS堆栈段寄存器,用于指出堆栈区的堆栈段的段地址控制寄存器:包括IP和FLAGS两个16位寄存器。

IP指令指针寄存器:用来存放代码段中的偏移地址,指出当前正在执行指令的下一条指令所在单元的偏移地址;FLAGS标志寄存器:其中的某位代表CPU的一个标志,最低位为D0,最高位为D15。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 13、+65528;-32760 14、20A8H;11488H 15、状态;控制 16、CF;OF
17.已知:BX=1357H,DI=2000H,DS=2000H, CS=4000H,分别指出下面各指令中存储器操作数 的物理地址。 (1)MOV AL,[BX] (2)MOV CS:[BX+DI],AH
3.指令 mov ax,1020h中源操作数是( ),它的寻址 方式是( )寻址方式,操作数存放在( )段中,汇编 后的机器码为三个字节,从低地址到高地址分别为 B8、 ( )、( )。
指令 mov ax,1020h中操作数是( 1020h ),它的寻址 方式是(立即数)寻址方式,操作数存放在(代码)段中, 汇编后的机器码为三个字节,从低地址到高地址分别 为 B8H(20H10H)。注意数据在内存中是小端方式存放。
(6) 汇编语言是最快最有效的计算机语言,在自动控制、通 信与接口中是必不可少的。
(7) 汇编语言与机器低层关系不大,所以它具有很好的移植 性。 (8) 8088/8086的控制寄存器有IP和PSW,它们都是16位寄 存器。 (9) SP是保存当前栈顶地址的寄存器。
)。A
)。 B
)。 A
例:用( )指出下一条要执行的指令所在单元的偏移地址。 A.IPA B.SP C.通用寄存器 D.段寄存器 例:在计算机的CPU中执行算术逻辑运算的部件是( A.ALU B.PC C.AL D.AR A 例:计算机中存储信息的基本单位是一个( )位。 A.2进制 B.8进制 C.10进制 D.16进制 B )。
例:设物理地址(10FF0H) =10H,(10FF1H)=20H,(10FF2H)=30H,从地址10FF1H中 取出一个字的内容是( )。 B A.1020H B.3020H C.2030H D.2010H 例:代码段寄存器是( )。 D A.IP B.SP C.DS
D.CS
例:堆栈段的逻辑地址由( A.DS:BX B.ES:DI D.SS:SP
2. 关于8088CPU的逻辑段论述正确的有______。 ABE A 每个逻辑段不超过64KB B 每个逻辑段的段地址的低4位全为0 C 一个程序中,代码段只能有一个 D 数据段和堆栈段的段地址不能相同 E 指令指针寄存器IP指示当前代码段中下一条指令的偏移地 址 F 一个存储单元的物理地址不是唯一的。
11.CPU要访问的某一存储单元的实际地址称( A.段地址 B.偏移地址 C.物理地址 D.逻辑地址

12.某存储单元的物理地址是12345H,可以作为它的段地址有 ( ) A.2345H B.12345H C.12340H D.1234H
• C • D
13.十六进制数0FFF8H表示的十进制正数为________,表 示的十进制负数为________。 14.若DS=0F3EH,SI=2000H,COUNT=0A8H,指令 MOV AX,[SI+COUNT]中,源操作数的有效地址EA为 ________,其物理地址为________。 15.CPU的标志寄存器中标志位,可以分为两大类,其中一 类称为________标志位,另一类称为________标志位。 16.当标志位________=1时表示无符号数运算产生溢出, 而当标志位________=1是表示带符号数运算产生溢出。
• D
21. 从下列叙述中选择正确的叙述
(1) 汇编语言是用符号表示的面向机器的语言,因此它是机 器语言。
(2) 汇编语言是一种高级语言,其程序源代码必须编译成目 标代码,程序才能执行。 (3) 连接程序是把若干个模块连接起来成为可执行程序的系 统程序。 (4) 堆栈以先进后出的方式工作。
(5) 零标志ZF=1,表示计算结果为0。
• ① CX=1200 ② CX=BX=0100h ③ CX=B2A1h,因为物理地址是10000H+1200H=11200H ④ CX=3412h,因为物理地址是10000H+0100H=10100H ⑤ CX=B2A1h,因为物理地址是10000H+1100H+0100H= 11200H
9.判断对错,并说明原因: mov bx, [ax+1000h]; mov bx, [bp+ax]; mov bx ,[sp+di]; mov bx, [bx+di];
• 答案: C • 考核知识点:8086/8088的存储器组织 • 分析:末字与首字相隔(128-1=)127个字,且每个字 占用2个字节,因此末字单元的物理地址应为: • 首字单元的物理地址+(128-1)×2 • 即 12ABH×10H+00ABH+(128-1)×2=12C59H
20.8086CPU在基址加变址的寻址方式中,变址寄存器可以 为 A.BX或CX B.CX或SI C.DX或SI D.SI或DI
8.假设有关寄存器及存储单元内容如下: DS=1000h,BX=0100h,SI=0002 [10100H]=12h,[10101H]=34h,[10102H]=56h,[10103H]=78h [11200H]=A1h,[11201H]=B2h,[11202H]=C3h,[11203H]=D4h 说明如下各条指令执行完后,CX=? ① mov cx, 1200 ② mov cx, bx ③ mov cx, [1200h] ④ mov cx, [bx] ⑤ mov cx, 1100h[bx] 对后3种存储器寻址方式,需要首先计算它的有效地址,然后与段地址 组合成物理地址,进而从存储单元取出内容(注意这是16位数据)。
1. 8086/8088的1MB主存空间最多能分成多少个逻 辑段,最少分成多少个逻辑段? 逻辑段有两个限制:容量小于等于64KB,段开始 于模16地址。 如果从最低地址00000H开始,每隔16个字节就分 一个段(最小的逻辑段容量),这样1MB主存空间 最多就分成1MB÷16=220÷24=216个逻辑段。 如果从最低地址00000H开始,每隔64KB分一个段 (最大的逻辑段容量),这样1MB主存空间最少就 分成1MB÷64KB=220÷216=24个逻辑段。
• ① mov ax,var 直接寻址,物理地址=3000H×16+0080H=30080H ② mov ax,[bx] 寄存器间接寻址,物理地址=3000H×16+0200H=30200H ③ mov ax,var[bx] 寄存器相对寻址,物理地址=3000H×16+0280H+0080H= 30280H ④ mov ax,[200h] 直接寻址,物理地址=3000H×16+0200H=30200H ⑤ mov ax,0 立即数寻址,操作数在代码段 ⑥ mov ax,si 寄存器寻址,操作数在寄存器SI中为00ABH ⑦ mov ax,[bp] 寄存器间接寻址,物理地址=2000H×16+0020H=20020H ⑧ mov ax,es:[bx] 寄存器间接寻址,物理地址=3100H×16+0200H=31200H ⑨ mov ax,ds:[bp+si] 基址变址寻址,物理地址=3000H×16+0020H+00ABH=300CBH ⑩ mov ax,var[bx][si] 相对基址变址寻址,物理地址=3000H×16+0200H+00ABH+ 0080H=3032BH
5. mov ax,es:[di+100h]”指令从__________段取 出数据送AX。 A CS B SS C DS D ES
• 5. 答案:D。ES是附加段时使用的段超越
7.指出源操作数的寻址方式,并判断对错,并说明原因: mov ax,[ds] mov ax,ds mov ax,[bx] mov ax,bx mov ax,[bp] mov ax,bp • mov ax,[ds] mov ax,ds • mov ax,[bx] mov ax,bx • mov ax,[bp] mov ax,bp ;错。ds不能用于寄存器间接寻址 ;对。寄存器寻址 ;对。寄存器间接寻址 ;对。寄存器寻址 ;对。寄存器间接寻址 ; 对。寄存器寻址
21. 从下列叙述中选择正确的叙述
(1) 汇编语言是用符号表示的面向机器的语言,因此它是机 器语言。F
(2) 汇编语言是一种高级语言,其程序源代码必须编译成目 标代码,程序才能执行。F (3) 连接程序是把若干个模块连接起来成为可执行程序的系 统程序。T (4) 堆栈以先进后出的方式工作。T
(5) 零标志ZF=1,表示计算结果为0。T
• 参考答案为:A • [解析]指令中的源操作数的寻址方式是相对基址变址寻址, 且由于其中的基址寄存器采用的是BX,所以源操作数是 在数据段中,其偏移量为: BX+SI+2=2000H+1234H+2=3236H
ห้องสมุดไป่ตู้
19.一个有128个字的数据区,它的起始地址为12ABH: 00ABH,请给出这个数据区最末一个字单元的物理地址是 A.12CSBH B.12B6BH C.12C59H D.12BFEH
例:有若干个数据需要存放在存储单元中,请用图表示,并 标出存储单元的属性。 (23560H)=37H (23562H)=2D18H (23620H)=12345678H
例:段寄存器与其偏移地址如下,写出其相应的物理地址及 含义。 (1)CS=1896H,IP=1655H 当前要执行的指令的物理地址=18960H+1655H=19FB5H (2)DS=2896H,EA=1653H 当前要访问的数据的物理地址=28960H+1655H=29FB5H (3)ES=1896H,EA=2655H 当前要访问的数据的物理地址=18960H+2655H=1AFB5H (4)SS=1896H,SP=3655H 当前要执行的堆栈的物理地址=18960H+3655H=1BFB5H
• mov mov mov mov
bx, [ax+1000h] ; 错。ax不是基址寄存器 bx, [bp+ax] ; 错。Ax不是变址寄存器 bx ,[sp+di] ; 错。Sp不是基址寄存器 bx, [bx+di] ;对
相关文档
最新文档