《汇编语言程序设计》作业习题(3)

2020-02-21 02:55

位数运算指令),把和放到050AH及050BH单元中(和用两个字节表示),且高字节在050BH单元。

10.2 在0100H单元和010AH单元开始,存放两个各位10个字节的BCD数(地址最低处存放的是最低字节),编一个程序段求它们的和,且把和放在0200H开始的存储单元中。

10.3 在0100H单元开始放有数A(低位在前) NA=67 26 79 21 09 73 85 39 47 15 在010AH单元开始放有数B

NB=53 53 90 19 82 30 22 71 40 92

编一个程序段求两数之差,且把差值送入自0100H开始的存储区。

10.4 给定数N,0<N≤5,要求写一个程序段计算出它的阶乘并将结果保存在存储器地址result处。(N!=1×2×3×?×N)

10.5 在数组ARRAY处存放着N个无符号字节数,要求写一个程序段求数组中前N个字节数的总和并保存在AX寄存器中。如果总和值超过 AX寄存器的容量,则置AX寄存器内容不变。

10.6 在MEM数据区中存放有一组无符号数据,该数组中的每个数均是4位十进制数(组合的BCD码),存放在两个字节中,请编程完成每个数据对应位按二进制数相加,结果分别存放在X1、X2、X3、X4各字节单元中。

10.7 设X,Y,R,S,Z均为16位无符号数据的单元符号地址。编一程序段求表达式:Z=(X+Y)/(R-S)的值。

