汇编语言复习题附带答案.
汇编语言复习题(带答案)
汇编语言复习题(带答案)汇编语言期末复习题第1章:基础知识1、在汇编语言程序的开发过程中使用宏功能的顺序是( C )。
DXA、宏定义,宏调用B、宏定义,宏展开C、宏定义,宏调用,宏展开D、宏定义,宏展开,宏调用2、汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是( B )。
DXA、名字项B、操作项C、操作数项D、注释项3、可屏蔽中断就是它的请求是否被CPU响应要受( IF )的控制。
DX4、使用LINK连接命令,执行后可生成文件的扩展名为( EXE )。
DX5、在寄存器间接寻址中,如果指令中指定的寄存器为BP,则操作数在堆栈段中,段地址在 SS 寄存器中。
TK6、注释项用于说明程序段或是一条和几条指令的功能,一般用;(或分号) 表示注释的开始。
TK7、DOS系统功能调用方式为:(1)置入口参数;(2)中断程序编号送 AH 寄存器后执行INT 21H。
TK8、通常主程序和子程序间参数传送的方法有三种:用寄存器传递、用存储单元传递、用堆栈传递(顺序可调换)。
TK9、中断是CPU暂停当前程序的执行,转而执行处理紧急事务的程序,并在该事务处理完后能自动恢复执行原先程序的过程。
在此,称引起紧急事务的事件为中断源。
TK10、在字符串操作指令中,DS∶ SI 指向源串,ES∶ DI 指向目的串。
TK11、计算机系统通过接口与外围设备通信。
TK12、键盘I/O、显示I/O和打印I/O分别对应 16H 、 10H 和 17H 号中断。
TK13、字符显示模式缓冲区中的一个字对应于屏幕上的一个字符。
每个字的第一个字节为显示字符的 ASCII码,第二个字节为显示字符的属性。
TK14、简述上机运行汇编语言程序的过程。
JD答:首先打开未来汇编,新建一个空的汇编文件,后缀为.asm,然后输入汇编程序代码,保存,再编译成机器指令,然后连接成可执行文件,即exe文件,最后再运行。
汇编语言考试复习题及答案
汇编语⾔考试复习题及答案⼀、单项选择题(从下列每题的四个选择中选择⼀个正确的,填⼊答题纸的相应位置。
每⼩题2分,共30分)1.下列指令有语法错误的是__________。
A) PUSH AL B) ADDC AX,50HC) MOV [SI],[DI] D) JMP WORD PTR[BX+5]见书:35页,PUSH2.执⾏下列程序段后,(AX)= ________。
TAB DW 1,2,3,4,5,6ENTRY EQU 3MOV BX, OFFSET TABADD BX,ENTRYMOV AX,[BX]A) 0003H B) 0300H C) 0400H D) 0004H3.NC 指令不影响 _________标志。
A) OF B) CF C) ZF D) SF4.执⾏下列指令后:STR1 DW ‘AB’STR2 DB 16 DUP(?)CNT EQU $ -STR1MOV CX,CNTMOV AX,STR1HLT寄存器CL的值是________,寄存器AX的值是________。
① A) 10H B) 12H C) 0EH D) 0FH② A) 00ABH B) 00BAH C) 4142H D) 4241H5.汇编语⾔源程序经汇编后不能直接⽣成⽂件。
A).OBJ B).LST C).EXE D).CRF6.8086 CPU在基址加变址的寻址⽅式中,已知BX=2000H,SI=1234H,则指令“MOV AX,[BX+SI+2]”的源操作在中。
(A)数据段中偏移量为3236H的字节(B)数据段中偏移量为3234H的字节(C)附加段中偏移量为3236H的字节(D)附加段中偏移量为3234H的字节(A)19,20 (B)20,⽆右孩⼦(C)⽆左孩⼦,20 (D)⽆左孩⼦,⽆右孩⼦7.执⾏下⾯的程序段后,DAT1单元的值是。
DAT1 DB 12H,34HDAT2 DB 56H,78HMOV AX,WORD PTR DAT1CMP AX,WORD PTR DAT2JA DONEMOV BX,WORD PTR DAT2MOV WORD PTR DAT2,AXMOV WORD PTR DAT1,BXDONE:HLTA)12H B)34H C)56H D)78H8.下列指令中,正确的⼀条是。
汇编语言试题及答案
汇编语言试题及答案一、单项选择题(每题2分,共20分)1. 汇编语言是一种()。
A. 高级语言B. 低级语言C. 机器语言D. 符号语言答案:D2. 汇编语言程序必须经过()才能被计算机执行。
A. 编译B. 汇编C. 链接D. 解释答案:B3. 在汇编语言中,指令通常由()组成。
A. 操作码和操作数B. 操作码和地址码C. 操作码和数据D. 地址码和数据答案:A4. 汇编语言中的寄存器主要用于()。
A. 存储数据B. 存储指令C. 存储地址D. 存储控制信息答案:A5. 汇编语言中的立即寻址方式是指()。
A. 操作数在寄存器中B. 操作数在内存中C. 操作数在指令中D. 操作数在输入/输出端口中答案:C6. 在汇编语言中,指令“MOV AX, 1234H”的作用是()。
A. 将内存地址1234H的内容移动到AX寄存器B. 将立即数1234H移动到AX寄存器C. 将AX寄存器的内容移动到内存地址1234HD. 将AX寄存器的内容移动到另一个寄存器答案:B7. 汇编语言中的循环结构通常使用()指令实现。
A. JZB. JNZC. LOOPD. CALL答案:C8. 在汇编语言中,子程序调用通常使用()指令。
A. JZB. JNZC. CALLD. RET答案:C9. 汇编语言中的堆栈操作通常使用()指令。
A. PUSHB. POPC. MOVD. ADD答案:A10. 在汇编语言中,中断服务程序的结束通常使用()指令。
A. INTB. IRETC. RETD. CALL答案:B二、填空题(每题2分,共20分)1. 汇编语言中的指令通常由______和______两部分组成。
答案:操作码;操作数2. 汇编语言中的寄存器可以分为______、______和______三类。
答案:通用寄存器;段寄存器;控制寄存器3. 汇编语言中的寻址方式包括______、______、______和______等。
答案:立即寻址;直接寻址;间接寻址;寄存器寻址4. 在汇编语言中,指令“MOV AX, BX”的作用是将BX寄存器的内容______到AX寄存器。
汇编语言试题及参考答案
汇编语言试题及参考答案一、选择题(每题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的作用是________。
汇编语言复习题附答案
汇编语言复习题附答案一、选择题1. 汇编语言是一种()。
A. 高级语言B. 机器语言C. 低级语言D. 面向对象语言答案:C2. 在汇编语言中,指令通常由()组成。
A. 操作码和操作数B. 操作数和地址C. 操作码和地址D. 操作码、操作数和地址答案:A3. 汇编语言中的寄存器通常用来()。
A. 存储数据B. 存储指令C. 存储程序D. 存储地址答案:A4. 汇编语言中的指令MOV AX, BX的作用是()。
A. 将AX寄存器的值移动到BX寄存器B. 将BX寄存器的值移动到AX寄存器C. 将AX和BX寄存器的值相加D. 将AX和BX寄存器的值相减答案:B5. 汇编语言中的循环结构通常使用()指令实现。
A. JZB. JNZC. LOOPD. CALL答案:C二、填空题1. 汇编语言中的指令ADD AX, BX表示将AX和BX寄存器的值相加,并将结果存入____寄存器。
答案:AX2. 汇编语言中的指令SUB AX, BX表示将AX寄存器的值减去BX寄存器的值,并将结果存入____寄存器。
答案:AX3. 汇编语言中的指令CMP AX, BX用于比较AX和BX寄存器的值,但不进行存储操作,结果影响____标志。
答案:标志寄存器4. 汇编语言中的指令JMP LABEL用于无条件跳转到标签____处执行。
答案:LABEL5. 汇编语言中的指令PUSH AX将AX寄存器的值压入____。
答案:堆栈三、简答题1. 简述汇编语言与机器语言的区别。
答案:汇编语言是一种低级语言,它使用助记符来表示机器语言的指令,更易于人类理解和编写。
机器语言则是由二进制代码组成的指令集,直接被计算机硬件执行,但对人类来说难以阅读和编写。
2. 描述汇编语言中如何实现条件跳转。
答案:汇编语言中实现条件跳转通常使用条件跳转指令,如JZ(跳转如果零)、JNZ(跳转如果非零)、JMP(无条件跳转)等。
这些指令根据CPU的状态寄存器中的条件码标志来决定是否跳转到指定的标签处执行。
汇编语言习题与答案
汇编语言习题与答案一、填空题:把答案填在题中横线上。
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. ZF标志位是标志结果是否为零的,若结果,ZF为(),否则ZF为()。
当ZF 为1 时,SF 为()2. 标号可以有两种类型属性。
它们是()和()3.8 位无符号整数的表示范围为0--255 ,写成16 进制形式为(),8 位有符号整数的表示范围为-128--+127, 写成16 进制形式为()4. 伪指令DB,GROUP 和NAME 三个标号名字域必须有名字的是(),不得有名字的是(),可有可无名字的是()。
5. 循环程序通常由()()()和循环结果外理四部分构成6. 在数值不达式中,各种运算符可可混合使用,其优先次序规则*,/()于+,-;XOR ,OR()于AND,LT ()于GT7. 宏指令定义必须由伪指令()开始,伪指令()结束,两者之间的语句称为()8. 调用程序与子程序之间的参数传递方法有四种,即堆栈法()()()9. 分别用一条语句实现下述指明的功能( 1 )栈顶内容弹出送字变量AYW ()(2)双字变量AYD 存放的地址指针送ES 和SI()(3)变量AY2 类型属性送AH ()( 4 )不允许中断即关中断()(5)将字符串‘ HOW ARE YOU 存入变量AYB ()( 6 )子程序返回调用程序()(7)地址表达式AYY[4]的偏移地址送字变量ADDR()(8)AX 的内容加 1 ,要求不影响CF()(9)BX 的内容加1,要求影响所有标志位()(10)若操作结果为零转向短号GOON ()二、单选题1.IBM PC 微机中,有符号数是用()表示的1 .原码2.补码3.反码4.BCD 码2. 把汇编源程序变成代码程序的过程是()1 .编译2.汇编3.编辑4.链接三、己知:VAR1 ,VAR2 的类型属性分别为字和字节,标号LPFAR 的类型属性为FAR。
指出下列非法语句的错误原因1. POP CS ()2.INC [BX] ()3. MVL 8()4. JLE LPFAR()5. MOV DB,1800()6. MOV[DI],VAR17.SUB AX,VAR2()8.CMP SS AX()四、简答题1. 试述子程序的一般结构组成2. 标号有哪三个属性?其含义是什么?3. 试述CMP AX ,BX 和SUB AX ,BX 两条语句的异同点?五、阅读如下程序段,回答所提出的问题,假定X1,X2,...XN 为无符号数。
汇编语言试题及答案
汇编语言试题及答案一、选择题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. 论述汇编语言在现代计算机系统中的作用和局限性。
答案:汇编语言在现代计算机系统中主要用于系统底层开发、硬件驱动编写、嵌入式系统编程等领域。
其作用在于能够直接控制硬件,实现高效的资源利用。
然而,由于其复杂度高、可读性差、可移植性低,它在高级应用开发中的使用受到限制。
汇编考试题及答案详解
汇编考试题及答案详解一、选择题(每题2分,共20分)1. 下列哪一项是汇编语言的特点?A. 高级语言B. 面向对象C. 接近硬件D. 自动内存管理答案:C2. 汇编指令MOV AX, [BX]的含义是:A. 将AX寄存器的内容移动到BX寄存器B. 将BX寄存器的内容移动到AX寄存器C. 将内存地址BX指向的内容移动到AX寄存器D. 将AX寄存器的内容存储到内存地址BX指向的位置答案:C3. 下列哪一项不是汇编语言的伪操作码?A. ORGB. DBC. IFD. MOV答案:D4. 在汇编语言中,立即数的寻址方式是:A. 直接寻址C. 间接寻址D. 基址寻址答案:A5. 汇编程序中,用于定义数据的伪操作码是:A. EQUB. ENDC. DBD. DW答案:C6. 汇编语言中,指令JMP FAR PTR LABEL的作用是:A. 跳转到当前段内的LABELB. 跳转到其他段内的LABELC. 跳转到当前段的开始位置D. 跳转到其他段的开始位置答案:B7. 汇编语言中的段寄存器CS的作用是:A. 存储当前代码段的基地址B. 存储当前数据段的基地址C. 存储当前堆栈段的基地址D. 存储当前附加段的基地址答案:A8. 下列哪一项不是汇编指令的寻址方式?B. 寄存器寻址C. 相对寻址D. 绝对寻址答案:C9. 汇编语言中,指令PUSH AX的作用是:A. 将AX寄存器的内容压入堆栈B. 将AX寄存器的内容弹出堆栈C. 将AX寄存器的内容移动到其他寄存器D. 将AX寄存器的内容存储到内存答案:A10. 汇编语言中,指令DIV AX的作用是:A. 将AX寄存器的内容除以AL寄存器的内容B. 将AX寄存器的内容除以AH寄存器的内容C. 将AX寄存器的内容除以DX寄存器的内容D. 将AX寄存器的内容除以立即数答案:A二、简答题(每题5分,共10分)1. 解释汇编语言中的堆栈操作。
答案:堆栈操作是汇编语言中的一种数据结构操作,它遵循后进先出(LIFO)的原则。
汇编语言期末试卷及答案
汇编语言期末试卷及答案一、单项选择题1、CPU发出的访问存储器的地址是(A)。
A.物理地址B.偏移地址C.逻辑地址D.段地址2、下列指令中操作数在代码段中的是(A)。
A.MOV AL,42HB.ADD AL,BLC.SUB [BX],DID.INC [DI]3、与MOV BX,OFFSET VAR指令完全等效的指令是(D)。
A.MOV BX,VARB.LDS BX,VARC.LES BX,VARD.LEA BX,VAR4、表示过程定义结束的伪指令是(A)。
A.ENDPB.ENDSC.ENDD.ENDM5、BUF1 DB 3 DUP(0,2 DUP(1,2),3)COUNT EQU $ - BUF1符号COUNT等价的值是(B )。
A.6B.18C.16D.86、下列寄存器中,作为16位寄存器的是(D)。
A. ALB. BLC. CHD.DX7、在程序运行过程中,确定下一条指令的物理地址的计算表达式是(C)。
A.DS*16+SIB. ES*16+DIC. CS*16+IPD. SS*16+SP8、物理地址(10FF0H )=10H,(10FF1H )=20H,(10FF2H )=30H,从地址10FF1H中取一个字的内容是(B)。
A.1020HB.3020HC.2030HD.2010H9、将AX 清零,下列指令错误的是(C)。
A.SUB AX,AXB.XOR AX,AXC.OR AX,00HD.AND AX,00H10、完成同指令XCHG AX,BX相同功能的指令或指令序列是(D)。
A. MOV AX,BXB. MOV BX,AXC. PUSH AXD. MOV CX,AXPOP BX MOV AX,BXMOV BX,CX11、JMP BX 的目标地址的偏移量为(A)。
A. BX 的内容B. BX 所指向的内存单元的内容C. IP + BX 的内容D. IP + [BX]12、可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是(D)。
汇编语言
汇编语言一、判断(共计100分,每题2.5分)1、在指令MOV AX,[BX]中,源操作数的寻址方式为间接寻址,目的操作数的寻址方式为寄存器寻址。
A. 正确正确【A】2、指令改错INC[SI] INC PTR WORD[SI]MOV[BX],[SI] MOV BX,[SI]MOV AX,[SI][DI] MOV AX,[BX][DI]MOV CS,1000 MOV AX,1000A. 正确正确【A】3、有一个由20个字组成的存储区,其起始处段地址为4701H,偏移地址为2012H。
试写出该存储区首单元和末单元的物理地址分别为49022H和49048H。
A. 正确正确【A】4、某数据段的逻辑地址为0FAA0:600,则数据段的段地址为FAA0h,偏移地址为600h,物理地址为FB000h。
A. 正确正确【A】5、计算机中有一个“01000001”编码,如果把它认为是无符号数,它是十进制的65,如果认为它是BCD码,则表示41,如果它是某个ASCII码,则代表字符A。
A. 正确正确【A】6、指令MOV BYTE PTR [BX], 1000有错,错误为1000超过了一个字节的范围。
A. 正确正确【A】7、将十六进制数2EH化为十进制是62,将十六进制数10H化为二进制是11111,化为八进制是37。
A. 正确正确【A】8、已知AL,BL中数据为带符号数,若求AL∕BL的商,应使用指令序列为CBW 和IDIV BL。
A. 正确正确【A】9、指令MOV MYDAT [BX][SI], ES:AX有错,错误为AX寄存器不能使用段超越,指令MOV BYTE PTR [BX], 1000有错,错误为1000超过了一个字节的范围。
A. 正确正确【A】10、中断服务程序的入口地址称为中断向量。
每个中断向量占个字节,其中,两个低字节存放中断服务程序的,两个高字节存放中断服务程序的4偏移地址段地址。
A. 正确正确【A】11、有下列数据定义:AA DW 1,2,3,4,5,6,7COUNT EQU($-AA)/2则COUNT=7,表示存储单元AA占有的字的个数。
hgd汇编语言期末试卷复习(附答案)
hgd汇编语言期末试卷复习(附答案)选择题1. 已知X=78,Y= -83则[X+Y]补=( C )A.0F5HB.0A1HC.0FBHD.65H2. MOV AX, ES:COUNT[DI] 源操作数的寻址方式是(C )A.基址寻址B.立即寻址C.变址寻址D.基址变址寻址3. 指令MOV BX, MASK[BP],若MASK=3500H,SS=1200H,DS=1000H,BP=1000H,那么物理地址为(B )A.17500HB.16500HC.14500HD.13500H4. 下列四组寄存器中,在段内寻址时可以提供偏移地址的寄存器组是(C )A.AX,BX,CX,DXB.BP,SP,IP,CSC.BX,BP,SI,DID.BH,BL,CH,CL5. 当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是(A)A. 表示结果中含1的个数为偶数B. 表示结果中含1的个数为奇数C. 表示该数为偶数D. 表示结果中低八位含1的个数为偶数6. 下列传送指令中,有语法错误的指令是(A )。
A.MOV CS,AXB.MOV DS,AXC.MOV ES,AXD.MOV SS,AX7. MOV SP,3210HPUSH AX执行上述指令序理后,SP寄存器的值是(B)。
A.3211HB. 320EHC.320FHD. 3212H8. 设(DH)=20H,执行NEG DH指令后,正确的结果是(D )A.(DH)=20H CF=1B.(DH)=20H CF=0C.(DH)=0E0H CF=0D.(DH)=0E0H CF=19. 执行下面指令序列后,结果是(A )MOV AL,82HCBWA.AX=0FF82HB.AX=8082HC.AX=0082HD.AX=0F82H10. 串操作指令中,目标串操作数的段地址一定在(D )寄存器中。
A.CSB.SSC.DSD.ES11. MOV DX, COUNT[BP][DI]的源操作数的寻址方式是(D)。
汇编语言复习题答案
汇编语言复习题答案一、选择题1. 汇编语言是一种低级语言,它与机器语言之间的关系是:A. 汇编语言是机器语言的扩展B. 汇编语言是机器语言的直接翻译C. 汇编语言是机器语言的高级形式D. 汇编语言是机器语言的汇编答案:D2. 在汇编语言中,指令“MOV AX, 1234H”的作用是:A. 将内存地址1234H的数据移动到AX寄存器B. 将立即数1234H移动到AX寄存器C. 将AX寄存器的内容移动到内存地址1234HD. 将AX寄存器的内容与1234H进行比较答案:B3. 以下哪个不是汇编语言中的寻址方式:A. 直接寻址B. 间接寻址C. 寄存器寻址D. 堆栈寻址答案:D二、填空题1. 汇编语言程序中的伪操作码包括但不限于:______、______、______等。
答案:ORG, DB, DW2. 汇编语言中的指令MOV AX, BX表示将BX寄存器的内容________到AX寄存器。
答案:复制3. 汇编语言中,指令“ADD AX, BX”执行后,AX寄存器的值将_______。
答案:增加BX寄存器的值三、简答题1. 解释汇编语言中“堆栈”的概念及其基本操作。
答案:堆栈是一种特殊的数据结构,它遵循后进先出(LIFO)原则。
基本操作包括PUSH(压栈)和POP(出栈),PUSH用于将数据压入堆栈顶部,POP用于从堆栈顶部取出数据。
2. 描述汇编语言中“条件跳转”指令的工作原理。
答案:条件跳转指令根据程序中设置的条件是否满足来决定是否跳转到指定的地址继续执行。
常见的条件跳转指令包括JE(零跳转)、JNE(非零跳转)、JMP(无条件跳转)等。
四、编程题1. 编写一个汇编语言程序片段,实现将AX寄存器的值加1。
答案:INC AX2. 编写一个汇编语言程序片段,实现将BX寄存器的值与立即数5相加,并将结果存储在CX寄存器中。
答案:MOV CX, BXADD CX, 5五、综合题1. 假设有一个汇编语言程序需要实现两个无符号数的乘法,其中一个数存储在AX寄存器中,另一个数存储在BX寄存器中。
(完整版)汇编语言试题及答案
一,单项选择题(每小题1 分,共20 分1-10CCCCAADACB 11-20.ADBBAADDCC1.指令JMP FAR PTR DONE 属于( CA.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址D.段间转移间接寻址2.下列叙述正确的是(A.对两个无符号数进行比较采用CMP 指令,对两个有符号数比较用CMP S指令B.对两个无符号数进行比较采用CMPS 指令,对两个有符号数比较用CM P 指令C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/J NL指令D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/J NB指令3.一个有128 个字的数据区,它的起始地址为12ABH:00ABH, 请给出这个数据区最末一个字单元的物理地址是(A.12CSBHB.12B6BHC.12C59HD.12BFEH4.在下列指令的表示中,不正确的是(A.MOV AL,[BX+SI]B.JMP SHORT DONIC.DEC [BX]D.MUL CL5.在进行二重循环程序设计时,下列描述正确的是(A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内B.外循环初值应置外循环之内;内循环初值应置内循环之内C.内、外循环初值都应置外循环之外D.内、外循环初值都应置内循环之外,外循环之内6.条件转移指令JNE 的测试条件为( A.ZF=0B.CF=0C.ZF=1D.CF=17.8086CPU 在基址加变址的寻址方式中,变址寄存器可以为(A.BX 或CXB.CX 或SIC.DX 或SID.SI或DI8.已知BX=2000H,SI=1234H, 则指令MOV A X,[BX+SI+2] 的源操作在(中。
A.数据段中偏移量为3236H 的字节B.附加段中偏移量为3234H的字节C.数据段中偏移量为3234H 的字节D.附加段中偏移量为3236H 的字节9.执行如下程序:( MOV AX,0MOV AX,0MOV BX,1MOV CX,100A:ADD AX,BXINC BXLOOP AHLT执行后(BX=(A.99B.100C.101D.10210.上题的程序执行后(AX=(A.5000B.5050C.5100D.515011.对于下列程序段:(AGAIN:MOV AL,[SI]MOV ES:[DI],ALINC SIINC DILOOP AGAIN也可用指令完成同样的功能。
汇编语言考试题库及答案
汇编语言考试题库及答案一、选择题1. 在汇编语言中,以下哪个指令用于将数据从内存加载到寄存器中?A. MOVB. ADDC. SUBD. MUL答案:A2. 假设寄存器AX的值为1234H,执行指令“AND AX, 0F0H”后,AX 的值是多少?A. 1230HB. 0F34HC. 0F30HD. 1234H答案:C二、填空题1. 在汇编语言中,________指令用于将立即数加载到寄存器中。
答案:MOV2. 寄存器EAX的高16位是_______。
答案:AX三、简答题1. 解释汇编语言中的“段”是什么概念?答案:在汇编语言中,“段”是内存管理的一个概念,用于将程序的不同部分(如代码、数据、堆栈)分隔开来。
每个段都是内存中的一个区域,它有一个段基址,程序中的地址由段基址和偏移量组合而成。
2. 描述汇编语言中循环结构的实现方式。
答案:循环结构在汇编语言中通常通过标签和跳转指令实现。
首先定义一个循环的开始标签,然后在循环体中执行需要重复的操作。
循环结束前使用条件跳转指令(如JE、JNE等)跳回循环开始的标签,直到满足跳出循环的条件。
四、编程题1. 编写一个汇编程序,实现将两个16位无符号数相加,并将结果存储在寄存器AX中。
答案:```MOV AX, 1234HMOV BX, 5678HADD AX, BX```上述程序首先将1234H加载到AX寄存器中,然后将5678H加载到BX寄存器中,最后使用ADD指令将BX中的值加到AX中,结果存储在AX寄存器中。
2. 编写一个汇编程序,实现将字符串"Hello, World!"存储在内存中。
答案:```.DATAString DB 'Hello, World!', 0```上述程序在数据段定义了一个字符串"Hello, World!",后面跟着一个空字符作为字符串的结束标记。
汇编语言习题及答案
汇编语言复习题简答题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. MOVB. ADDC. SUBD. XOR答案:A. MOV2. MOV指令中,源操作数与目的操作数的位数必须相同吗?A. 是B. 否答案:B. 否3. 下列指令中,用于从内存读取数据的是:A. MOVB. JMPC. ADDD. LEA答案:D. LEA4. 下列寻址方式中,可以直接给出操作数的地址的是:A. 直接寻址B. 间接寻址C. 寄存器寻址D. 寄存器间接寻址答案:A. 直接寻址5. CPU中的程序计数器(PC)用于保存:A. 下一条指令的地址B. 当前指令的地址C. 上一条指令的地址D. 中断服务程序的地址答案:A. 下一条指令的地址二、填空题1. 8086处理器的数据总线位数是_________。
答案:162. MOV AX, BX 汇编指令是将______的值复制到______。
答案:BX,AX3. 寻址方式LEA BX, [SI+DI]的含义是将_______与_______的和作为BX的值。
答案:SI,DI4. 8086处理器的寻址空间大小是_________。
答案:1MB5. 标志寄存器中的ZF标志位表示_________。
答案:零标志位,表示结果为零三、简答题1. 简述什么是汇编语言?汇编语言是一种底层的程序设计语言,通过使用助记符来代替具体的操作码,使得编写的代码易于阅读和理解。
汇编语言直接操作计算机硬件,与机器语言密切相关,最终会被翻译成机器语言运行在计算机上。
2. 什么是寄存器?寄存器是计算机内部用于存储数据和执行操作的高速存储器。
不同的计算机体系结构会有不同的寄存器数量和用途。
寄存器的访问速度非常快,因此在编写汇编语言代码时,经常使用寄存器来进行数据的操作和传递。
3. 请举例说明MOV指令的用法及其作用。
MOV指令用于将数据从一个位置复制到另一个位置。
它可以将立即数、寄存器或内存中的数据复制到目标寄存器或内存位置。
汇编语言补充复习题(含答案)
汇编语言补充复习题(含答案)汇编语言补充复习题一、简答题1、8086的指令格式由哪些部分组成?什么是操作码?什么是操作数?什么是寻址方式?2、8086/8088中有关操作数的寻址方式有哪几种?3、汇编语言程序应该由哪些逻辑段组成?各段的作用是什么?4、写出以下结构类定义语句的格式。
过程定义:段定义:5、简述标志寄存器各位的定义。
6、写出具有下列功能的伪指令语句:在DAl为首地址的存储单元中连续存放字节数据:2个54,5个‘A’, 10个(3,5)。
7、解释段基地址、逻辑地址、偏移地址、有效地址、物理地址的含义。
物理地址如何计算?(P35)教材P57,1~6教材P112,7~14教材P140,6~9,11教材P198,9(1)~(5)二、选择题1、若(AX)=0122H,4个标志位CF,SF,ZF,OF的初始状态为0,执行指令SUB AX,0FFFH 后,这4个标志位的状态是A、(CF)=0,(SF)=0,(ZF)=0,(OF)=0B、(CF)=0,(SF)=0,(ZF)=1,(OF)=1C、(CF)=1,(SF)=1,(ZF)=0,(OF)=0D、(CF)=1,(SF)=1,(ZF)=1,(OF)=12、当运算结果为0时,不能转向标号L1处的指令为A、JE L1B、JGE L1C、JNZ L1D、JAE L13、当程序结束要退回DOS时,在系统功能调用中,INT 21H指令前,先必须执行的指令是()。
AMOV AH,01H B、MOV AH,4CHC、MOV AH,02HD、MOV AH,09H4、DOS功能调用的子功能号应存放在()寄存器中A、AHB、ALC、DHD、DL5、比较两个同长度的字符串,全相等则转移到ST2的是()。
A、REPE CMPSBB、REPNE CMPSBJZ ST2 JZ ST2C、REP MOVSBD、REPNE MOVSBJZ ST2 JZ ST26、设ALPHA DW 7435H,396,8321,AUl DB 10 DUP(?)BETA DD 9543HCNT EQU BETA-ALPHA,则CNT的值为()。
汇编语言复习题(附答案)
汇编语言复习题注:蓝色标记的为答案,此答案仅供参考,大家自己做一下或看以一下,认为不对的地方,可以提出来一起讨论一下,另外看一下课后老师布置的相应作业。
在此文档最后最后附有课后四、六章的答案,大家抓紧时间复习哦!一、选择题1.把要执行的程序与库文件连接起来形成可执行文件的系统程序是( B ) 。
A.汇编程序B.连接程序C.机器语言程序D.源代码程序2.在8088/8086的寄存器组中,CPU确定下一条指令的物理地址时需要用到的寄存器对是( C )。
A..SS和SPB.DS和DIC.CS和IPD.ES和SI3.为了使主机访问外设方便起见,外设中的每个寄存器给予一个( C )。
A.物理地址B. 逻辑地址C. 端口地址D.段地址4.MOV AX,3064H,该指令中源操作数采用的寻址方式是( A )。
A.立即B.直接C.寄存器相对D.寄存器间接5.换码指令的助记符是( C )。
A. XCHGB. LEASC.XLATD. MOV6.如果A≥B(A、B有符号数)发生转移,应选择的条件转移指令是 ( JGE )。
7.下列符号中,可用作标识符的是( C )。
A.MOVB.AXC.MSG1D.1ABC8.X DB 10H DUP(1,2)内存变量定义语句拥有了( A )个字节的存储空间。
A.20DB.10DC.20HD.10H9.当DF=0时,执行串操作指令MOVSB,变址寄存器SI、DI的值将( C )。
A. 不变B.减1C.加1D.无法确定10.如下指令可将AX寄存器内容改变的是( A )。
A.AND AX , BX B.TEST AX , BX C.CMP AX , BX D.XCHG AX , AX11.16位CPU支持的I/O地址范围是( D )。
A.0~0FFFFFH B.0~0FFFFH C.0~0FFFH D.0~0FFH12.MUL CL指令实现的功能是( A )。
A.无符号乘法:AX← AL×CL B.有符号乘法:AX← AL×CLC.无符号乘法:DX← AL×CL D.有符号乘法:DX← AL×CL13.DOS系统功能调用(INT 21H)中,显示字符串的功能号是( D )。
《汇编语言程序设计》期末复习题及答案
汇编语言程序设计》期末复习题及答案一、选择( 30 题)1.下列是 8 位带符号二进制数的补码,其中最大的是( B )。
B、000000012.在一段汇编语言程序中多次调用另一段程序,用宏指令比用子程序实现( C )C、占内存空间大,但速度快3.数据定义为:EE DB 3 , 4CC DW 3456H , 6789H执行指令“ MOV CX WORD PTR EE+1'后,(CX = ( B )B、5604H4.有如下指令序列:MOV AL, 95HMOV CL, 2SAR AL , CL上述指令序列执行后,AL的内容是(D )D、0E5H5. 设A=186io, B=273s, C=0B^,把这三个数看成无符号数,则它们之间的关系是(D )D、 A<B=C6. 用一条指令实现寄存器 BX和SI的内容相加,并将结果送入AX中,这条指令是(D )D、LEA AX, [BX][SI]7 .要从端口 1234H中读入8位数据,其指令应是( C )C、MOV DX, 1234HIN AL , DX&循环控制指令 LOOPNZ/LOOPNE续执行循环的条件是(B )B、CX^ 0 且 ZF=09. 8088/8086 存储器分段,每个段不超过( D )D、64K 个字节10.表示过程定义结束的伪指令是( A )A、ENDP11 .用来存放下一条将要执行的指令代码段地址的段寄存器是( D )D 、CS12 .假定(SS) =1000H, (SP) =0100H, (AX)=5609H,执行指令 PUSH AX 后,存放数据56H 的物理地址是( D )D、100FFH13.执行“ SUB AX, [BP][DI] ”指令,取源操作数时,使用的物理地址表达式是( A )A、16*SS+BP+DI14 .设AX中有一带符号数 8520H,执行“ SAR AX, 1”指令后,AX中的值是(C )C、0C290H15 .设(BX =1234H,( DS =2000H, ( 21234H) =5678H,则指令“ LEA SI,[BX] ” 执行后的结果是:( B )B、SI=1234H16 .测试BL中的数是否为负数,若为负数则转移至AA1处,横线处的指令应为( A )A 、 JNE17 .设 DF=Q (SI) =20H, (CX) =10,执行“ REP LODSW 指令后,SI 中的内容是(C )C 、 34H18.在程序执行过程中, IP 寄存器中始终保存的是( B )B 、下一条指令的首地址19 .设SP初值为2000H,执行指令“ POP AX'后,SP的值是(A )A、2002H20 .若 AX=3500H CX=56B8H 当 AND AX CX指令执行后, AX= ( A )A、1400H21 .汇编源程序时,出现语法错误的语句是( A )A、MOV DS, 1200H22 •将数据1234H存放在存储单元中的伪指令是( C )C 、 DATA1 DB 34H, 12H23 .下面指令执行后,可能改变AL寄存器内容的指令是( D )D 、AND AL, BLB、寄存器间接寻址25 •用户为了解决自己的问题,用汇编语言所编写的程序,称为( B )B、汇编语言程序26 .用DOS功能调用时,子功能调用的编号应放在( C )C、AH27 .提供串指令中目的操作数地址的是( C )C、ES: [DI]28 .在寄存器间接寻址方式下,能够提供有效地址的寄存器有( B )B、BX BP, SI , DI29 .已知某操作数的物理地址是2117AH则它的段地址和偏移地址可能是( A )A、2025 : 0F2A30 .中断向量表中的每个中断向量所占内存空间为:(B )B、4个字节、填空(30题)1.在用直接寻址方式寻址操作数时,系统对段地址的默认值在段寄存器DS中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
复习题一、单选题(在本题的每一小题的备选答案中,只有一个答案是正确的,请把你认为正确答案的题号,填入题干的括号内。
多选不给分。
1.十六进制数 88H ,可表示成下面几种形式,请找出错误的表示(④。
①无符号十进制数 136 ②带符号十进制数-120③它的二进制形式是 10001000B ④ 8位二进制数-8的补码表示2.存放条件码标志、控制标志和系统标志的寄存器是(④。
① IP ② SP ③ BP ④ PSW3. 执行加法运算不能使用的寄存器是 ( ③。
①、 BP ②、 SI③、 CS ④、 CL4.下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是 (②①、 AX , BX , CX , DX ②、 BX , BP , SI , DI③、 SP , IP , BP , DX ④、 CS , DS , ES , SS4、下列传送指令中有语法错误的是 (①。
①、 MOV CS, AX ②、 MOV DS, AX③、 MOV SS, AX ④、 MOV ES, AX5. ADD AX , BX 指令执行完后 OF=1,下列说法正确的是(③①、如果 AX,BX 得内容均是带符号数,那么表示执行结果正确②、如果 AX,BX 得内容均是无符号数,那么表示执行结果不正确;③、如果 AX,BX 得内容均是带符号数,那么执行结果表示溢出;④、如果 AX,BX 得内容均是无符号数,那么执行结果表示溢出;6.一个有 16字的数据区域,它的起始地址是 70A0:DDF6,那么该数据单元第三个字单元的物理地址为(④①、 7E816H ②、 7E814H ③、 7E7F8H ④、 7E7FAH7、与 MOV BX, OFFSET VAR指令完全等效的指令是 ( ④。
①、 MOV BX, VAR ②、 LDS BX, VAR③、 LES BX, VAR ④、 LEA BX, VAR8.如果 AX=0FFFEH,那么单独执行完 ADD AX , 1,RCR AX , 1 , (AX = (④①、 0000H ②、 8000H ③、 0FFFFH ④、 7FFFH9. MOV AL , 88HTEST AL , 66H 指令执行完后, (AL =(①①、 88H ②、 66H ③、 0H ④、 0EEH10、 BUF DW 10H DUP(3 DUP(2, 10H , 3, 5上述语句汇编后,为变量 BUF 分配的存储单元字节数是 (②。
① A 、 80H ②、 100H ③、 124 ④、 19211、下面指令执行后,变量 DAB 中的内容是(③。
DAW DW 2A05HDAB DB 0FAH:MOV AL, BYTE PTR DAWSUB DAB , AL① 0DAH② 0FAH③ 0F5H④ 0D0H12、设(DS =2100H, (BX=0158H,(DI =10A5H,指令 MOV AX,[BX][DI]操作数的物理地址是 ( ③①、 22B92H ②、 86192H ③、 221FDH ④、 221E9H13、TABLE DB ‘ 123456’MOV AX ,LENGTH TABLE 执行完后 (AX=(③①、 6 ②、 0 ③、 1 ④、 814、下列哪些语句能实现将一个字数据从端口 1500H 输入 (③①、 IN AX,1500H ②、 MOV DX,1500HIN AL, DX③、 MOV DX,1500H ④、 MOV AX,1500HIN AX, DX IN DX, AX15、用 LINK 程序把 ( ②文件转换为 ( 文件①、 ASM OBJ ②、 OBJ EXE ③、 ASM EXE ④、 EXE OBJ16、中断类型为 6,它的中断处理程序的段地址存放在 (②里①、 18H-19H ②、 1AH-1BH ③、 12H-13H ④、 14H-15H17. MOV SP, 3210HPUSH BXPUSH AXPOP AX执行上述指令序列后, SP 寄存器的值是 ( ②。
①、 3211H ②、 320EH ③、 320FH ④、 3212H18.分别执行完 MOV AX,OFFSET TABLE 和 LEA AX, TABLE 后 (AX分别是多少( ② ?(TABLE 为数据段中 0026H 单元的符号名,其中存放的内容是 6789H①、均为 6789H ②、均为 0026H③、分别为 0026H 和 6789H ④、分别为 6789H 和 0026H19. 宏定义如下:FOO MACRO P1,P2,P3MOV AX,P1P2 P3ENDM下列哪条宏调用是有效的(①①、 FOO BX,INC,AX ②、 F00 DX,JZ,AX③、 FOO AX,BX,CX ④、 FOO CX,ADD,AX20. 已知 (AL=14H,现在要把 AL 中的第 0位和第 7位置为 1, 其他位不变, 可以由下列哪条指令实现(①①、 XOR AL,10000001B ②、 AND AL,11111111B③、 NOT AL,10000001B ④、 OR AL,00000000B二、判断下列程序中指令是否正确NAMES db ‘ TOM ’db 20db ‘ KATE ’db 2 DUP (0,1,2,?(1MOV AX,NAMES ( ×(2MOV AX,WORD PTR NAMES+1 ( √(3JMP NAMES ( ×(4MOV BX,OFFSET NAMES ( √MOV AL,[BX+2](5MOV SI,2MOV DI,3MOV AL,NAMES[SI][DI] ( ×(6MOV AL,NAMESMOV CS,AL ( ×(7MOV SI,1MOV BX,OFFSET NAMES[SI] ( √(8 SHL AL , 3 (×(9 POP 1234H (×(10 ADD VAR1,VAR2 (×三、程序分析题1. mov ax,wimul xmov bx,yadd bx,6idiv bxmov r,dx这段程序完成的算术运算表达式是 (w*x/(y+6R单元里存放的是余数2.对于下面的数据定义,请根据各条 MOV 指令单独执行后的情况,填写有关寄存器的内容 TABLE1 DB ?TABLE2 DW 100 DUP(?MOV AX ,TYPE TABLE1 (AX = 1MOV CX, SIZE TABLE2 (CX = 200如果 TABLE3 EQU $-TABLE1 那么 TABLE3的值是 201 3.STRING DB ‘ABCDEFGHIJ'':MOV AH,01 ;从键盘输入字符 1~9INT 21HAND AL, 0FHDEC ALXOR AH, AHMOV BX, OFFSET STRINGADD BX, AXMOV DL, [BX]MOV AH, 02H ;显示输出INT 21H:试回答:(1上述程序段的功能是什么? 输出对应的数字。
(2如从键盘输入字符‘4'',程序段有什么结果?‘ D ’4Datarea segmentsum dw ?daterea endscoderea segment…startup :xor ax,axmov cx,100again:add ax,cxloop againmov sum,axcodrea endsend startup程序执行完后, AX= 5050CX= 0SUM = 5050四、程序填空题(下列各小题中,一个空只能填一条指令。
1. 设 AX , BX 中的数一个为正数, 一个为负数, 下面程序段完成将正数送到PLW 单元中存放, 请将程序中所缺指令语句补上。
TEST AX, 8000HJZ K1MOV PLW, BXJMP DONEK1: MOV PLW, AXDONE :2.编程计算SUM=a i b i =a1b 1+a2b 2+a3b 3+… +a10b 10所编程序如下:DATA SEGMENTA DB 1, 2, 3, 4, 5, 6, 7, 8, 9, 10B DB 1, 2, 3, 4, 5, 6, 7, 8, 9, 10SUM DW ?DATA ENDSCODE SEGMENTASSUME CS:CODE , DS :DATABEGIN: MOV AX, DATAMOV DS, AXMOV DX, 0 ; DX (结果置初值 0MOV SI,0 ;变址寄存器置初值 0 MOV CX,10 ;CX←循环计数值 10LOP1: MOV AL,A[SI] ;A L ←ai MUL B[SI] ;A X ← a i × bi ADD DX,AX ;DX← D X + a i × bi INC SI LOOP LOP1 ;CX-1≠0 时,继续循环 MOV SUM,DX ; C X = 0 ,S U M ←和 DX MOV AH,4CH ;返回系统 INT 21H CODE ENDS END BEGIN 3.… main proc far … startup:… push ds sub ax,ax push ax mov ax,offset array push ax mov ax,count push ax call checksumc mov result,al ret main endp checksumc proc near push bp mov bp,sp ;利用 BP 间接寻址存取参数第 6 页共 5 页push bx push cx mov bx,[bp+6] ;SS:[BP+6]指向偏移地址 movcx,[bp+4] ;SS:[BP+6]指向元素个数 xor al,al sumc: add al,[bx] inc bx loop sumc pop cx pop bx pop bp ret 4 根据程序在此处填写适当的数字(2 分) checksumc endp 画出该程序堆栈最满时的状态:分)(6 CX BX BP IP COUNT offset array AX 五、编制程序(段)题编制程序( 1、写一段程序,显示如下格式的信息: Try again,you have n starfighters left. 其中 n 为 CX 寄存器中的 1-9 之间的二进制数。
Data segment Mess1 db ‘Try again,you have $’ N db ? Mess2 db ‘starfighters left.$’ DATA ENDS Mov ah,9 Mov dx,seg mess1 Mov ds,dx Mov dx,offset mess1 Int21h Add cx,30H Mov n,cx 第 7 页共 5 页Mov ah,9 Mov dx,seg n Mov ds,dx Mov dx,offset n Int21h 2、编制一个能循环显示十条新闻标题的控制程序,每条新闻的地址转换表 NEWS 已放在数据区中。