51CTO博客开发李华明Himi
[BITS 16] org 07c00h ;org指令明确告诉编译器我程序开始地址是07c00h,而不是 ;原来的00000jmp maingdt_table_start: gdt_nu
编程:启动程序实现很简单的功能在屏幕中央 ;打印一行字符串(汇编+c+red hat linux实现)汇编语言编写: boot.asm启动程序代码: ;我们的启动程序实现很简单的功能在屏幕中央
assume cs:codecode segment ;第一步:把中断向量表中0号表项的内容进行修改,使之指向我们自己编写 ;的中断处理程序的入口地址 start: mov ax,0 mov ds,ax mov word ptr ds:[0],0200h mov word ptr ds:[2],0 ;第三步,把我们刚才编写好的0号中断处理程序拷贝到中断向量表中 ;0号表项所指向的内存
assume cs:code,ds:datadata segment msg db "hello world"data ends code segment start: mov ax,data mov ds,ax mov bx,0b800h mov es,bx mov cx,11 mov si,0 mov bx,0 mov ah,0
编程题:求两数之和 #include<stdio.h> /*包含输入输出头文件*/main() /*定义主函数*/{
编程题:输入a、b两个数,输出其中最大值。#include<stdio.h>float max(float x,float y){ float z; if(x>y) z=x; else z=y; return z;}main(){ float a,b,c; scanf("%f,%
编程题:转义字符的使用#include<stdio.h>main(){ printf("12345678901234567891234567890\n"); printf("123\t456\n"); printf("123456\b123\r9\n"); }输出:1234567890123456789
编程题:数据格式说明的使用#include<stdio.h>main() {printf("a=%4d,b=%-6.2f,c=%c,d=%s",12,3.456,'A',"hello");}输出:a= 12,b=3.46 ,c=A,d=hello举一反三:写出下列输出结果printf("x=%d,y=%-6.2f,z=%2
编程题:scanf()函数的使用 #include<stdio.h>main(){int x,y,a1,b1,a2,b2,c2; scanf("x=%d,y=%d",&x,&y); scanf("%d,%d,%d",&a1,&b1,&c1); scanf("%d,%d,%d",&a2,&b2
功能:赋值时类型自动的转换#include<stdio.h>main(){ int a,x; float f; a=3.9; f=12; x='A'; printf("a=%d,f=%f,x=%d\n",a,f,x); }&
功能:类型修饰符long和unsigned的使用#include<stdio.h>main(){ char a1,b1; unsigned char a2,b2; int x1,y1; long x2,y2; a1=127; &nbs
功能:自动类型转换#include<stdio.h>main(){ float x,y; long m,n; x=3/2+8/3; y=3.0/2+8/3.0; m=1*2*3*4*5*6*7*8*9; n=1L*2*3*4*5*6*7*8*9
编程题:学生成绩评分#include<stdio.h> void main(){ int score; printf("请输入学生分数:"); scanf("%d",&score); switch(score/10) { case 10: case 9:
编程题:两个数比较大小,之后用变量t互换。#include<stdio.h>void main(){ float x,y,t; scanf("%f,%f",&x,&y); if(x<y) {t=x;x=y;y=t;} printf("%6.2f,
编程题:用while语句实现,求1+2+...+100的结果。#include<stdio.h>void main(){ int s,n; s=0; n=1; while(n<=100) { s=s+n; n=n+1; &n
编程题:用do..while语句实现,求1+2+3+...+100的结果。#include<stdio.h>void main(){ int s,n; s=0; n=1; do { s=s+n; n=n+1; } while(n<=100); printf("
编程题:统计1~20之间不能被3整除的数的个数并输出这些数以下程序是用break和continue语句来实现的。#include<stdio.h>void main(){ int n,s; for(n=1,s=0;n<=20;n=n+1) { if(n%3==0) continue; printf("%d\t",n);
编程题:用for循环嵌套,输出下列图形: #include<stdio.h>void main(){ int m,n; for(n=1;n<=9;n=n+1) {for(m=1;m<=n;m=m+1) printf("%-4d",m); printf("\n"); &nb
编程题:用goto语句实现,求1+2+...+100的结果。#include<stdio.h>void main(){ int n=1,s=0; loop:if(n<=100) { s=s+n; n=n+1; goto loop
编程题:计算:s=a+3*-2/(int)(a+b)-12的结果,其中a=1.7,b=2.4。#include<stdio.h>void main(){ float a=1.7,b=2.4,s; s=a+3*-2/(int)(a+b)-12; printf("result is %f\n",s);}运行结果:
用关系运算符将两个数据或表达式连接起来的式子,称为关系表达式。关系表达式的值为1或0.#include<stdio.h>void main(){ int a=5,b=4,c=3; int s,t; if(a>b>c) s=a; else s=0; t=(a-c>c+2==0); printf("s
编程题:逻辑运算符的运用#include<stdio.h>void main(){ printf("%d,%d,%d,%d\n",(4>3)&&(5>1),(4<3)&&(5>1),(4>3)&&(5<1),(4<3)&&(5<1)); printf("%
编程题:复合赋值运用。#include<stdio.h>void main(){ int a=10,b=10; printf("%d\t",a+=a-=a*a); printf("%d\n",b+=b-=b*=b);}运行结果:
编程题:有一行电文,已按下面规律译成密码:A->Z B->Y C->X ...a->z b->y c->x ..即第一个字母编成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变。编程输出密码和原文。#include "stdio.h"#include "string.h"void main(){ //printf("
编程题:自增运算与自减运算的运用#include<stdio.h>void main(){int a1,a2,a3,a4,b1,b2,b3,b4; a1=a2=a3=a4=10; b1=(a1++)+(a1++)+(a1++); b2=(++a2)+(++a2)+(++a2); b3=(a3--)+(a3--)+(a3--); b4=(
编程题:逗号运算符的运用#include<stdio.h>void main(){int a=3,b=4,c=1,max,t; if(a>b,a>c) max=a; else max=0; t=(a+3,b+1,++c); printf("max=%d,t=%d\n",max,t);}运行结果:
编程题:条件运算符的运用#include<stdio.h>void main(){int a,b,c,max; scanf("%d,%d,%d",&a,&b,&c); max=a>(b>c?b:c)?a:(b>c?b:c); printf("a=%d,b=%d,c=%d,max=%d\n",a,b,c,max);}
编程题:用函数实现,用户输入年月日,来计算出该日期为当年第几天?#include<stdio.h>/*函数is_leap_year()的返回值是判断该年是否闰年*/int is_leap_year(int year){ int leap; if(year%4==0&&year%100!=0||year%400==0) leap=1; else l
#include<stdio.h>void star(){printf("******\n");}void main(){ int i,j; for(i=1;i<=4;i++) { for(j=1;j<=2*i-1;j++) printf(" "); star();} &nb
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号