当前位置:文档之家› 汇编作业集锦

汇编作业集锦

汇编作业集锦作业一:1.在计算机内部,计算机能够直接执行的程序语言是 C 。

A.汇编语言 B。

C++语言C.机器语言 D。

高级语言2.在堆栈段中,存放栈顶地址的寄存器是 B 。

A.IP B.SP C. BX D. BP3.指令指针寄存器IP用来存放代码段中的偏移地址。

在程序运行的过程中,它始终指向 A 。

A.下一条指令的首地址B.下一条指令的地址C.当前指令的首地址D.当前指令的地址4.编译程序的功能是 B 。

A.检查源程序中的语法错误和逻辑错误B.将源程序编译成目标程序C.改正源程序中的语法错误D.将高级语言源程序翻译成汇编语言源程序5.用户为了解决自己的问题,用汇编语言所编写的程序,称为 B 。

A.目标程序B.源程序C.可执行程序D.汇编程序6.计算机中用来存储程序、数据等信息的记忆装置是 D 。

A.控制器B.运算器C.CPUD.存储器7.在宏汇编中,源程序必须通过____汇编_______生成目标代码,然后用连接程序将其转化为可执行文件, 该文件可在系统中运行。

8 当SS =3000H,SP =0100H 时,执行 PUSH AX 指令后,堆栈顶部的物理地址是(D )A.30100H B.30098H C.30102H D.300FEH9 设10000010B分别以原码、补码及反码表示时,则对应的十进制数依次是( C )A.-82、-126、-2B.-2、-125、126C.-2、-126、-125D.-82、-125、12510 若寄存器AX、BX、CX、DX的内容分别为18,19,20,21时,依次执行PUSH AX,PUSHBX,POP CX,POP DX后,寄存器CX的内容为_________19_________。

11 若物理地址为2D8C0H,偏移量为B6A0H,则段地址为_____2222H____。

作业二:1. 8086在基址变址的寻址方式中,基址、变址寄存器分别是( B )。

A.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.33CF2H3。

设(AX)=0C544H,在执行指令ADD AH,AL后,相应的状态为( C )。

A.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,指出下列指令的源操作数的寻址方式是什么?若该操作数为存储器操作数,请计算其物理地址。

(1) MOV AX,DS:[0100H]直接寻址PA=20000H+0100H=20100H(2) MOV BX,0100H立即寻址(3) MOV AX,ES:[SI]寄存器间接寻址PA=30000H+00B0H=300B0H(4) MOV CL,[BP])寄存器间接寻址PA=15000H+0020H=15020H(5) MOV AX,[BX][SI]寄存器间接寻址PA=20000H+1000H+00B0=210B0H6) MOV CX,BX寄存器寻址(7) MOV AL,3[BX][SI] (8) MOV AL,[BX+20]基址变址寻址PA=20000H+1000H+00B0H+3=210B3H PA=20000H+1000H+20=21000H+0014H=21014H 作业三:1 设(SP)=000CH,(SS)=00A8H,在执行POP AX指令后得到的栈顶的物理地址为( B ) A. 000B6H B.00A8EH C.000B2HD.00A8AH2. 语句”BUF DB25”的含义是(B )A.用BUF 表示25B.定义BUF为字节变量,初始值为25C.从标号BUF对应的地址起分配25个单元D.定义BUF为变量,其地址为253.假设VAR为变量,则指令MOV SI,OFFSET VAR的源操作数的寻址方式是(D )A.间接寻址B.存储器寻址C.寄存器寻址D.立即寻址4.数据定义BUF DB ‘1234’,执行指令MOV CL, LENGTH BUF后,CL 寄存器的内容是( A )A.1B.2C.3D.5.已知某操作数的物理地址是2117AH,则它的段地址和偏移地址可能是( B )A.2108:00EAB.2025:0F2AC.2100:117AD.2000:017A设数据段定义如下:(6~8题均采用该数据段)ORG 3050HCOUNT EQU 4DBUF DB ‘MOUSE.MOU!’DBUF1 DW 3040HDB ‘TERMINER’DB 5066. DBUF+16单元中的内容是( D )A.’E’ B.’T’C.’M’D.’I’7. DBUF1表示的地址是(A)A.305AHB.305CHC.305BHD.3059H8. 上面伪指令使用出错的是(D)A.DB ‘MOUSE.MOU!’B.DW 3040HC.DB ‘TERMINER’D.DB 5069 执行下面的程序段后,BX =( C )NUM = 100MOV BX, NUM NE 50A. 50 B.0 C.0FFFFHD.1使用8086/8088汇编语言的伪操作命令定义:10 VAR DB 2 DUP(1,2,3 DUP(3),2 DUP(1,0))则在VAL存储区前十个字节单元的数据是 ( D )A.1,2,3,3,2,1,0,1,2,3B.1,2,3,3,3,3,2,1,0,1C.2,1,2,3,3,2,1,0,2,1D.1,2,3,3,3,1,0,1,0,1作业四:1、设计指令序列,完成下列功能:(1)写出将AL的最高位置1,最低位取反,其它位保持不变的指令段。

OR AL,1000 0000BXOR AL,0000 0001B(2)写出将AL中的高四位和低四位数据互换的指令段。

ROL AL,1ROL AL,1ROL AL,1ROL AL,12、若AX=-15要得到AX=15应执行的指令是( A )A. NEG AXB. NOT AXC. INC AXD. DEC AX3、以下三指令执行后,DX =( C )MOV DX,0MOV AX,0FFABHCWDA. 0FFABH B.0 C.0FFFFH D.无法确定4、将累加器AX 内容清零的错误指令是( D )A. AND AX,0 B.XOR AX,AXC.SUB AX,AX D.CMP AX,AX5、INC 指令不影响( B )标志A. OF B.CF C.ZF D.SF6、设AL中的值为84H,CF=1,现在执行 RCR AL,1 指令,AL中的值和CF分别为( C )A. 0C2H,1 B.42H,1 C.0C2H,0 D.42H,07、 MOV AL,BLNOT ALXOR AL,BLOR BL,AL程序段执行后, AL= __0FFH____、BL= ___0FFH____。

8、执行下列指令后:MOV AX,1234HMOV CL,4ROL AX,CLDEC AXMOV CX,4MUL CXHLT寄存器AH的值是8DH,寄存器AL的值是00H寄存器DX的值是0000H。

设数据段定义如下:(9~11题均采用该数据段)DATA SEGMENTNA EQU 15NB EQU 10NC DB 2 DUP (4,2 DUP (5,2))CNT DB $-NCCWT DW $-CNTND DW NCDATA ENDS9. 从DS:0000开始至CNT单元之前存放的数据依次是( D )A.15,10,4,5,2,5,2,4,5,2,5,2 B.15,10,4,2,5,2,4,2,5,2C.0FH,0AH,4,5,2,5,2 D.4,5,2,5,2,4,5,2,5,210. ND单元中的值是( A )A.0000HB.0200HC.0003HD.0002H11. CWT单元中的值是( B )A.2B.1C.11D.12设数据段定义如下:(12~14题均采用该数据段)DATA SEGMENTDATA SEGMENTORG 0100HX1 DB 25,’25’X2 DW ?Y1 EQU X1Y2 EQU $-Y1DATA ENDS12. MOV BX,OFFSET X1 指令执行后,BX中的内容是(B )A.25 B.0100HC.0000HD.’25’13. 汇编后Y2的值是( B )A.4B.5C.3D.614. MOV AL,Y1+1 指令执行后,AL中的内容是(D)A.19HB.01HC.35HD.32H作业五:1 试分析下列程序段执行后,AX和DX寄存器的内容分别是什么?VAR1 DB 86HVAR2 DW 2005H,0021H,849AH,4000HMOV AL,VAR1CBWLEA BX,VAR2MOV DX,2[BX]SUB AX,DX.AX=FF65H.DX=0021H2 试分析下列程序段:ADD AX,BXJNO L1JNC L2SUB AX,BXJNC L3JNO L4JMP SHORT L5如果AX 和BX的内容如下:AX BX(1)14C6H 80DCH(2)B568H 54B7H(3)42C8H 608DH(4)D023H 9FD0H(5)9FD0H D023H试问该程序分别在上面几种情况下执行后,程序转向哪里?(1).L1 (2)L1 (3)L2 (4)L5 (5)L53试分析下列程序段,回答所提问题。

ORG 3000HDB 11H,12H,13H,14H,15HMOV BX,3000HSTCADC BX,1SAL BL,1INC BYTE PTR [BX]A.程序段执行完,3004H 单元中的内容是什么?程序段执行后BX中的内容是什么?CF的值是1还是0?3.16H,3004H,0作业六:1.如果用调试程序DEBUG的R命令在终端上显示当前各寄存器的内容如下,请说明当前堆栈段段基址是多少?栈顶的物理地址是多少?C>DEBUG-RAX=0000 BX=0000 CX=0079 DX=0000 SP=FFEE BP=0000 SI=0000DI=0000 DS=10E4 ES=10F4 SS=21F0 CS=31FF IP=0100 NV UP DI PLNZ NA PO NC21F0H, 31EEEH2.有指令JMP DX ,在执行前,DX=1234H ,IP =5678H,执行该指令后,寄存器变化正确的是___B_____。

A) DX=1234H ,IP =5678H B) DX=1234H ,IP =1234HC) DX=5678H ,IP =5678H D) DX=5678H ,IP =1234H3. 若要检测AL中的最高位是否为1,若为1,则转移到标号NEXT处,否则顺序执行,请用两条指令完成之。

相关主题