收藏 分销(赏)

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

上传人:仙人****88 文档编号:9073095 上传时间:2025-03-12 格式:DOC 页数:7 大小:112.50KB
下载 相关 举报
扬州大学汇编语言课后习题.doc_第1页
第1页 / 共7页
扬州大学汇编语言课后习题.doc_第2页
第2页 / 共7页
点击查看更多>>
资源描述
练习一 1.在计算机内部,计算机能够直接执行的程序语言是 C A.汇编语言 B.C++语言 C.机器语言 D.高级语言 2.在堆栈段中,存放栈顶地址的寄存器是 B A.IP B.SP C.BX D.BP 3.指令指针寄存器IP用来存放代码段中的偏移地址,在程序运行的过程中,它始终指向A A.下一条指令的首地址 B.下一条指令的地址 C.当前指令的首地址 D.当前指令的地址 4.编译程序的功能是 B A.检查源程序中的语法错误和逻辑错误 B.将源程序编译成目标程序 C.改正源程序中的语法错误 D.将高级语言源程序翻译成汇编语言源程序 5.用户为了解决自己的问题,用汇编语言所编写的程序,称为 B A.目标程序 B.源程序 C.可执行程序 D.汇编程序 6.计算机中用来存储程序、数据等信息的记忆装置是 D A.控制器 B.运算器 C.CPU D.存储器 7.在宏汇编中,源程序必须通过__编译__生成目标代码,然后用连接程序将其转化为可执行文件, 该文件可在系统中运行。 8.当SS=3000H,SP=0100H时,执行PUSH AX 指令后,堆栈顶部的物理地址是 D A.30100H B.30098H C.30102H D.300FEH 9.设10000010B分别以原码、补码及反码表示时,则对应的十进制数依次是 C A.-82、-126、-2 B.-2、-125、126 C.-2、-126、-125 D.-82、-125、125 10 若寄存器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在基址变址的寻址方式中,基址、变址寄存器分别是 B A. AX或CX、BX或CX B.BX或BP、SI或DI  C.SI或BX、DX或DI   D.CX或DI、CX或SI 2. 设(SS)=338AH,(SP)=0450H,执行PUSH BX和PUSHF两条指令后,堆栈顶部的物理地址是 A A.33CECH B.33CF2H C.33CF4H D.33CE8H 3. 设(AX)=0C544H,在执行指令ADD AH,AL后,相应的状态为 C A.CF=0、OF=0    B.CF=0、OF=1  C.CF=1、OF=0      D.CF=1、OF=1 4.设DS=2000H,SS=1500H,(ES)=3000H,(SI)=00B0H,(BX)=1000H,(BP)=0020H,指出下列指令的源操作数的寻址方式是什么?若该操作数为存储器操作数,请计算其物理地址。 (1) MOV AX,DS:[0100H] 直接寻址 (PA)=20100H (2) MOV BX,0100H 立即寻址 (3) MOV AX,ES:[SI] 直接寻址 (PA)=300B0H (4) MOV CL,[BP] 寄存器间接寻址 (PA)=15020H (5) MOV AX,[BX][SI] 基址变址寻址 (PA)=210B0H (6) MOV CX,BX 寄存器寻址 (7) MOV AL,3[BX][SI] 基址变址寻址 (PA)=210B3H (8) MOV AL,[BX+20] 变址寻址 (PA)=21014H 练习三 1.假设V1和V2是用DW定义的变量,下列指令中正确的是 B A.MOV V1,V2 B.MOV V1,20H C.MOV 2000H,V2  D.MOV AL,V1 2.执行下面的程序段后,AX = B        NUM = 100         MOV  AX, NUM EQ 100 A.50   B.0FFFFH      C.1      D.0 3.数据定义BUF DB ‘1234’,执行指令MOV CL,LENGTH BUF后,CL寄存器的内容是 A A.1       B.2      C.3      D.4 4.若定义 DATA DW 1234H ,执行MOV BL,BYTE PTR DATA指令后,BL= 1 5、对于下面的数据定义,各条MOV指令单独执行后,请填充有关寄存器的内容:   TABLE1 DB ?   TABLE2 DW 20 DUP(?)   TABLE3 DB ‘ABCD’   MOV AX,TYPE TABLE1         ; AX=1   MOV BX,TYPE TABLE2         ; BX=2   MOV CX,LENGTH TABLE2        ; CX=20   MOV DX,SIZE ABLE2         ; DX=40 MOV SI,LENGTH TABLE3        ; SI=1 练习四 1.设(SS)=338AH,(SP)=0450H,执行PUSH BX和PUSHF两条指令后,堆栈顶部的物理地址是 A A.33CECH    B.33CF2H C.33CF4H    D.33CE8H 2. 若(AX )=-15,要得到(AX) =15应执行的指令是 A A. NEG AX    B.NOT AX   C.INC AX   D.DEC AX 3. 将累加器AX 内容清零的错误指令是 D A.AND  AX,0   B.XOR AX,AX C.SUB AX,AX  D.CMP AX,AX 4.填写执行下列程序段后的结果        MOV DX,8F70H       MOV AX,54EAH       OR  AX,DX       AND AX,DX       NOT AX       XOR AX,DX       TEST AX,DX (AX)=FFFFH (DX)=8F70H  SF=1 OF=0 CF=0 PF=0  ZF=0 5.DAT1   DW 12H,23H,34H,46H,57H DAT2  DW 03H LEA   BX, DAT1 ADD   BX, DAT2 MOV   DX,[BX] MOV   AX,4[BX] SUB  AX,DX 执行上列程序段后,AX的内容为 2300H 练习五 1. 将变量BUF的偏移地址送入SI的正确指令是 C A.MOV [SI],BUF  B.MOV  SI,BUF  C.LEA SI,BUF   D.MOV OFFSET BUF,SI 2. 假设VAR为变量,则指令MOV SI,OFFSET VAR的源操作数的寻址方式是 D A.间接寻址   B.存储器寻址   C.寄存器寻址    D.立即寻址 3. 指令 “MOV BX,AL”错误的原因是 字节类型不匹配 4.设(AX)=2011H,执行CMP AX,2011H 后(AX)= 2011H 5.写出将字数据56H、78、45H、209AH放在变量DATA起的存储单元中的伪指令 DATA DW 56H,78,45H,209AH 设数据段定义如下:(6~8题均采用该数据段)       DATA  SEGMENT       NA   EQU    15       NB   EQU    10       NC   DB    2 DUP (4,2 DUP (5,2))       CNT   DB    $-NC       CWT   DW    $-CNT       ND   DW    NC       DATA  ENDS 6.从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,2  C.0FH,0AH,4,5,2,5,2     D.4,5,2,5,2,4,5,2,5,2 7.ND单元中的值是 A A.0000H   B.0200H  C.0003H    D.0002H 8.CWT单元中的值是 B A.2   B.1  C.11    D.12 练习六 1.如果用调试程序DEBUG的R命令在终端上显示当前各寄存器的内容如下,请说明当前堆栈段段基址是多少?栈顶的物理地址是多少?21FOH 31EEEH C>DEBUG -R   AX=0000 BX=0000 CX=0079 DX=0000 SP=FFEE BP=0000  SI=0000   DI=0000 DS=10E4 ES=10F4 SS=21F0 CS=31FF IP=0100 NV UP  DI PL                   NZ NA PO NC 2.有指令 JMP DX ,在执行前,DX=1234H  ,IP =5678H,执行该指令后,寄存器变化正确的是B A.DX=1234H IP =5678H    B.DX=1234H IP =1234H C.DX=5678H IP =5678H    D.DX=5678H IP =1234H 3. 若要检测AL中的最高位是否为1,若为1,则转移到标号NEXT处,否则顺序执行,请用两条指令完成之。 TEST AL,80H JNE NEXT 4. 试用一条指令将一字节的立即数5AH与符号地址为NUM的存储器字节单元内容相比较 CMP BTYE PTR NUM,5AH 5.试分析下列程序段,说明它完成什么操作?程序执行后,HEXNUM字节单元中的内容是什么?       ASCNUM DB  38H       HEXNUM DB   ?       MOV  AL,ASCNUM       CMP  AL,39H       JBE  NEXT       SUB  AL,7    NEXT:SUB  AL,30H       MOV HEXNUM,AL       HLT 将ASCNUM中的所便是的十六进制数的ASCII码转换成十六进制数,并放入字节单元中 HEXNUM=08H 练习七 1. 已知AX=0FFFFH,DX=0001H MOV  CX,2 LOP:SHL  AX,1 RCL  DX,1 LOOP  LOP 上述程序段执行后,DX=0007H AX= 0FFFCH       2.已知AX=78H,BX=0804H SHR BX,1 AND BX,0F0FH MOV CX,4 LOP:XCHG BH,BL DIV BL SAL AX,1 LOOP LOP 上述程序段执行后,AX=001EH BX=0402H       3. CODE SEGMENT ASSUME CS: CODE ORG 100H BEGIN:MOV AX, 01H MOV BX, 02H MOV DX, 03H MOV CX, 04H L20:INC AX ADD BX, AX           SHR DX, 1           JNZ L20            MOV AH,4CH INT 21H CODE  ENDS END BEGIN 当执行以上程序后,AX、BX、CX、DX中的值分别是多少?:      AX= 03H   BX= 07H  CX= 04H DX= 0   4.已定义了两个字变量A和B,补充下列程序段使之完成下列功能: A.若两个数中有一个是奇数,则将奇数存入A中,偶数存入B中。 B.若两个数均为奇数,则将两数均加1后存回原变量。 C.若两个数均为偶数,则两个变量均不改变。          MOV  AX,A          TEST AX,__0001H____          JZ  A_EVEN          MOV  BX,B          TEST BX,0001H          JZ  B_EVEN          INC___AX__________          MOV  A,AX          INC___BX_________          MOV  B,BX B_EVEN: JMP___EXIT__________ A_EVEN: MOV  BX,B          TEST BX,0001H          JZ  EXIT          XCHG__AX,BX_________          MOV  A,AX          MOV  B,BX   EXIT: 练习八 1.CALL DWORD PTR [BX]指令是段间调用还是段内调用。它一共向堆栈中压入几个字? 段间调用 2个字节 2. 在子程序设计时,为什么要保护和恢复现场? 子程序会调用到主程序用过的寄存器,为了防止调用时改变寄存器里面的内容,所以保护现场,子程序调用结束再恢复现场 3.设(AX)=1122H,(BX)=3344H,(SP)=5566H,执行如下程序段后,IP和SP的值分别是什么?                SUN   PROC   PUSH   AX                                    ADD   BX,AX                PUSH   BX                POP    BX                RET    SUN    ENDP  (IP)=1122H、(SP)=5566H     4.设在DAT单元存放一个-9~+9的字节数据,在SQTAB数据区中存放了0~9的平方值,下面程序段利用直接查表法在SQRTAB中查找出DAT单元中数据对应的平方值送SQR单元。请补充空格处,完善程序功能。 DSEG   SEGMENT DAT   DB   XXH ; XXH表示在-9~+9之间的任意字节数据 SQTAB   DB   0,1,4,9,...81 SQR    DB ? DSEG   ENDS SSEG   SEGMENT   STACK STK    DB   100 DUP (?) SSEG   ENDS CSEG   SEGMENT ASSUME  CS:CSEG,DS:DESG,SS:SSEG START: MOV  AX,DSEG MOV  DS,AX MOV AL,DAT AND  AL,_80H______ JNS NEXT NEG__AL_________ NEXT: MOV BX,OFFSET SQRTAB XLAT__SQRTAB_________ MOV SQR,AL MOV  AH,4CH INT  21H DESG ENDS END   START 练习九 1、下列指令中,在指令执行后有可能影响CS值的指令数目是 B JMP MOV RET ADD INT JC LODS CALL MUL POP A.3   B.4  C.5    D.6 2、下面关于宏指令的叙述不正确的是 B A.宏指令可以简化源程序的书写; B.宏指令可以简化目标程序; C.宏指令和子程序的存储形式和执行方式均不相同;      D.从形式上看,宏指令可以扩充机器的指令系统。 3.对于下列程序段: AGAIN:MOV ES:[DI],AL INC DI LOOP AGAIN 可用指令 B 完成相同的功能。 A.REP MOVSB B.REP STOSB C.REP LODSB     D.REP SCASB 4.在下列指令中,隐含使用AL寄存器的指令有 D 条。 AAA MOVSB MUL BHCBW SCASB XLAT A. 2 B.3 C.4 D.5 5.假设ES段中有一个字符中串‘12FG3LM5C’,其名为ARRAY.当以下程序段执行后,CX的值是 B CLD LEA DI,ES:ARRAY MOV AL,‘G’ MOV CX,9 REPNE SCASB HLT A.0 B.5 C.4 D.9 6.已知DS和ES指向同一个段,且当前数据段从0000H到00FFH单元内容分别为01H,02H,03H,…,0FFH,00H。问下列程序段执行后,0000~0009H的内容是些什么值 MOV SI,0000H 01,01,02,02,04,04,06,06,08,08 MOV DI,0001H MOV CX,0080H CLD REP MOVSB
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服