关于汇编语言程序序求解

16.提示下列指令序列执行后的正確结果是( A ) C CX≠0并且ZF=1 D CX=0或ZF=1 MOV BX,OFFFCH 51. 运算型指令的寻址和控制转移型指令的寻址其不同点在 MOV CL,2 于( ) SAR BX,CL A 前者取操作数后者决定程序的转移地址 A.3FFFH B.0FFFH C.0FFFCH B 后者取操作数,前者决定程序的转移地址 D.0FFF5H C 两者都是取操作数 19. 指令SCAS的寻址方式是( ) D 两者都是决定程序的转移地址 A 源操作数为寄存器寻址,目的操作数为寄存器间接寻址 53. 汇编语言语句格式中的名字项下列哪一个不正确?B 源操作数为寄存器间接寻址目的操作数為寄存器间接寻址 ( ) C 源操作数为寄存器间接寻址,目的操作数为寄存器寻址 A. FFFFFH B. @Variable

24. 下列指令中正确的是(A)

29. 下列程序段执行完后,BX寄存器中嘚内容是( C )

寄存器AL的值是( B )。

43. 对于下列程序段:

可用指令( )完成相同的功能

45. 使得JB指令执行转移操作的条件是( )。

46. 在“先判断後工作”的循环程序结构中循环执行的

47. 下列指令中,指令( )先执行CX-1赋给CX操作然后

再根据CX的值决定是否转移、循环或进行重复操作。

48. 指令LOOPZ的循环执行条件是( )

13.对于字除法指令,目的操作数存放在 AX 中指令执行后,商放在 AL 余数在 AH 中。 15. 在除法指令IDIV BX中被除数隐含为 AX戓DX:AX 。 16. 在乘法指令MUL WORD PTE[BX]中被乘数隐含为 AX ,乘积在DX:AX 中 17. 执行XLAT指令前,要将表的首地址放在 BX 中表内偏移地址放在 AL 。 18.

22. 利用指令JO实现转移的条件为

23. 利用指令JZ后,程序顺序执行下一条指令的条件是 28. 试分析下列程序段:

如果AX和BX的内容给定如下,问该程序执行完后转向哪里 AX BX ⑴ 147B 80DC 转向 L1 。

⑶ 42C8 608D 轉向 L1 ⑷ D023 9FD0 转向 L5 。 ⑸ 94B7 B568 转向 L5 我也不会 30. 条件转移指令的目标地址应在本条件转移指令的下一条指令地址的 字节范围内。 32. 一个有16个字的数据区咜的起始地址为70A0:DDF6,那么该数据区的最后一个字单元的物理地址为 H。 38. 对于字节乘法指令其目的操作数存放在 中,而其源操作数可以用除立即數以外的任一种寻址方式其乘积为 位,应存放在 中 44.下面程序段完成将字变量OPR1转换成反码和补码分别存入

程序执行后,DL= ,屏幕上显示输出嘚字符是 三、问答()

23.下列语句中,哪些是无效的汇编语言指令并指出无效 INC SI 指令中的错误。 LOOP AGAIN

4. 试编写一程序段要求在长度为100H字节的数組ARRAY12. 编写一程序段,比较两个5字节的字符串OLDS和NEWS中,找出大于42H的无符号数的个数并存入字节单元UP中;找如果OLDS字符串不同于NEWS字符串则执行NEW_LESS;否則顺出小于42H的无符号数的个数并存入字节单元DOWN中 序执行程序。 5. 试编写一个程序求出双字节数的绝对值双字长数在A和13. 已知在N到N+I的存储区Φ有一组ASCⅡ码字符串(共IA+2单元中,结果存放在B和B+2单元中 +1个),试编写一个关于汇编语言程序序将此字符串传送到NI到6. 编写程序段,把芓符串STRING中的第一个‘&’字符用空格NI+I单元中并使字符串的顺序与原来的顺序相反。 符代替 16. 已知DATA单元为一个16位带符号数的原码形式,试用補 STRING DB ‘The date is FEB&03’ 码形式表示该数 7. 下列ASCⅡ码串(包括空格符)依次存储在起始地址为17. 在内存的数据段中存放了若干个8位带符号数,数据块的CSTRING的字节單元中: 长度为COUNT(不超过255)首地址为TABLE,试统计其中正元 CSTRING DB ‘BASED ADDRESSING’ 素、负元素及零元素的个数并分别将个数存入PLUS、MINUS请编写指令将字符串中的苐1个和第7个字符传送给DX寄存器。 和ZERO单元中 8. 若地址偏移量为2000H~2003H有一个4字节的数,现要把18. 编写程序将ELEMS中的100个字节数据的位置颠倒过来该数左迻1位写出完成该操作的程序段。(要求不超过5条指(即第一个字节和第100个字节的内容交换第二个字节和第令) 99个字节的内容交换??)。 9. 寫出对存放在DX和AX中的双字长数求负的指令序列 程序设计题

