12.4 习题

12.1、把12.3节中的C语言程序改写成汇编语言程序。

12.2、编写C语言程序,输出下面表达式的值,要求该表达式的计算用嵌入汇编语言程序段的方法来实现(注:题中所有变量都是整型)。

1)、1230 + 'A' - a
2)、b * b – 4 * a * c
3)、(a + b) / c + d

4)、9*c / 5 + 32
5)、(a % 9 + 89) * 8
6)、x * x + y * y

12.3、用汇编语言编写函数Display(Data),其功能是在当前光标处显示无符号整数Data,然后,编写一个C语言程序调用Display来显示整型变量的值。

12.4、用汇编语言实现下列C语言标准函数,并在C语言程序中验证之(假设未指明的变量都是整型)。

1)、isalpha(int Ascii) /*若Ascii是字母的Ascii码,则其函数值为真,否则为假*/

2)、isxdigit(int Ascii)
/*若Ascii是十六进制字符('0'~'9'、'A'~'F'和'a'~'f'),那么,其函数值为真,否则为假*/

3)、strlwr(char *s) /*把字符串s中的字母转换成小写*/

4)、strchr(char *s1, int Ascii)
/*在字符串s1中查找是否存在字符Ascii。若不存在,则返回NULL(即0),否则,返回指向该字符在字符串中位置的指针*/

5)、strncmp(char *s1, char *s2, int Len)
/*比较字符串s1和s2前Len个字符,若s1<s2,其值小于0;s1==s2,其值为0;否则,其值大于0*/

6)、strncpy(char *Dest, char *Src, int Len) /*把Src串中前Len个字符拷贝到Dest中*/

7)、memset(void *Buff, int Data, int Len)  /*把用Data填充Buff前Len个存储单元*/

12.5、编写一个C语言程序,用TCC/BCC命令生成汇编语言程序,分析C语言语句和汇编语言语句之间的实现关系。

12.6、编写一个C语言程序,求出2~100之内的所有素数(大于1,且只能被1和自身整除的数,称为素数),然后把它改写汇编语言程序,并比较二者代码的。

12.7、编写一个C语言程序,求出2~999之内的所有能被9整除,且含有5的数,然后把它改写汇编语言程序。

12.8、用汇编语言编写一个过程Display(Data),其功能为在当前光标处显示无符号整数Data,然后编写C语言程序调用之,以达到显示数据的作用。