汇编语言程序设计试题
汇编语言程序设计
06年10月一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.CPU要访问的某一存储单元的实际地址称(C )A.段地址B.偏移地址C.物理地址D.逻辑地址2.某存储单元的物理地址是12345H,可以作为它的段地址有(D)A.2345HB.12345HC.12340HD.1234H3.执行后使BX=0的同时也使CF=0,OF=0的指令是(A)A.XOR BX,BXB.OR BX,BXC.AND BX,BXD.CMP BX,BX4.循环控制指令LoopNZ/LoopNE控制循环继续执行的条件是( B )A.CX≠0且ZF=1B.CX≠0且ZF=0C.CX≠0或ZF=1D.CX≠0或ZF=05.在执行DAA指令,当高四位BCD码校正时产生进位,如要把此进位值送入AH中,对这进位值的操作应是()A.DAA校正指令的功能已自动加在AH中B.进位值在AF中,校正后根据AF内容再加在AH中C.进位值在CF中,校正后根据CF内容再加在AH中D.进位值在AL最高位上,校正后根据AL最高位内容再加在AH中6.AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是( C )A.指令XOR AX,AX执行后,AX内容不变,但设置了标志位B.指令OR DX,1000H执行后,将DX最高位置1,其余各位置0C.指令AND AX,OFH执行后,分离出AL低四位D.NOT AX,执行后,将AX清07.在执行下列指令时,需要使用段寄存器DS的指令是( D )A.STOSWB.ADD AL,CLC.NEG BXD.INC DA[BX]8.无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是( B )A.ADD BH,01HB.OR BH,01HC.XOR BH,01HD.TEST BH,01H9.完成对CL寄存器的内容乘以4的正确操作是( C )A.ROL CL,1B.MUL 4ROL CL,1C.SHL CL,1D.MOV CL,2SHL CL,1 SHL CL,CL10.下面各传送指令中,正确的是( C )A.MOV [DI],[SI]B.MOV[DX+DI],ALC.MOV WORD PTR [BX],0100HD.MOV AL,BX11.汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法( B )A.名字的第一个字符可以是大写英文字母及小写英文字母B.名字的第一个字符可以是字母、数字及?、@、_C.名字的有效长度≤31个字符D.在名字中不允许出现$12.要实现使BETA的值为56,应采用语句为( C )A.BETA DB 56B.BETA DB 56HC.BETA EQU 56D.BETA EQU 56H13.REPZ CMPSW指令,重复执行的终止条件是( A )A.CX=0或ZF=0B.CX=0且ZF=0C.CX=0或ZF=1D.CX=0且ZF=114.下面程序段执行后,AL中的内容是( B )MOV AX,8833HADD AL,AHDAAA.21B.21HC.0C1HD.0DDH15.比较两个带符号的数A、B,当A=B时程序转移,测试的条件为( A )A.ZF=1B.ZF=0C.SF=1D.SF=016.检查二个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMP AL,BL”指令后应跟的分支指令是( A )A.JNC LOP1B.JA LOP1C.JC LOP1D.JGE LOP117.在下列串操作指令中,同时使用源串和目的串地址指针的指令是()A.STOSWB.LODSWC.SCASWD.CMPSW18.设AL=0AH,下列指令执行后能使AL=05H的是( C )A.NOT ALB.AND AL,0FHC.XOR AL,0FHD.OR AL,0FH19.DA1 D W‘AB’,‘CD’,‘EF’,‘GH’( D )┇MOV AX,DA1+3指令执行后AX中的内容是A.‘EF’B.‘CD’C.‘BC’D.‘FC’20.使用DOS系统功能调用时,使用的软中断指令是( D )A.INT 21B.INT 10HC.INT 16HD.INT 21H二、填空题(本大题共12空,每空0.5分,共6分)请在每小题的空格中填上正确答案。
汇编语言程序的设计试卷与答案
汇编语言程序设计试卷一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20分)1.十六进制数88H,可表示成下面几种形式,请找出错误的表示()。
① 无符号十进制数136② 带符号十进制数-120③ 压缩型BCD码十进制数88④ 8位二进制数-8的补码表示2.指令指针寄存器是()。
① IP② SP③ BP④ PSW3.当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是()。
① 表示结果中含1的个数为偶数② 表示结果中含1的个数为奇数③ 表示该数为偶数④ 表示结果中低八位含1的个数为偶数4.完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是()。
① MOV AL,00H② AND AL,00H③ XOR AL,AL④ SUB AL,AL5.下列指令执行后总是使CF=0,OF=0的是()。
① AND② NEG③ NOT④ INC6.完成同指令XCHG AX,BX相同功能的指令或指令序列是()。
① MOV AX,BX② MOV BX,AX③ PUSH AXPOP BX④ MOV CX,AXMOV AX,BXMOV BX,CX7.设AH=0,AL=06H,BL=09H,执行指令ADD AL,BLAAA之后,其结果应是()。
① AH=01,AL=05② AH=1 AL=15③ AH=0 AL=0FH④ AH=0 AL=058.设AL=0B4H,BL=11H,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF的值为① OF=1,CF=0② OF=1,CF=1③ OF=0,CF=0④ OF=0,CF=19.在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是()。
① CX=0且ZF=0② CX=0且ZF=1③ CX=0或ZF=0④ CX=0或ZF=110.下面指令中,合理而有意义的指令是()。
《汇编语言程序设计》综合练习题,附答案
5、在存储器中两个存储单元的有效地址不可能相同。
()
6、伪指令“EQU”与“=”功能相同,没有区别。
()
7、设计程序采用循环结构时,必须知道循环的次数。
()
判断下列指令的对错
(1)
LEA SI,
4[SI]
()
(2)
MOV AL, [CX]
()
(3)
XCHG [SI], [BX]
()
(4)
PUSH WORD PTR[BX] ( )
属于
。
16.当使用串比较指令 CMPSB 寻找两数据块中相同字节数据时,应使用重
复前缀
。
17.已知 8086 的代码段寄存器(CS)=2000H,则代码段可寻址的物理地址空
间范围为
。
18.若(CS)=4200H,物理转移地址为 4A230H,当 CS 的内容被设定为 7900H
时,则物理转移地址为
。
MOV BX,3456H
MOV CX,789AH
PUSH AX
PUSH BX
POP CX
结果:(AX)=
(BX)=
(CX)=
3
TABLE DW 10H,20H,30H,40H,50H
ENTRY DW 3
COUNT EQU $-TABLE
. .. . . . . .
.
MOV BX, OFFSET TABLE
CF=
9 源程序如下:
MOV CL,4 MOV AX,[2000H] SHL AL,CL SHR AX,CL MOV [2000H],AX
5
,CF=
试问: 若程序执行前,数据段内(2000H)=09H,(2001H)=03H, 则 执行后有(2000H)=_____,(2001H)=______。
汇编语言程序设计题库练习题1--详细答案
汇编语言程序设计题库练习题1--详细答案汇编语言程序设计练习题一、单项选择题1、与100.5不相等的数据是【 C 】A. 64.8HB. 1100100.1BC. 64.5HD. 144.4O2、指向程序代码段的段寄存器是【 A 】A. CSB. DSC. SSD. FS3、在内存字单元(20000)中存放数1324H,即(20000)=1324H,则从字节单元20001H 中取出一个字节为【 A 】A. 13H B. 24HC. 1324HD. 2413H4、完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是【 A 】A. MOV AL,00HB. AND AL,00HC. XOR AL,ALD. SUB AL,AL5、指令JMP BX转移的目标地址的偏移量为【 C 】A. IP+BX的内容B. IP+[BX]C. BX的内容D. BX所指向的内存字单元的内容6、DA1 DW 2A05HDA2 DB 07AH┇MOV AL,BYTE PTR DA1SUB DA2,AL上述指令执行后,DA2中的内容是【 C 】A. 7AH B. 02AHC. 075HD. 050H7、某存储单元的物理地址是12345H,可以作为它的段地址有【 d 】A. 2345HB. 12345HC. 12340HD. 1234H8、设有数据定义X2 DW 10 DUP (0,1,2),定义了多少字节的缓冲【 C 】A. 6B. 30C. 60D. 409、有符号数AX除以2的指令是【 B 】A. SHR AX,1B. SAR AX,1C. ROR AX,1D. RCR AX,110、DEC BYTE PTR[BX]中的操作数的数据类型是【 C 】A. 字B. 双字C. 字节D. 四字11、设SP=4AH,执行段内返回指令RET后,SP的值是【 C 】A. 44HB. 48HC. 4CHD. 50H12、指令“LOOP 标号”转移到标号的的条件是【 A 】A. CX≠0B. ZF=0C. CX≠0 AND ZF=0D. CX≠0 OR ZF=108086二、填空题1、汇编语言源程序经【编译】后,形成目标文件,再经过【链接】后,形成可执行文件。
汇编语言程序设计习题
1.假设字节单元(06925H)=12H,(06926H)=45H,(06927H)=78H,那么字单元(06925H)= C ,字单元(06926H)= D 。
a. 1245Hb. 4578Hc. 4512Hd. 7845H2.逻辑运算指令都是按A进行操作的,指令执行后只设置标志位,不保留结果的逻辑运算指令是H。
a. 位b. 字节c. 字d. BCD码e. ANDf. ORg. XORh. TEST3.和指令AND AL,55 AND 0F0H 等效的指令是,和MOV BX,0FH EQ 1111B等效的指令是。
a. AND AL,55Hb. AND AL,0F5Hc. AND AL,50Hd. AND AL,0F0He. MOV BX,0000Hf. MOV BX,0FHg. MOV BX,0FFHh. MOV BX,0FFFFH4.过程定义开始的伪指令是 C 。
宏定义结束的伪指令是G 。
a. SEGMENTb. MACROc. PROCd. ASSUMEe. ENDf. ENDSg. ENDMh. ENDP5.将数据37H定义为字节变量X1的语句是 A,数据37H定义为字变量X2的语句是 D 。
a. X1 DB 37b. X2 DB 37c. X1 DW 37Hd. X2 DW 37He. X1 DB 37H g. X2 DB 37H6.互换指令XCHG可以在两个寄存器之间互换数据,也可以在 A 与 C 之间互换数据。
a. 寄存器b. 立即数c. 存储单元d. 堆栈7.对程序流向的控制和转移,就是对执行指令地址的修改。
如在同一段内偏移,则修改 A ,如在两个段之间转移,则修改 C 。
a. IPb. CSc. CS和IPd. CS或IP1.8088/8086 CPU内部共有14个寄存器,其中有8个通用寄存器、2个变址寄存器、4个段寄存器。
2.8088/8086 CPU有7种数据寻址方式,其中采用寄存器寻址方式的指令执行速度最快。
汇编语言程序设计试卷
汇编语言程序设计试卷一. (共75 题,共150 分)1.下列说法错误的是。
(2 分)A.机器指令的形式包含操作码和地址码B.计算机只能够识别规定好的机器指令C.不同计算机系统之间的机器指令能够相互兼容D.汇编语言的主要操作和机器指令基本上一一对应★检查答案标准答案:C2.两个有符号数相减,通过标志位判断结果是否溢出。
(2 分)A.ZFB.CFC.SFD.OF★检查答案标准答案:D(2 分)3.汇编语言和高级语言的比较,下列说法错误的是A.汇编语言和高级语言都不能被机器直接识别B.完成同样的功能,汇编语言占据空间小C.高级语言可以使用变量,但汇编语言不行D.汇编语言中有类似于高级语言的宏功能★检查答案标准答案:C4.下列寄存器中,哪个寄存器不能供汇编程序直接访问. (2 分)A.SPB.BPC.CSD.IP★检查答案标准答案:D5.下列寄存器,哪个不能作基址寄存器。
(2 分)A.BXB.BPC.SID.ESI★检查答案标准答案:C6.设有关寄存器及存储单元的内容如下:则指令MOV AX, 1100H[BX][SI] 执行完毕后,AX 寄存器中的值是。
(2 分)A.65B7HB.3412HC.4C2AHD.7856H★检查答案标准答案:AA.可以作立即寻址的操作数B.也可作某些存贮器操作数的的位移量组成部分C.在数据定义伪指令语句中给变量赋初值D.可以作目的操作数★检查答案标准答案:D8.若(ECX)=0ABCD1234H(BL)=0E3H,则语句MOVSX ECX,BL执行后:(ECX)的值为。
(2 分)A.0ABCD1234HB.0FFFFFFE3HC.000000E3HD.0ABCD12E3H★检查答案标准答案:B(2 分)9.若(AX)=0FFFDH ,则语句ADD AX,7FFFH 执行后,下列说法正确的是。
A.(AX) =7FFCH,(OF)=1 ,(CF)=1B.(AX) =17FFCH ,(OF)=1 ,(CF)=1C.(AX)=7FFCH,(OF)=0 ,(CF)=1 D.(AX)=17FFCH ,(OF)=0 ,(CF)=1★检查答案标准答案:C10.在语句INC SS:[BX] 中,操作数使用的段寄存器是。
汇编语言程序设计题目以及答案
一、单项选择题(每小题1分,共20分)1、设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是(A)A、85B92HB、86192HC、BB690HD、12169H2、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是(B)A、AX,BX,CX,DXB、BX,BP,SI,DIC、SP,IP,BP,DXD、CS,DS,ES,SS3、循环指令LOOPNZ终止循环的条件是(B)。
A、CX=0,且ZF=0B、CX=0,或ZF=1C、CX10,且ZF=0D、CX10,或ZF=14、对寄存器AX的内容乘以4的正确指令序列是(B)。
A、SHR AX,1 /SHR AX,1B、SHL AX,1/ SHL,AX,1C、ROL AX,1 /ROL AX,1D、RCR AX,1/ RCR AX,15、执行INC指令除对SF、ZF有影响外,还要影响的标志位是(A)。
A、OF,AF,PFB、OF,AF,CFC、OF,PF,CFD、AF,PF,CF6、设DH=10H,执行NEG DH指令后,正确的结果是(D)。
A、DH=10H CF=1B、DH=0F0H CF=0C、DH=10H CF=0D、DH=0F0H CF=17、下列传送指令中有语法错误的是(A)。
A、MOV CS,AXB、MOV DS,AXC、MOV SS,AXD、MOV ES,AX8、下面指令执行后,改变AL寄存器内容的指令是(D)。
A、TEST AL,02HB、OR AL,ALC、CMP AL,BLD、AND AL,BL9、执行除法指令后,影响的标志位是(D)。
A、CF,OFB、SF,ZFC、CF,OF,SFD、AF,CF,OF,PF,SF,ZF都不确定10、执行下面指令序列后,结果是(A)。
MOV AL,82H / CBWA、AX=0FF82HB、AX=8082HC、AX=0082HD、AX=0F82H11、与MOV BX,OFFSET VAR指令完全等效的指令是(D)。
汇编语言程序设计试题及答案
《汇编语言程序设计》试题专业姓名成绩一、单项选择题(每1分,共15分).1将下列二进制数0111,1111,1111 转换为16进制数和10进制数是()A.07FFH 3021DB. 6FEH 1021DC. 07FFH 2012DD. 07FFH 2047D2. 在1BM Pc机的IN和OUT 指令中,I/o端口号通常是由Dx寄存器来提供的,但有时也可以在指令中用一个字节来表示端口号。
试问可以直接由指令指定的I/o端口号有多少个?( )A. 127DB.255DC. 256DD.128D3. 设MYDAT是一个字变量,下列指令中,错误的是()A.MOV BX,10100BB.MOV DS,AXC.ADD BX,[10100H]D.MOV BX,MYDAT[SI]4.设有关寄存器及存储单元的内容如下:(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=12H,(20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,(20202)=0B7H,(21203)=65H,试指出:MOV AX,1100h[BX]指令执行后,AX寄存器内是()A.5678HB.4C2AHC.2A4CHD.7856H5.一台微型计算机的字长为16位,如果采用字节编址,那么它可以访问的最大存储空间是多少字节( ),试用16进制数表示该机的地址范围()A.1M 0~FFFFFHB.64K 0~FFFFHC.128K 0~FFFFHD.128K –FFH~FFH6. 如果在一个程序段开始执行之前,(cs)=0A7F0H,(1P)=2B40H,试问该程序段的第一个字的物理地址是()A.BAA40HB.AAB40HC.AAA40HD.0D603H7.下列指令哪个是错误的(设OP1,OP2 是已经用DB定义的变量名)( )A.CMP BL,OP1B.MOV [BX],111001BC. INC OP2D.SAR AX,CL8.假定(DX)=10111001B,(CL)=05,(CF)=1试确定:RCL DL,CL 指令执行后,DX中的值是()A.00CEHB.009DHC.00B9HD.003BH9. 有符号定义语句如下:BUFF DB 1,2,3,‘123’EBUFF DB 0L EQU EBUFF - BUFF问L的值为多少( )A.6DB.7DC.3DD.5D.10. IBMPC机中下列那些寄存器可以用来存储存储器地址()A、BX,BP,SP,CXB、AX,SI,DI,DXC、BX,SI,DI,SPD、DX,SI,DI,SP11.下列指令中正确的是()A.MOV [BX],[SI]B.MOV AX,[SI][DI]C.MOV BX,OFFSET NAME[SI]D.MOV BYTE PTR [100],10012下列程序段执行后,寄存器BX中的内容是什么()MOV CL , 3MOV BX , 0B7HROL BX , 1RCR BX , CLA、0EDHB、0DEHC、0CDHD、0CCH13JB指令的测试条件是( )A. CF=0B. CF=1 C .OF∨CF=1 D.OF=114在DEBUG中()命令用来汇编一句汇编语言语句A 、A B、U C 、E D、D15. 指令STI 的功能是( )(A)允许中断(B)不允许中断(C)允许单步(D) 不允许单步二.不定项选择题,漏错多选不得分。
《汇编语言程序设计》考试练习题及答案
《汇编语言程序设计》考试练习题及答案一、单选题1. 计算机中存取信息或数据的最小单位为()A 、位B 、字节C 、字D 、双字答案:B2. 调用子程序的指令为()A 、CALLB 、RETC 、HLTD 、NOP答案:A3. DOS功能调用是通过()指令去调用DOS系统提供的软件中断处理程序A 、INT 21HB 、INT 23HC 、INT 12HD 、INT 11H答案:A4. 满足()时,CPU允许中断A 、IF=0B 、IF=1C 、DF=0D 、DF=1答案:B5. 完成对CL寄存器的内容乘以4的正确操作是()。
A 、ROL CL,1 ROL CL, 1B 、MUL 4C 、SHL CL, 1 SHL CL, 1D 、MOV CL , 2 SHL CL, CL答案:C6. 下面寄存器中可以分为两个独立8位寄存器的是()A 、AXB 、DIC 、CSD 、SI答案:A7. ()是用二进制编码的机器指令的集合及一组使用机器指令的规则,是CPU能直接识别的唯一语言。
A 、汇编语言B 、机器语言C 、JAVA语言D 、C语言答案:B8. 源程序模块结束语句为()A 、ORGB 、ENDC 、SEGMENTD 、START答案:B9. 8位补码表示的有符号数的表示范围是()A 、0~255B 、-128~+127C 、0~65535D 、-32768~+32767答案:B10. 在一段汇编程序中多次调用另一段程序,用宏指令比用子程序实现起来,下列说法正确的是()A 、占内存空间小,但速度慢B 、占内存空间大,但速度快C 、占内存空间相同,但速度快D 、占内存空间相同,但速度慢答案:B11. 与LEABX ,BUF指令完全等效的指令是()。
A 、MOV BX ,BUFB 、LDS BX ,BUFC 、MOV BX ,OFFSET BUFD 、MOV BX ,WORD PTR BUF答案:C12. 14的非压缩BCD码为()A 、00010100B 、01000001C 、0000000000010100D 、0000000100000100答案:D13. 要实现使BETA的值为56,应采用的语句是()A 、BETA DB 56B 、BETA DB 56HC 、BETA EQU 56HD 、BETA EQU 56答案:D14. ()不可以做目的操作数A 、立即数B 、寄存器C 、存储器操作数D 、累加器答案:A15. 计算机一般由中央处理器、存储器和输入/输出子系统组成,其中()可以存放程序、数据、信息及中间结果。
汇编语言程序设计试题和答案
《汇编语言程序设计》试题专业姓名成绩一、单项选择题(每1分,共15分).1将下列二进制数0111,1111,1111 转换为16进制数和10进制数是()A.07FFH 3021DB. 6FEH 1021DC. 07FFH 2012DD. 07FFH 2047D2. 在1BM Pc机的IN和OUT 指令中,I/o端口号通常是由Dx寄存器来提供的,但有时也可以在指令中用一个字节来表示端口号。
试问可以直接由指令指定的I/o端口号有多少个?( )A. 127DB.255DC. 256DD.128D3. 设MYDAT是一个字变量,下列指令中,错误的是()A.MOV BX,10100BB.MOV DS,AXC.ADD BX,[10100H]D.MOV BX,MYDAT[SI]4.设有关寄存器及存储单元的内容如下:(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=12H,(20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,(20202)=0B7H,(21203)=65H,试指出:MOV AX,1100h[BX]指令执行后,AX寄存器内是()A.5678HB.4C2AHC.2A4CHD.7856H5.一台微型计算机的字长为16位,如果采用字节编址,那么它可以访问的最大存储空间是多少字节( ),试用16进制数表示该机的地址范围()A.1M 0~FFFFFHB.64K 0~FFFFHC.128K 0~FFFFHD.128K –FFH~FFH6. 如果在一个程序段开始执行之前,(cs)=0A7F0H,(1P)=2B40H,试问该程序段的第一个字的物理地址是()A.BAA40HB.AAB40HC.AAA40HD.0D603H7.下列指令哪个是错误的(设OP1,OP2 是已经用DB定义的变量名)( )A.CMP BL,OP1B.MOV [BX],111001BC. INC OP2D.SAR AX,CL8.假定(DX)=10111001B,(CL)=05,(CF)=1试确定:RCL DL,CL 指令执行后,DX中的值是()A.00CEHB.009DHC.00B9HD.003BH9. 有符号定义语句如下:BUFF DB 1,2,3,‘123’EBUFF DB 0L EQU EBUFF - BUFF问L的值为多少( )A.6DB.7DC.3DD.5D.10. IBMPC机中下列那些寄存器可以用来存储存储器地址()A、BX,BP,SP,CXB、AX,SI,DI,DXC、BX,SI,DI,SPD、DX,SI,DI,SP11.下列指令中正确的是()A.MOV [BX],[SI]B.MOV AX,[SI][DI]C.MOV BX,OFFSET NAME[SI]D.MOV BYTE PTR [100],10012下列程序段执行后,寄存器BX中的内容是什么()MOV CL , 3MOV BX , 0B7HROL BX , 1RCR BX , CLA、0EDHB、0DEHC、0CDHD、0CCH13JB指令的测试条件是( )A. CF=0B. CF=1 C .OF∨CF=1 D.OF=114在DEBUG中()命令用来汇编一句汇编语言语句15 A 、A B、U C 、E D、D16. 指令STI 的功能是( )17(A)允许中断(B)不允许中断(C)允许单步(D) 不允许单步二.不定项选择题,漏错多选不得分。
汇编语言程序设计练习题及参考答案
一、单项选择题从每小题的四个备选答案中,选出一个正确答案,并将正确答案的番号填人括号内。
1.用来存放下一条将要执行的指令地址的寄存器是(B)A.SP B.IP C.BP D.CS2.要使串处理从低地址向高地址进行,应把标志位置为(D)A.IF=1B.TF=0C.DF=1D.DF=03.使状态标志位CF清零的错误指令是(C)A.OR AX,AX B.SUB AX,AXC.MOV CF,0D.CLC4.设SP=1110H,执行PUSH AX指令后,SP的内容为(B)A.SP=1112H B.SP=110EHC.SP=1111H D.SP=110FH5.汇编源程序出现语法错误的指令有(D)A.MOV[BX+SI],AL B.MOV AX,[BP+DI]C.MOV DS,AX D.MOV CS,AX6.下列串操作指令中,必须同时指明源串和目的串地址的指令是(D)A.STOSW B.LODSWC.SCASW D.CMPSW7.设BL中有一无符号数,实现把BL中的数乘以2,应选用的指令是(B)A.SHR BL,1B.SHL BL,1C.SAR BL,1D.RCR BL,18.执行PUSH AX指令的正确步骤是(A)A.1.SP←SP-1,(SP)←AH B.1.(SP)←AH,SP←SP-12.SP←SP-1,(SP)←AL2.(SP)←AL,SP←SP-1C.1.SP←SP+1,(SP)←AH D.1.(SP)←AH,SP←SP+12.SP←SP+1,(SP)←AL2.(SP)←AL,SP←SP+19.CF=1时转移到目标地址的条件转移指令是(B)A.JNC B.JC C.JZ D.JS10.在执行NEG指令时,对标志位CF有影响,其影响的规则是(C)A.对正数求补时,CF=0B.对负数求补时,CF=0C.对非零数求补时,CF=1D.对零求补时,CF=111.算术右移SAR和逻辑右移SHR两条指令执行后结果完全相同的情况是(A)A.目的操作数最高位为0B.目的操作数最高位为1C.目的操作数为任意情况D.无论什么情况都不可能相同12.设AL=04H,BL=0F8H,执行IMUL BL指令后,结果是(D)A.AX=0032H B.AX=00E0HC.AX=03E0H D.AX=0FFE0H13.指令的操作数中,允许出现表达式,例如BUF1与BUF2均为变量名,下面指令中语法正确的是(D)A.MOV AX,BUFl*BUF2B.MOV AX,BUF1/BUF2C.MOV AX,BUF1+ES:BUF2D.MOV AX,BUF2-BUF114.下面指令中,操作数的寻址方式为寄存器间接寻址的指令是(C )A.INC WORD PTR [BX+SI]B.INC CX,[SI+COUNT]C.NEG BYTE PTR [BX]D.ADD AX,B15.NUM EQU 80HDA DB 34HAND DA,NUM上述语句执行后,DA 中的内容是(D )A.0B4H B.80H C.34H D.016.直接、间接、立即三种寻址方式指令的执行速度,由快至慢的排序为(A )A.立即、直接、间接B.直接、间接、立即C.直接、立即、间接D.不一定17.语句DA1DB 2DUP(3,5,7)汇编后,该语句可等同于的语句是(D )A.DA1DB 3,5,7B.DA1DB 2,3,5,7C.DA1DB 3,5,7,2D.DA1DB 3,5,7,3,5,718.MOV AL,80HMOV CL,2SAR AL,CL上述指令序列执行后,结果是(D )A.AL=40H B.AL=20HC.AL=0C0H D.AL=0E0H19.下面是实现将AL 内容加1的压缩型BCD 码加法程序段,其中正确的指令序列是(A )A.INC AL B.ADD AL,1DAA DASC.ADD AL,1D.STCDAA AAA20.现有数据存储如图所示:30100H 30101H 30102H 30103H 设AL=01H,BX=0100H,DS=3000H 执行换码指令XLAT 后正确的结果是(B )A.AL=20H B.AL=38HC.AL=00H D.AL=41H21.若定义DAT DW 'A',则(DAT)和(DAT+1)两个相邻的内存中存放的数据是(B )A.0041H B.4100H 20H38H41H55HC.xx41H D.41xxH[注]选项C.和D.中的XX表示任意数据。
《汇编语言程序设计》必考试题及答案
《汇编语言程序设计》必考试题及答案一、选择题1. 汇编语言属于 ____。
A. 高级语言B. 机器语言C. 低级语言D. 自然语言答案:C. 低级语言2. 在汇编语言中,寄存器eax主要用于 ____。
A. 存储返回值B. 存储函数参数C. 存储局部变量D. 存储全局变量答案:A. 存储返回值3. 汇编语言中,jmp指令用于 ____。
A. 设置循环条件B. 调用子程序C. 跳转到指定地址D. 返回主程序答案:C. 跳转到指定地址二、简答题1. 请简述汇编语言与高级语言的区别。
汇编语言是一种低级语言,使用助记符来代表机器指令,每条汇编指令对应一条机器指令。
而高级语言更加抽象,采用更接近人类自然语言的表达方式,通过编译器将高级语言编写的程序转换为机器语言。
2. 请列举汇编语言常用的寄存器及其作用。
汇编语言常用的寄存器包括:- eax:主要用于存储返回值。
- ebx、ecx、edx:通用寄存器,用于暂存计算结果。
- esi、edi:源操作数寄存器和目的操作数寄存器,用于存储数据传输时的源地址和目的地址。
- ebp、esp:用于管理函数调用过程中的栈帧。
- eip:指令指针寄存器,存储下一条将要执行的机器指令的地址。
三、编程题请编写汇编语言程序,实现从键盘输入两个数,并将其相加后输出的功能。
```assemblysection .dataprompt db '请输入两个数,以空格分隔:', 0result db '两数相加的结果为:%d', 0section .bssnum1 resb 4num2 resb 4section .textglobal _start_start:; 输出提示信息mov eax, 4mov ebx, 1mov ecx, promptmov edx, 20int 0x80; 输入第一个数mov ebx, 0mov ecx, num1 mov edx, 4int 0x80; 输入第二个数 mov eax, 3mov ebx, 0mov ecx, num2 mov edx, 4int 0x80; 将两个数相加 mov eax, [num1] mov ebx, [num2] add eax, ebx; 输出结果mov ebx, eaxmov eax, 1mov ecx, resultint 0x80; 退出程序mov eax, 1xor ebx, ebxint 0x80```以上为一个简单的汇编语言程序,实现了从键盘输入两个数,并将其相加后输出的功能。
汇编语言程序设计练习题及答案
汇编语⾔程序设计练习题及答案⼀、单项选择题:1.设DS=5788H,偏移地址为94H,该字节的物理地址是 B 。
(A)57974H (B)57914H(C)5883H (D)58ECH2.IP指令指针寄存器是属于 D 。
(A)通⽤寄存器(B)段寄存器(C)变址寄存器(D)控制寄存器3.下⾯有语法错误的指令是 D 。
(A)ADD AL,AH(B)ADD [BX+3],AL(C)ADD AH,[DI](D)ADD [BX],DA1(DA1是变量名)4.完成对DX的有符号数除以2的指令是 B 。
(A)IDIV 2 (B)SAR DX,1(C)DIV 2 (D)RCR DX,15.使进位位置1的指令是 C 。
(A)CLC (B)CMC(C)STC (D)NOP6.设AL=-100,要使AL=100应执⾏的指令是 A 。
(A)NEG AL (B)NOT AL(C)INC AL (D)DEC AL7.在条件转移指令中,结果为负数则转移的指令是 C 。
(A)JNS (B)JZ(C)JS (D)JC8.下⾯的XCHG指令中,语法正确的是 B 。
(A)XCHG AL,DS (B)XCHG BH,[BX](C)XCHG AL,OFH (D)XCHG BUF1,BUF29.⼀条指令中⽬的操作数不允许使⽤的寻址⽅式是 B 。
(A)寄存器寻址(B)⽴即数寻址(C)变址寻址(D)直接寻址10.设SP=1FFFH,执⾏下列指令后,SP寄存器的值是 1fffd 。
(这道题没有正确答案,正确答案为1ffd,可能印错了)┇POPFPUSH BXPUSH BX┇(A)2000H (B)2002H(C)1FFCH (D)1FFEH11.LES SI ,[2000H]指令的全部功能是 C 。
(A)把地址2000H送SI(B)把地址2000H字单元的内容送SI(C)把地址2000H字单元内容送SI,把2002H字单元内容送ES(D)把地址2000H字单元内容送ES,把2002H字单元内容送SI12.设AL=04H,CL=0F8H,执⾏MUL CL指令后,结果是 C 。
汇编语言程序设计习题及答案
习题一1.1 把下列2、8、16进制数转换成为十进制数(1)(1011011)2(2)(0.10110)2(3)(111111.01)2(4)(1000001.11)2(5)(377)8(6)(0.24)8(7)(3FF)16(8)(2A.4)16解:(1)(1011011)2=64+16+8+2+1=91另解:原式=(5B)16=5×16+11=91(2)(0.10110)2=0.5+0.125+0.0625=0.6875(3)(111111.01)2=32+16+8+4+2+1+0.25=63.25另解:原式=(1000000-1+0.01)2=64-1+0.25=63.25(4)(1000001.11)2=64+1+0.5+0.25=65.75(5)(377)8=3×64+7×8+7=255另解:原式=(400-1)8=4×64-1=255(6)(0.24)8=2×0.125+4×0.015625=0.3125(7)(3FF)16=3×256+15×16+15=1023另解:原式=(400-1)16=4×256-1=1023(8)(2A.4)16=2×16+10+4×0.0625=42.25另解:原式=2×16+10+4÷16=42.251.2 把下列十进制数转换为2、16进制数(1)(127)10(2)(33)10(3)(0.3)10(4)(0.625)10(5)(1023.5)10(6)(377)10(7)(1/1024)10(8)(377/32)10解:(1)(127)10 =64+32+16+8+4+2+1= (111 1111)2=(7F)16另解:原式=(128-1)10=(1000 0000-1)2=(111 1111)2=(7F)16(2)(33)10 =32+1= (10 0001)2=(21)16(3)(0.3)10 = (0.0100 1100 1……)2=(0.4CCC……)16(4)(0.625)10= 0.5+0.125=(0.101)2=(0.A)16(5)(1023.5)10 = 512+256+128+64+32+16+8+4+2+1+0.5=(11 1111 1111.1)2=(3FF.8)16(6)(377)10 =256+64+32+16+8+1=(1 0111 1001)2=(179)16(7)(1/1024)10=(0.0000 0000 01)2=(0.004)16(8)(377/32)10=(256+64+32+16+8+1)÷(32)=(101111001)2÷(100000)2=(1011.11001)2=(0B.C1)161.3 把下列二进制数转换为十六进制数(1)(100011)2(2)(0.11101)2(3)(11111.11)2(4)(0.00101)2解:(1)(100011)2=(10’0011)2=23H(2)(0.11101)2=(0.1110’1000)2=0.E8H(3)(11111.11)2=(1’1111.1100)2=1F.CH(4)(0.00101)2=(0.0010’1000)2=0.28H1.4 把下列十六进制数转换为二进制数(1)(3B6)16(2)(100)16(3)(80.2)16(4)(2FF.A)16解:(1)(3B6)16 =(0011 1011 0110)2(2)(100)16 =(0001 0000 0000)2(3)(80.2)16 =(1000 0000.0010)2(4)(2FF.A)16 =(0010 1111 1111.1010)21.5 如果用24b储存一个无符号数,这个数的范围是什么?如果储存的是一个补码表示的有符号数,那么这个数的范围又是什么?答:如果用24b储存一个无符号数,这个数的范围应为:0~224-1如果用24b储存一个补码表示的有符号数,这个数的范围应为:-223~+223-11.6 两个无符号数,它们的大小等于十进制数210和303,用N位二进制存储时,相加产生了进位,用N+1位二进制存储时,相加没有产生进位。
汇编语言题库
《汇编语言程序设计》习题一、选择题1. 机器数为10000000B, 它代表-127D,则它是()。
A. 补码B. 原码C. 反码D. 原码或反码2.已知V AR为字节变量,下面是关于①MOV BX, OFFSET V AR和②LEA BX, V AR 指令的说明,正确的是()。
A.指令①执行速度比指令②执行速度快B.指令①中OFFSET只能与简单的符号地址相连,不能与诸如V AR[SI]等复杂数相连。
指令②LEA没有这个限制C.指令①有错误,因为V AR为字节变量,而BX为字D.指令①与指令②的作用完全相同3.下列指令中正确的是( )。
A.MOV 100,CL B.MOV CL,100HC.MOV CL,1000 D.MOV CL,1004.设(BX)=8D16H,执行指令序列MOV CL,7 SAR BX,CL 后BX寄存器的内容是()。
A.011AH B.0FF1AH C.2D1AH D.0B00H 5.在程序运行过程中,确定下一条指令的物理地址的计算表达式是()。
A.CS*16+IP B.BX*16+DIC.SS*16+SP D.ES*16+SI6.提示下列指令序列执行后的正确结果是()。
MOV BX,OFFFCHMOV CL,2SAR BX,CLA.3FFFH B.0FFFH C.0FFFCH D.0FFF5H7.下列指令中不影响标志位的是()。
A.SUB AX,BX B.ROR AL,1C.JNC LABLE D.INT n8.将寄存器AX的内容取负的正确操作是()。
A.NEG AX B.CMP AX,0FFFHC.NOT AX D.CMP AX,AX9. 指令SCAS的寻址方式是()。
A源操作数为寄存器寻址,目的操作数为寄存器间接寻址B 源操作数为寄存器间接寻址,目的操作数为寄存器间接寻址C 源操作数为寄存器间接寻址,目的操作数为寄存器寻址D 源操作数为寄存器寻址,目的操作数为寄存器寻址10. TABLE为字变量,下面是关于指令①MOV AX,TABLE与指令②LEA AX,TABLE的说明,错误的是()。
ibm-pc汇编语言程序设计试题及答案
ibm-pc汇编语言程序设计试题及答案一、选择题(每题2分,共20分)1. 在汇编语言中,以下哪个指令用于将数据从内存加载到CPU寄存器中?A. MOVB. CMPC. JMPD. CALL答案:A2. 以下哪个指令用于将立即数加载到寄存器中?A. MOVB. INCC. DECD. PUSH答案:A3. 在汇编语言中,间接寻址模式通常使用哪个寄存器作为基址寄存器?A. AXB. BXC. CXD. DX答案:B4. 以下哪个指令用于比较两个寄存器中的值?A. MOVB. CMPC. SUBD. TEST答案:B5. 在汇编语言中,以下哪个指令用于将数据从CPU寄存器存储到内存中?A. MOVB. CMPC. JMPD. CALL答案:A6. 以下哪个指令用于将一个字节的数据从内存加载到寄存器中?A. MOV AL, [BX]B. MOV AX, [BX]C. MOV [BX], ALD. MOV [BX], AX答案:A7. 在汇编语言中,以下哪个指令用于跳转到指定的内存地址执行?A. MOVB. JMPC. CALLD. RET答案:B8. 以下哪个指令用于将一个值从堆栈中弹出到寄存器中?A. PUSHB. POPC. CALLD. RET答案:B9. 在汇编语言中,以下哪个指令用于无条件跳转到指定的内存地址执行?A. JMPB. JZC. JNZD. LOOP答案:A10. 以下哪个指令用于将一个值压入堆栈中?A. PUSHB. POPC. CALLD. RET答案:A二、填空题(每题2分,共20分)1. 在汇编语言中,指令_________用于将数据从内存加载到CPU寄存器中。
答案:MOV2. 指令_________用于将立即数加载到寄存器中。
答案:MOV3. 指令_________用于将数据从CPU寄存器存储到内存中。
答案:MOV4. 指令_________用于将一个字节的数据从内存加载到寄存器中。
汇编语言程序设计试题
汇编语言程序设计试题汇编语言程序设计试题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.设SS=2050H,SP=0140H,则栈顶存贮单元的物理地址是( A )A.20640H B.2063EHC.2063FH D.21900H2.使用DOS功能调用时,子程序编号应放在( B )A.AL B.AHC.AX D.任意指定3.没有..语法错误的输出指令是( B ) P76A.OUT AX,30H B.OUT DX,ALC.OUT AL,DX D.OUT 30H,AH4.用MOV指令将十进制数89以非压缩BCD码格式送入AX,可使用的指令是( B ) A.MOV AX,89 B.MOV AX,0809H C.MOV AX,89H D.MOV AX,08095.设AX=8765H,DX=4321H,执行CWD指令后,DX中的内容是( B ) P117A.4321H B.0FFFFHC.8000H D.0001H6.设CL=05H,要获得CL=0AH,可选用的指令是( A)A.XOR CL,0FH B.NOT CLC.OR CL,0AH D.AND CL,0FH7.假设执行ADD指令后AL=8CH,再执行DAA指令,AL中的值是( A )A.92H B.0104HC.74H D.8CH8.MOV AL,79HADD AL,B1H上面指令执行后,设置的标志位CF和ZF的值是( D )A.CF=0,ZF=1 B.CF=l,ZF=1C.CF=0,ZF=0 D.CF=1,ZF=09.TEST DL,55H P123JZ NEXTNEXT:………上述程序段,执行JZ指令时能产生转移的情况是( D )A.DL>55H B.DL<55HC.DL=55H D.DL中第0、2、4、6位均为010.假设AL=28H, 执行ROL AL,1 指令之后的情况是( D ) P125 A.AL=14H, CF=1 B.AL=50H, CF=1C.AL=14H, CF=0 D.AL=50H, CF=011. 98的BCD码是(B)A)10011001 B) 10011000 C) 10011010 D) 1000101012. –0110110 的补码是(A)A) 11001010 B) 11001001 C) 10110110 D) 0011011013. 十进制数92对应的二进制数为(A)A) 01011100 B) 01011101 C) 11011100 D) 1100010114. 十六进制38H相应的十进制数是(B)A) 32 B) 56 C) 58 D) 6015. 运算器的主要功能是进行__(C)__A) 逻辑运算B) 算术运算C) 逻辑运算与算术运算D) 初等函数的运算16. 下列不能做输入的是(C)A) 键盘B) 扫描仪C) 打印机D) 鼠标17. 8086状态字PSW中表示进位的标志位是(B)A) ZF B) CF C) PF D) OF18. 8086状态字PSW中表示运算结果为零的标志位是(A)A) ZF B) CF C) PF D) OF19. 将一个字数据入栈(PUSH AX), 栈指针如何变化(A)A) SP<-SP-2 B) SP<-SP-1 C) SP<-SP+2 D) SP<-SP+120. 将一个字节数据入栈(PUSH AL), 栈指针如何变化(B)A) SP<-SP-2 B) SP<-SP-1 C) SP<-SP+2 D) SP<-SP+121. 指出该条指令的寻址方式MOV AX, [DI] (C)A) 立即寻址B) 寄存器寻址C) 寄存器间接寻址D) 直接寻址22. CPU处理动作的最小单位是(B)A) 指令周期B)时钟周期C) 总线周期D) 机器周期23.设BX=1234H,DS=2000H,(21234H)=5678H,则指令“LEA SI,[BX]”执行后的结果是P74(B)A.SI=5678HB.SI=1234HC.SI=2000HD.SI=3234H24.设BX=1234H,DS=2000H,(21234H)=5678H,则指令“MOV SI,[BX]”执行后的结果是P74(a)A.SI=5678HB.SI=1234HC.SI=2000HD.SI=3234H二、填空题(本大题共10空,每空1分,共10分)请在每小题的空格中填上正确答案。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编语言程序设计试题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.设SS=2050H,SP=0140H,则栈顶存贮单元的物理地址是( A )A.20640H B.2063EHC.2063FH D.21900H2.使用DOS功能调用时,子程序编号应放在( B )A.AL B.AHC.AX D.任意指定3.没有..语法错误的输出指令是( B ) P76A.OUT AX,30H B.OUT DX,ALC.OUT AL,DX D.OUT 30H,AH4.用MOV指令将十进制数89以非压缩BCD码格式送入AX,可使用的指令是( B ) A.MOV AX,89 B.MOV AX,0809HC.MOV AX,89H D.MOV AX,08095.设AX=8765H,DX=4321H,执行CWD指令后,DX中的内容是( B ) P117A.4321H B.0FFFFHC.8000H D.0001H6.设CL=05H,要获得CL=0AH,可选用的指令是( A)A.XOR CL,0FH B.NOT CLC.OR CL,0AH D.AND CL,0FH7.假设执行ADD指令后AL=8CH,再执行DAA指令,AL中的值是( A )A.92H B.0104HC.74H D.8CH8.MOV AL,79HADD AL,B1H上面指令执行后,设置的标志位CF和ZF的值是( D )A.CF=0,ZF=1 B.CF=l,ZF=1C.CF=0,ZF=0 D.CF=1,ZF=09.TEST DL,55H P123JZ NEXTNEXT:………上述程序段,执行JZ指令时能产生转移的情况是( D )A.DL>55H B.DL<55HC.DL=55H D.DL中第0、2、4、6位均为010.假设AL=28H, 执行ROL AL,1 指令之后的情况是( D ) P125A.AL=14H, CF=1 B.AL=50H, CF=1C.AL=14H, CF=0 D.AL=50H, CF=011. 98的BCD码是(B)A)10011001 B) 10011000 C) 10011010 D) 1000101012. –0110110 的补码是(A)A) 11001010 B) 11001001 C) 10110110 D) 0011011013. 十进制数92对应的二进制数为(A)A) 01011100 B) 01011101 C) 11011100 D) 1100010114. 十六进制38H相应的十进制数是(B)A) 32 B) 56 C) 58 D) 6015. 运算器的主要功能是进行__(C)__A) 逻辑运算B) 算术运算C) 逻辑运算与算术运算D) 初等函数的运算16. 下列不能做输入的是(C)A) 键盘B) 扫描仪C) 打印机D) 鼠标17. 8086状态字PSW中表示进位的标志位是(B)A) ZF B) CF C) PF D) OF18. 8086状态字PSW中表示运算结果为零的标志位是(A)A) ZF B) CF C) PF D) OF19. 将一个字数据入栈(PUSH AX), 栈指针如何变化(A)A) SP<-SP-2 B) SP<-SP-1 C) SP<-SP+2 D) SP<-SP+120. 将一个字节数据入栈(PUSH AL), 栈指针如何变化(B)A) SP<-SP-2 B) SP<-SP-1 C) SP<-SP+2 D) SP<-SP+121. 指出该条指令的寻址方式MOV AX, [DI] (C)A) 立即寻址B) 寄存器寻址C) 寄存器间接寻址D) 直接寻址22. CPU处理动作的最小单位是(B)A) 指令周期B)时钟周期C) 总线周期D) 机器周期23.设BX=1234H,DS=2000H,(21234H)=5678H,则指令“LEA SI,[BX]”执行后的结果是P74(B)A.SI=5678HB.SI=1234HC.SI=2000HD.SI=3234H24.设BX=1234H,DS=2000H,(21234H)=5678H,则指令“MOV SI,[BX]”执行后的结果是P74(a)A.SI=5678HB.SI=1234HC.SI=2000HD.SI=3234H二、填空题(本大题共10空,每空1分,共10分)请在每小题的空格中填上正确答案。
错填、不填均无分。
1. 8 位二进制数是一字节,16 位二进制数是一个字2. 8086CPU有16位数据总线、20位地址总线,可寻址空间是1 MB。
3. 写出下列指令,数据类的寻址方式:MOV AX , 2000H 立即寻址; MOV AX , BX 寄存器寻址;4.内存某单元的内容为11010011B (1)该数为原码,真值是–83D(2)该数为反码,真值是–44D. (3)该数为补码,真值是–45D5. 信息代码011 0110 奇校验码为:1011 0110 ,偶校验码为:0011 01106. 8086CPU由___执行部件EU_____和___总线接口部件BIU______两部分组成7. I/O端口的两种编址方式:统一编址和独立编址8.若源程序从标号START开始执行,源程序结束伪指令为__END START________。
三、简答题(每题5分,共20分)1. 计算机的硬件系统由哪几个部件组成?简述各部件的功能?答:计算机硬件由运算器、控制器、存储器、输入设备和输出设备组成。
运算器:主要进行算术和逻辑运算控制器:从存储器取指令,送指令寄存器,再送指令译码器,根据指令的功能产生一系列时序信号控制各部件动作。
存储器:存储程序、原始数据、中间结果和最终结果等,包括内存和辅助存储器。
输入设备:用来接收用户输入的原始数据和程序的设备输出设备:将计算机运算结果转换为人们或设备能识别的形式的设备2. 什么叫寻址方式?8086 有哪些寻址方式?答:寻址操作数有效地址的方式叫寻址方式。
8086的寻址方式有:立即寻址、寄存器寻址、直接寻址、寄存器间接寻址、寄存器相对寻址、基址加变址寻址、相对基址加变址寻址。
3. 什么是逻辑地址?它由哪两部分组成?8086的物理地址是如何形成的?答:逻辑地址是将存储器分成若干个段之后而出现的一种地址形式,它由段地址和偏移地址组成,物理地址是将逻辑地址中的段地址左移4个二进制位,再加上偏移地址而形成的.4. 简述汇编语言的上机过程包括哪几个步骤?1)设计程序2)使用masm命令编译程序,生成扩展名为obj的文件3)使用link命令连接程序,生成扩展名为exe的可执行文件4)执行生成的可执行文件5.指出下列指令的对错,并说明理由,加以改正。
DATA SEGMENTV AR1 DB ?V AR2 DB 10V AR3 EQU 100DATA ENDS(1)MOV 34H, V AR2(2)MOV V AR1,AX(3)V AR3 EQU 20答:(1)错在:目的操作数不能为立即数;改为:MOV V AR2,34H(2)错在:源操作数和目的操作数类型不匹配;改为:MOV V AR1, AL(3)EQU伪指令赋值以后,程序中不能再重复赋值。
改为:V AR3=100; V AR3=20四、程序分析题(本大题共5小题,每小题6分,共30分)1.MOV AX,7452HADD AL,AHDAAXCHG AH,ALSUB AL,AHDAS程序段运行后,AX=__2648H_________,CF=_____0_______。
2.已知AX=7865H,BX=89AAHCLCADD AX,BXOR BX,AXRCR AX,1RCL BX,1程序执行后,AX=____0107H________BX=__175FH_________CF=_____1_______3.BCD1 DB 46HMOV AL,BCD1MOV CL,4SHR AL,CLSAL AL,1MOV CL,ALSAL AL,1SAL AL,1ADD AL,CLMOV CL,BCD1AND CL,0FHADD AL,CL上述程序段完成的功能是什么?(把BCD1中两位压缩BCD码转换成8位的二进制数)程序段运行结束后AL=____ZEH________。
4.MOV BL,64HMOV CL,03HXOR AX,AXAGAIN:ADD AL,BLADC AH,0DEC CLJNZ AGAIN问:(1)该程序段完成的功能是:把64H*3的结果存放到AX寄存器(2)AX=__012CH______。
5.下面的程序段是实现从键盘输入10个1位十进制数后累加,最后累加和以非压缩BCD码存放,请补充程序。
XOR DX, DXMOV CX,10LOP1: MOV AH,01HINT 21HMOV AH,DHADD AL,DLAAAMOV DX,AXLOOP LOP1五、综合题(本大题共两小题,每题10分,共20分)1. 假设DS=3000H, SI=0030H, BX=1026H, (30030H)=A8H, (30031H)=53H, (31006H)=22H,(31007H)=A5H, (31136H)=1AH, (31137H)=28H, (31056H)=66H, (31057H)=39H, (31600H)=26H, (31601H)=95H请写出下列各条指令单独执行完后, AX寄存器的内容(1)MOV AX,BX (2) MOV AX, [SI](3) MOV AX, [BX+SI] (4) MOV AX, [1600H]答:(1)AX=1026H (2) DS*16+SI=30030H, 故AX=53A8H(3) DS*16+BX+SI=31056H, 故AX=3966H(4) DS*16+1600H=31600H, 故AX=9526H2.编写程序实现将键盘输入的小写字母转换为大写字母显示输出。