2.测定ALPHA字节变量单元中的ASCⅡ码字符,进行如下操10. 用其他指令完成和下列指令一样嘚功能 作:

(2)若为大写字母字符,送入BIGCHR字节单元中 (3)若为小写字母字符,送入SMLCHR字节单元中 编写出程序段。

3.设在变量单元A、B和C中存放有三个数若三个数都不为零,则求出三个数之和存入D中;若有一个数为零0则将其他两个单元也清零,请编写此程序段

5.已知两个整数变量A和B,试编写完成下述操作的程序: (1)若两个数中有一个是奇数,则将奇数存入ABUF单元偶数存入BBUF单元中。

(2)若两个数均为奇数則两数分别加1,并存回原变量处

(3)若两个数均为偶数,则两变量不变

6.编写一循环结构程序段,完成从LETTER字节存储单元开始连续存放‘A’-‘Z’共26个字母(数据定义伪指令只定义存储空间,不指定值)

7.定义一数组GRADE存放有100个学生某门功课的考试成绩,要求编一程序统计各分数段的人数。即统计90~100分80~89分,70~79分60~69分,以及60分以下的各有多少人

8.试编写一个程序,比较两个字符串STRING1和STRING2所含字符是否完全相哃若相同则显示‘MATCH’,若不同则显示‘NO MATCH’。

9.试编写一个程序段求出首地址为DATA的100个字数组中的最小偶数,并把它存放于AX中

11.编写一个关于彙编语言程序序,统计变量X中的值有多少位为1并记入ONE变量中。

18. 从XX单元开始的30个连续单元中存放有30个无符号数从中找出最大者送入yy单元Φ。

是面向机器的程序设计语言在彙编语言中,用助记符(Memoni)代替机器指令的操作码用地址符号(Symbol)或标号(Label)代替指令或操作数的地址,如此就增强了程序的可读性和编写难度象這样符号化的程序设计语言就是汇编语言,因此亦称为符号语言使用汇编语言编写的程序,机器不能直接识别还要由汇编程序或者叫彙编语言编译器转换成机器指令。汇编程序将符号化的操作代码组装成处理器可以识别的机器指令这个组装的过程称为组合或者汇编。洇此有时候人们也把汇编语言称为组合语言。

这是一种面向机器的低级语言通常是为特定的计算机或系列计算机专门设计的。因为是機器指令的符号化表示故不同的机器就有不同的汇编语言。使用汇编语言能面向机器并较好地发挥机器的特性得到质量较高的程序。

彙编语言保持了机器语言的优点具有直接和简捷的特点,可有效地访问、控制计算机的各种硬件设备如磁盘、存储器、CPU、I/O端口等,且占用内存少执行速度快,是高效的程序设计语言

3.编写和调试的复杂性。

由于是直接控制硬件且简单的任务也需要很多汇编语言语句,因此在进行程序设计时必须面面俱到需要考虑到一切可能的问题,合理调配和使用各种软、硬件资源这样,就不可避免地加重了程序员的负担与此相同,在程序调试时一旦程序的运行出了问题,就很难发现

1、因为用汇编语言设计的程序最终被转换成机器指令,故能够保持机器语言的一致性直接、简捷,并能象机器指令一样访问、控制计算机的各种硬件设备如磁盘、存储器、CPU、I/O端口等。使用彙编语言可以访问所有能够被访问的软、硬件资源。

2、目标代码简短占用内存少,执行速度快是高效的程序设计语言,经常与高级語言配合使用以改善程序的执行速度和效率,弥补高级语言在硬件控制方面的不足应用十分广泛。

1、汇编语言是面向机器的处于整個计算机语言层次结构的底层,故被视为一种低级语言通常是为特定的计算机或系列计算机专门设计的。因此不同的处理器有不同的彙编语言语法和编译器,编译的程序无法在不同的处理器上执行缺乏可移植性;

2、难于从汇编语言代码上理解程序设计意图,可维护性差即使是完成简单的工作也需要大量的汇编语言代码,很容易产生bug难于调试;

3、使用汇编语言必须对某种处理器非常了解,而且只能针对特定的体系结构和处理器进行优化开发效率很低,周期长且单调

我要回帖

更多关于 关于汇编语言程序 的文章

 

随机推荐