10.8 设X,Y,R,S,Z均为16位无符号数据的单元符号地址,N为一个立即数。编一程序段求表达式:Z=((X-(Y*R+S-N))/Y的值。

10.9 请编程完成两个无符号数的相乘,但采用重复相加的方法实现。

10.10 请编程利用除法指令实现2个无符号数相除:即一个64位数除以一个16位数(N1/N2,商为N3,余数为N4)。

第11章 高级汇编语言技术 习题

11.1 设有以下宏定义 FUN MACKO Vl,V2

LOCAL NEGA,ZERO,OK PUSH AX MOV AL,V1 CMP AL,0 JS NEGA JZ ZERO MOV AL,1 JMP OK NEGA:

MOV AL,0FFH JMP OK ZERO:

MOV AL,0 OK:

MOV V2,AL POP AX ENDM

若在源程序中进行了两次调用 ……

FUN B_D1,B_D2 ……

FUN B_D3,B_D4

……

试写出后一次宏调用对应的宏扩展。

11.2 试用IRP及IRPC伪指令的重复汇编结构实现【例11.11】中程序段的功能。 11.3 设源程序中有6个近标号,分别为BR0,BRl,?,BR5。试用重复汇编结构定义一个由这6个标号构成的跳转表。

11.4 定义一个宏指令,用以对1~3个有符号字节变量求取最小值。要求对不同的变量个数产生不同的宏扩展。

11.5 定义一个宏指令FUNC,用于下列分段函数的计算。所作宏定义要保证宏调用时能根据自变量的不同取值范围作不同的宏扩展,以减少目标代码。

第12章 BIOS和DOS中断调用 习题

12.1 分别利用DOS和BIOS中断功能调用,将当前的时间和日期设置为2008年8月8日20:08:00。

12.2分别利用DOS和BIOS中断功能调用,显示机器当前时间。

12.3 利用BIOS中断功能调用从键盘上输入字符,然后送显示器显示,并送打印机打印输出,如果输入字符是!,则退出程序。

12.4 编制一程序,要求在屏幕上显示一个直角三角形,三边分别为红、黄、绿三种颜色。

12.5 编写利用8253驱动发声的通用发声子程序。 12.6 编写出实现下列要求的指令序列: (1) 设置屏幕为80×25文本显示方式。 (2) 设置屏幕为蓝底红字。

(3) 把光标定位在屏幕的中央(假设是80X25黑白文本显示)。 (4) 设置屏幕为320×200图形显示方式并清屏。

第13章 混合编程 习题

13.1设C程序在小模式下调用ADD_NUM(x,y,z)汇编子程序,采用堆栈传递参数,请画出堆栈传递参数的示意图。

13.2.汇编子程序中有一外部变量var1供C程序引用,分别写出在汇编程序和C程序中对此变量说明的语句。

13.3有如下C语言声明的外部子程序compare ( )完成字符串的比较功能,请编写汇编程序实现compare ( )的功能,在小模式(SMALL)下连接。

extern int compare(char *str1,char * str2); 其中str1和str2是两个字符串,串结束标志为“\\0”,从串首开始比较,如果str1>str2则返回值为1;如果str1和str2相同则返回值0;如果str1<str2则返回值为-1。

13.4回文是一种特殊的字符串,其特点是从头到尾读和从尾向头读的顺序完全相同,如“12321”,“abcdcba”。编写汇编程序实现供C语言程序调用的外部子程序ishuiwen(),其功能是判断给定字符串是否回文,如果是回文,则返回值为1;否则为0。在中模式下连接,其c语言声明如下:

extern int ishuiwen(char *str); 其中,str是字符串的起始地址。

13.5用汇编语言实现供C语言程序调用的画线子程序drawline( ),其C语言声明如下: extern void drawline(int xl,int yl,int x2,int y2,int color)

?x?1?y??x2?x?1?x<-1 x<-1 -1≤x<4 -1≤x<4 X≥4 (x为使用四伪指令定义的字节有符号数x≥4 (x为使用EQUu伪指令定义的字节有符号数) )

其中,xl,yl是线条起点坐标,x2,y2是终点坐标,color是线条额色。

第14章 286/386/486Pentium汇编语言简介 习题

14.1 说明8086到Pentium各微处理器的寻址空间。

14.2 解释实模式、保护模式和虚拟8086模式,并简述它们各自的特点。 14.3 简要叙述在保护模式下,程序中的存储器地址转换成物理地址的过程。

14.4 设(EAX)=398754A6H,(EDX)=5A8B7600H.试以移位次数为7,15,31,分别执行SHRD和SHLD指令后,EAX和EDX中的值。

14.5 在.486模式下,用RETN、RETF指令编写64位数相加、相减的子程序。 14.6 回答下列问题:

(1)ADD ECX,AX指令错在哪里? (2)JECXZ指令什么条件下转移? (3)MOV AX,[EBX+CX]指令正确吗? (4)如何让汇编程序识别80386指令?

第15章 ARM CPU概述 习题

15.1试说明ARM7TMDI中T、M、D、I的含义是什么? 15.2试叙述RISC与CISC相比有何特点? 15.3试叙述ARM体系结构的优点。 第16章 ARM系统结构. 习题

16.1 ARM处理器的工作状态有几种?如何在不同的状态间进行切换? 16.2 ARM处理器的工作模式有哪几种? 16.3 说明寄存器R14的作用。

16.4简述ARM处理器对异常中断的响应过程。

16.5比较ARM体系结构存储字数据使用大端格式和小端格式的不同点。

第17章 ARM-Thumb汇编语言(格式) 习题

17.1 ARM指令分为哪几类?

17.2 ARM指令基本语法格式中包括哪几部分,各部分的含义是什么?

17.3 ARM指令的寻址方式有几种?试分别叙述其各自的特点并举例说明。 17.4 ARM汇编程序中对字符的使用有哪些要求?

第18章 ARM指令系统 习题 18.1 比较ARM指令系统与8086/8088指令系统的不同,总结ARM指令系统的特点。 18.2 若R0的内容为0x8000,寄存器R1、R2内容分别为0x01、0x10,存储器内容为空。执

行下述指令后,说明程序指针寄存器PC以及寄存器R0、R1、R2和存储器变化情况。

STMIB R0!,{R1,R2} LDMIA R0!,{R1,R2}

18.3 ARM指令系统中的跳转指令与8086/8088指令系统中的跳转指令有何区别? 18.4 用ARM跳转指令实现两段程序间的来回切换。 18.5 用ARM汇编语言编写1+2+3+…+100的程序。

第19章 Thumb指令系统 习题 19.1 简述Thumb指令系统的特点。 19.2 如何用指令实现ARM处理器Thumb状态的进入和退出? 19.3 比较ARM指令系统与Thumb指令系统的异同。 19.4 分别说明ARM指令系统和Thumb指令系统是如何实现移位操作的?

第20章 ARM汇编程序设计 习题

20.1 使用LDR指令读取0x40003100上的数据,将数据加1,若结果小于10,则使用STR指令把结果写回原地址;若结果大于或等于10,则把0写回原地址。

20.2 使用Thumb指令ADD、MOV、CMP和B实现1+2+3+?+N的运算(N为0时,结果为0;N为1时,结果为1)。

20.3 在C程序调用汇编子程序,实现两个整数的加法运算。汇编子程序的原型为: Uint add(uint32 x,uint32 y),其中uint32已定义为unsigned int。


《汇编语言程序设计》作业习题(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2011 java+Android 技术开发

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: