汇编语言试题五(有答案)

合集下载

汇编语言试题及参考答案

汇编语言试题及参考答案

汇编语言试题及参考答案一、选择题(每题2分,共20分)1. 汇编语言中的指令通常由哪两部分组成?A. 操作码和操作数B. 地址和数据C. 指令和数据D. 操作码和地址答案:A2. 以下哪个不是汇编语言中的寻址方式?A. 直接寻址B. 间接寻址C. 立即寻址D. 寄存器寻址答案:B3. 在汇编语言中,以下哪个指令用于将数据从内存加载到寄存器中?A. MOVB. CMPC. ADDD. SUB答案:A4. 汇编语言中,以下哪个指令用于比较两个寄存器的内容?A. MOVB. CMPC. ADDD. SUB答案:B5. 在汇编语言中,以下哪个指令用于将一个寄存器的内容与立即数相加?A. MOVB. CMPC. ADDD. SUB答案:C6. 汇编语言中的条件跳转指令通常使用哪些条件?A. 零、非零B. 正、负C. 溢出、非溢出D. 所有上述条件答案:D7. 在汇编语言中,以下哪个指令用于将一个寄存器的内容与另一个寄存器的内容相减?A. MOVB. CMPC. ADDD. SUB答案:D8. 汇编语言中的循环结构通常使用哪种类型的跳转指令?A. 无条件跳转B. 条件跳转C. 直接跳转D. 间接跳转答案:B9. 在汇编语言中,以下哪个指令用于将一个寄存器的内容与内存中的内容相加?A. MOVB. CMPC. ADDD. SUB答案:C10. 汇编语言中,以下哪个指令用于将一个寄存器的内容与另一个寄存器的内容进行逻辑与操作?A. ANDB. ORC. NOTD. XOR答案:A二、填空题(每题2分,共20分)1. 在汇编语言中,指令MOV AX, BX的作用是将寄存器________的内容复制到寄存器________中。

答案:BX,AX2. 汇编语言中的指令JMP FAR PTR 100H:200H的作用是跳转到内存地址________。

答案:100H:200H3. 汇编语言中,指令CALL的作用是________。

汇编作业与答案

汇编作业与答案

汇编语言作业一一、单项选择题第18题〔1分〕当运算结果的最高位为1时,标志位〔 3 〕。

A. CF=1B. OF=1C. SF=1D. ZF=1第19题〔1分〕8086CPU的寄存器中,通常用作数据寄存器,且隐含用法为I/O端口的间址寄存器的是〔4〕。

A. AXB. BXC. CXD. DX第22题〔1分〕设(21b24H)=39H,(21B25H)=7BH,(21B26H)=51H,(21B27H)=84H.则(21B26H)的字单元内容为〔 4 〕。

A. 517BHB. 397bHC. 7B39HD. 8451H第25题〔1分〕8086/8088的输入/输出指令中,间接寻址外设时,地址总线使用了多少条?可访问端口地址范围为〔3〕。

A. 20条,O000H~0FFFFFHB. 20条,0000H~0FFFFHC. 16条,0000H~FFFFHD. 8条,00H~FFH第28题〔1分〕微型电脑的字长是指〔 1 〕。

A. 电脑一次可以直接处理的二进制位数B. CPU数据总线的宽度C. 一个字节的长度D. CPU地址总线的宽度第31题〔1分〕汇编语言中,存放下一条将要执行的指令地址寄存器是〔 4 〕。

A. SPB. AXC. DID. IP第32 题〔1分〕汇编语言中,cpu和外部设备的信息传送都要通过哪个寄存器〔2〕。

A. BXB. AXC. CXD. DX二、多项选择题〔不考〕三、是非题第1题〔1分〕〔 2 〕当ZF为1时,SF为1。

第2题〔1分〕〔 1 〕8088/8086中,取指令和执行指令可以重叠操作。

第3题〔1分〕〔1〕当DF=0时,串处理从低地址向高地址方向变化。

第4题〔1分〕〔 1 〕当IF=1时,开中断。

四、填空题第7题〔2分〕以下各数均为二进制补码:A=00110010B,B=01001010B,C=11101001B,D=10111010B。

试写出以下运算的十进制数真值和各标志位的值:A+B= 124 ,CF= 0 ,SF= 0 ,ZF=0 ,AF=0 ,PF=0 ,OF=0 .D-C-A= -97 。

汇编语言习题与答案

汇编语言习题与答案

汇编语言习题与答案一、填空题:把答案填在题中横线上。

1. 8位无符号整数的表示范围为0~255,写成16进制形式为00H~__________;8位有符号整数的表示范围为-128~+127,写成16进制形式为__________~__________。

2. 8086/8088分段管理存储空间,但每段容量最大不超过__________。

3. 逻辑地址为F000:100的存储单元,其物理地址是__________。

4. 用来指示堆栈栈顶的偏移地址的是__________寄存器。

5. 若要测试AL寄存器D4、D2、D0位是否都为0,则可使用__________指令语句(含操作数),以产生转移条件。

这条指令执行后将利用标志位__________实现转移。

6. 若定义:bdata db 2 dup(1,2,2dup(3),4),则dbata变量前5个单元从低地址到高地址的数据依次是__________。

7. 假设varw是一个16位变量,则指令“mov varw,ax”的目的操作数的寻址方式是__________。

(二、选择题:在每小题给出的四个选项中,只有一项是符合题目要求的,请把所选项前的字母填在题后的括号内。

1.对汇编语言源程序进行翻译,形成OBJ文件的是A.汇编程序B.连接程序C.编辑程序D.调试程序[]2.下列各个8位二进制数的补码中,真值最大的是A. B.[]语句中,表达常数不正确的形式是B. A346H`C.’A’D. 5600 []4.如果SS=600H,则说明堆栈段物理地址起始于[]50 dup()预留了存储空间的字节数是[]6.下列指令中有操作数在代码段中的是ax,34h ax,bxword ptr [34h] ax,[34h] []@7.假设AL=5,要使得AL=0FAH,应执行的指令是A. not al al,0fhal,0f0h al,0fh []8.设置逻辑段应该采用的一对伪指令是ends end startendp endm []9.条件转移指令JNE条件是=0 =1=0 =1 []10.逻辑移位指令SHL可用于!A.有符号数乘以2B.有符号数除以2C.无符号数乘以2D.无符号数除以2 []11.执行“in al, dx”指令后,进入AL寄存器的数据来自A.寄存器B.存储器C.立即数D.外设端口[]12.将十进制数75以压缩BCD码送入AX,正确的指令是ax,0075 B. mov ax,0705ax,0075h D. mov ax,0705h []13.如下指令可将AX寄存器内容改变的是A. cmp ax,bxB. test ax,bx?C. and ax,bxD. xchg ax,bx []14.设AH=10H,执行“neg ah”指令后,正确的结果是A. AH=10H、CF=1B. AH=F0H、CF=0C. AH=10H、CF=0D. AH=F0H、CF=1 []15.如下程序段:again: mov es:[di],alinc diloop again可用指令__________完成相同的功能。

汇编语言习题及答案

汇编语言习题及答案

汇编语言复习题简答题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=________。

汇编语言试题及答案

汇编语言试题及答案

汇编语言试题及答案一、选择题1. 汇编语言是一种:A. 高级语言B. 低级语言C. 机器语言D. 标记语言答案:B2. 汇编程序的编译过程包括:A. 预处理、编译、链接B. 编译、链接、运行C. 编译、预处理、链接D. 链接、编译、预处理答案:A3. 下列哪项是汇编语言的指令:A. MOV AX, BXB. int main()C. print "Hello, World!"D. System.out.println("Hello, World!");答案:A二、填空题4. 在汇编语言中,指令______用于将数据从内存传送到寄存器。

答案:MOV5. 汇编语言中的______指令用于实现无条件跳转。

答案:JMP6. 汇编语言中的______指令用于实现条件跳转。

答案:JZ 或 JE(零标志跳转)三、简答题7. 简述汇编语言的特点。

答案:汇编语言是一种低级语言,它非常接近机器语言,通常用于编写硬件操作和系统软件。

其特点是执行效率高,但编程复杂度高,可读性和可移植性较差。

8. 汇编语言与机器语言有何区别?答案:汇编语言是一种符号化的机器语言,它使用助记符代替机器语言中的二进制代码,更易于人类理解和编写。

机器语言则是计算机硬件直接执行的指令集,通常以二进制形式存在。

四、编程题9. 编写一段汇编语言程序,实现将AX寄存器的值加1。

答案:INC AX10. 编写一段汇编语言程序,实现将内存地址[100]处的值与BX寄存器的值相加,并将结果存回内存地址[100]。

答案:MOV AX, [100]ADD AX, BXMOV [100], AX五、论述题11. 论述汇编语言在现代计算机系统中的作用和局限性。

答案:汇编语言在现代计算机系统中主要用于系统底层开发、硬件驱动编写、嵌入式系统编程等领域。

其作用在于能够直接控制硬件,实现高效的资源利用。

然而,由于其复杂度高、可读性差、可移植性低,它在高级应用开发中的使用受到限制。

《汇编语言程序设计》必考试题及答案

《汇编语言程序设计》必考试题及答案

汇编语言程序设计试题及答案一.名词解释(本大题共5小题,每小题3分,共15分)试解释下列名词的含义。

1.寄存器:计算机系统内,位于CPU内部的存储单元,CPU访问此类存储单元不需要使用总线。

2.物理地址:CPU通过地址总线向外发送的20位地址,在访问内存单元前,CPU必须先将CPU内部的逻辑地址转换为物理地址。

3.段基值:逻辑地址的一个组成部分,用于指示一个段在内存中的起始地址。

4.寻址方式:指令获取操作数的方式。

5.补码:计算机系统内部用于表示带符号数的一种编码,正整数的补码为其真值本身,负整数的补码为其真值变反加1的结果。

二.计算题(本大题共5小题,每小题4分,共20分)试按照各小题的要求给出计算结果。

1.将十进制数100分别转换为二进制、十六进制数,它们的表示形式分别为多少?答案:二进制为 01100100B,十六进制为64H2.假设(DS)=0C00H,(BX)=0210H,对于指令MOV DS:100H[BX],AL,其目的操作数的物理地址为多少?答案:EA = (BX)+0100H = 0310H,物理地址 = (DS)*16 + EA = 0C000H + 0310H = 0C310H3.假设(BX)=0100H,(SI)=0020H,对于指令ADD DL,[BX][SI],其源操作数的偏移量为多少?答案:EA = (BX)+(SI)+ 0 = 0120H4.假设当前(SP)=0060H,连续执行5条PUSH指令后,(SP)=?答案:每执行一条PUSH指令,(SP)被减2,因此执行5条PUSH指令后,(SP)=0060H – 5*2 =0060H -000AH = 0056H5.对于一个十进制数– 80,其二进制补码表示形式为多少?答案:首先求得二进制真值为– 01010000B,负数补码为变反加1的结果,即 10110000B三.排错题(本大题共4小题,每小题5分,共20分)每小题列出了一条指令,判断该指令有无语法错误,如果存在语法错误,请指出具体的错误原因,判断正确给2分,分析正确给3分,判断错误不给分。

汇编语言程序设计试题和答案

汇编语言程序设计试题和答案

《汇编语言程序设计》试题专业姓名成绩一、单项选择题(每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) 不允许单步二.不定项选择题,漏错多选不得分。

汇编语言第5章作业答案

汇编语言第5章作业答案

习题51.试说明以下指令中各操作数的寻址方式,如果是存储器寻址,请给出其EA计算公式,并说明所使用的段寄存器。

(1)MOV AL,08H 源操作数:立即数寻址目的操作数:寄存器寻址(2)MOV [0120H],BL 源操作数:寄存器寻址目的操作数:直接寻址,EA=0120H,使用DS段寄存器(3)ADD [BX],AL 源操作数:寄存器寻址目的操作数:寄存器间接寻址,EA=(BX),使用DS段寄存器(4)PUSH [SI]0200H 源操作数:变址寻址,EA=(SI)+0200H,使用DS段寄存器目的操作数:隐含寻址(指令中未直接体现)(5)SUB AX,[BP] 源操作数:寄存器间接寻址,EA=(BP),使用SS段寄存器目的操作数:寄存器寻址(6)AND V AR1+4,DL 源操作数:寄存器寻址目的操作数:直接寻址,EA=V AR1+4,使用DS段寄存器(7)PUSHF 源操作数、目的操作数均为隐含寻址(8)MOV ES : [BX]0100H, AL 源操作数:寄存器寻址目的操作数:基址寻址,EA=(BX)+0100H,用ES段寄存器(9)ADC BYTE PTR [BP][SI]0210H,45H源操作数:立即数寻址目的操作数:基址变址寻址,EA=(BP)+(SI)+0210H,使用SS段寄存器(10)OR ARRY[BX][DI],CL源操作数:寄存器寻址目的操作数:基址变址寻址,EA=(BX)+(DI)+ARRY,使用DS段寄存器2.试分析下列汇编指令是否存在语法错误,如果有语法错误存在,请说明是怎样的错误。

(1)PUSH 8243H错误,单操作数指令不能使用立即数(2)POP AL错误,进栈、出栈指令的操作数应为16位(3)MOV AL,6543H错误,源、目的操作数类型不匹配(4)ADD [0100H],64H错误,目的操作数应使用PTR运算符指出类型,否则具有二义性正确的写法:ADD BYTE PTR [0100H],64H,(或使用WORD PTR)(5)ADC V AR1,V AR2错误,8086指令系统的双操作数指令中,必须有一个是寄存器,不能两个操作数同为内存单元(6)MOV DS,ES错误,段寄存器间不能使用MOV指令直接传递数据,必须通过通用寄存器作为中转(7)MOV DS,0620H错误,使用MOV指令向段寄存器传递数据时,不能使用立即数(8)LEA BX,AX错误,L EA指令的源操作数必须为内存单元(9)DEC AL,AH错误,DEC指令为单操作数指令(10)SHR BL,3错误,当移位次数大于1时,在移位指令中特定使用CL寄存器给出移位次数正确的写法:MOV CL, 3SHR BL, CL3.试说明分别执行下列各组指令后,CF、OF、AF、ZF、SF、PF这六个状态标志分别是怎样的取值。

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

乐山师范学院200 —200 学年度考题五
课程名称:《汇编语言程序设计》
一、单项选择题(每小题1分,共16分)
B1.用DEBUG调试汇编语言程序时,显示某指令的地址是2F80:F400,此时段寄存器CS的值是()
A.F400H
B.2F80H
C.F4000H
D.2F800H
C2.设DS=1100H,(12000H)=80H,(12001H)=20H,(12002H)=30H,执行MOV AX,[1000H]则AX=()
A.8000H
B.0080H
C.2080H
D.8020H
D3.下列四条指令中错误的是()
A.MOV AX,[SI]
B.MOV AX,[DI]
C.MOV AX,[SI+DI]
D.MOV AX,[SI-DI]
A4.下列四条指令执行后不影响标志位的是()
A.JNC NEXT
B.CMP AX, BX
C.SHL AX, 1
D.OR AL, AL
D5.已知AX=0001H,下列四条指令执行后,不能使ZF=1的语句是
A.DEC AX
B.SUB AX, 1
C.AND AX , 1
D.CMP AX,1
A6.在8086/8088系统中,约定用于形成堆栈段数据物理地址的寄存器有()
A.SS, SP, BP
B.SS, SP, BX
C.DS, BX, BP
D.DS, SP, BP
B7.有指令MOV AX, 1234H,指令中的立即数1234H是存储在()
A.数据段
B.代码段
C.附加段
D.堆栈段
C8.要在程序中定义缓冲区BUF,保留9个字节存储空间的语句是
A.BUF DW 9
B.BUF DB 9
C.BUF DB 9 DUP ( ? )
D.BUF DW 9 DUP ( ? )
A9.已知AL=56H,BL=34H,都是压缩BCD码,要执行二数相加,正确的指令是()
A.ADD AL,BL
B.ADC AL,BL
DAA DAA
C.ADD BL,AL
D.ADC BL,AL
DAA DAA
D10.在执行子程序段内调用CALL SUBR指令后,SP的值()
A.加1
B.减1
C.加2
D.减2
B,C11.完成将AX清零,并且使CF清零,下面错误的指令是()
A.SUB AX,AX
B.AND AX, 0
C.XOR AX,AX
D.MOV AX,0
D 12.定义宏指令的伪指令是()
A.PROC和ENDP
B.CODE和ENDS
C.EQU和END
D.MACRO和ENDM
B13.在汇编语言源程序中,表达式的计算是由()完成的。

A.编程者
B.汇编程序
C.程序执行时
D.连接程序
D14.为了使执行串操作指令时,地址按减量方式处理应使用指令
A.CLI
B.STI
C.CLD
D.STD
B15.有数据定义NUM DB ‘12345’,经汇编后,NUM占有()字节存储单元。

A.1
B.5
C.6
D.7
B16.汇编语言源程序每个语句可以由四项组成,如语句要完成一定功能,那么该语句中
不可省略的项是()
A.名字项
B.操作项
C.操作数项
D.注释项
二、填空题(每空1分,共16分)
1.在8086/8088系统中,存储器是分段的,每段最大长度是
__64k_____字节,段内偏移地址从__0_____到__0FFFFH___.
2.在程序调试时,显示某指令存放地址是2340:0056,则物理地址是__23456H_____.
3.汇编语言源程序中的语句有三种类型,它们是___顺序_语句,___分支____语句和__循环_____语句。

4.指令MOV AX,[BX+SI+10H]源操作数寻址方式是_相对相对基址变址寻址方式_.
5.执行段间返回指令RET时,将栈顶的一个字弹出到___IP____后,又弹出一个字到__CS_____寄存器中。

6.已知DS=3000H,DI=1200H,(31200H)=64H,(31201H)=93H,执行NEG WORD PTR[DI]后,(31200H)=___9CH____,(31201H)=__6CH_____.
-9364h=6C9CH
7.执行下列指令序列
MOV AL,80H学院 (-128D)
MOV BL,08H
CBW
IDIV BL
则AH=_0__AL=_0F0H(-10H)______.(AH-余数,AL-商)
8.已知数据定义语句
ORG 120H
VECT1 DW 200H
VECT2 DW VECT1
执行 MOV AX,VECT1 AX=__200H_____
MOV BX,VECT2 BX=_1202H______
三、简答题(每小题4分,共12分)
1.在8086/8088系统中,存储器是分段组织的,按各段实际长度定位。

已知(DS)=2150H,(CS)=2640H,(SS)=2250H,SP=100H,问题:
(1)数据段起始地址是多少
21500H
(2)计算数据段中最多可以存放多少个字节数据(要有具体计算式)22500H-21500H=1000H个字节数据
(3)代码段最多可以存放多少个字节程序代码(说明理由。

)64KB=64*1024=65536D=10000H字节代码
2.已知数据段定义如下:
DATA SEGMENT
ORG 100H
BUF DW ‘CD’, 1, 3 DUP(4, 2 DUP(8, 6));17个字
VRA DB 4AH
DATA ENDS
单独执行下列语句
LEA BX, BUF BX=_100H______
MOV CX, VRA-BUF CX=__22H___(用十六进制数表示)。

3.分别说明下列两组指令中两条指令操作的相同点和不同点
(1)SUB AX, BX CMP AX, BX (略)
(2)AND CX, DX TEST CX, DX(略)
四、程序分析题(每小题6分,共24分)
1. MOV AX, 9090H
SUB AX, 4AE0H
JC L1
JO L2
JMP L3
上述程序执行后AX=__45B0H_____,程序转向__L3__
2.假设寄存器AX=1234H,DX=0A000H
MOV BX, 0
MOV CX, BX
SUB CX, AX CX=0-1234H=0EDCCH CF=1
SBB BX, DX BX=0-0A000H-1=5FFFH
MOV AX, CX
MOV DX, BX
上述程序段执行后AX=_0EDCCH_ ,DX=_5FFFH_
程序功能是 : _______求0A0001234H这个32位数的相反数.(即NEG指令的功能)
3. BUF DB 45H, 68H, 7AH, 35H, 39H
MOV DI, OFFSET BUF
MOV CX, 5
MOV AL,‘a’
CLD
REP STOSB
该程序段执行后,BUF中的内容是_’aaaaa’_ ,方向标志DF=_0__
4.假设寄存器AX=5AH,CX=23H
MOV DL, 0
LOP: SUB AX, CX ax=37H,14H,0FFF1H(-0FH) cx=23H
JC NEXT
INC DL DL=1,2
JMP SHORT LOP
NEXT: ADD AX, CX AX=0FFF1+23H=14H
HLT
上述程序段执行后,AX=__14H__,DL=_2______
用数学表达式指明程序功能:____ (AX)-2*(CX)结果放在AX中.
五、程序填空题(每小题6分,共12分,每空格只能填一条指令)
1.下列程序段求数组FLD的平均值,结果在AL中。

请将程序填写完整(不考虑溢出)
FLD DW 10, -20, 30, -60, -71, 80, 79, 56
_______LEA SI, FLD
MOV CX, 8
XOR AX, AX
R1:_______ADD AX,[SI]
ADD SI, 2
LOOP R1
MOV CL, 8
IDIV CL
HLT
2.已知数据段DAT单元存放某一正数N(0≦N<6)下面的程序段用查表法求数N的平方值,结果送SQR单元,请将程序填写完整。

(注:原题有问题,已改)
TABLE DB 0, 1, 4, 9, 16, 25
DAT DB N
SQR DB ?
LEA BX, TABLE
MOV AL, DAT
_______CMP AL,6
JGE NEXT
XLAT
_______ MOV SQR,AL
NEXT:HLT
六、程序设计题(第1小题6分,第2小题14分,共20分)
1.假设DATAX和DATAX+2单元存放双字P,DATAY和DATAY+2单元中存放双字Q,编程计算2P-Q,差在DX,AX中。

若OF=1,程序转OVERFLOW,否则转NOOVER.(只写与试题要求有关的指令语句)
2.已知在数据区BUF1和BUF2分别存放20个字节数据。

编程检查两数据区中的数据是否相同。

若完全一致,则将标志单元FLAG置FFH,否则置0,并将第一次出现的不同数据的地址分别存放在ADDR1和ADDR2单元中。

要求:源程序格式完整。

相关文档
最新文档