如何写第一个机器码程序HELLO WORD
在不同的环境里汇编程序的写法不尽相同,给你8086和win32的hello word,每个语句后面都译成相应的伪代码,但愿对你有所帮助,至于汇编环境,不推荐使用DEBUG,建议你使用http://down.tech.sina.com.cn/content/13535.html一、8086的写法data segment ;这里定义一个数据段tab db 'hello world$' ;这里用内存存放字节数据 'hellow world!',$用来判断字符串是否输出完毕data ends ;数据段的结束标志code segment ;这里定义了一个代码段assume cs:code, ds:data ;这里把程序中定义的段与对应的段寄存器关联起来start: ;这里是一个标号,根据end后面的标号判断这里是程序的开始位置 mov ax,data mov ds,ax ;这里把数据段的地址放到数据段寄存器ds中 lea dx,tab ;dx中放将要显示数据的偏移地址 mov ah,9h int 21h ;调用21号中断的9号功能来显示字符串 mov ah,4ch int 21h ;程序返回 code ends ;代码段的结束语 end start ;定义程序从哪个标号处开始执行二、win32的汇编写hello word.386 ;这里定义了使用的指令集是80386的 .model flat,stdcall ;定义内存模式和调用的方式(堆栈平衡) option casemap:none ;定义对大小写是否敏感;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;Include 文件定义;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>include windows.incinclude user32.incincludelib user32.libinclude kernel32.incincludelib kernel32.lib ;这里引用了一些头文件来说明将要用到的api函数;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;数据段;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> .dataszCaption db 'A MessageBox !',0szText db 'Hello World !',0 ;定义数据段,上面的是标题,这里的是显示的内容;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;代码段;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> .code start: invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK;调用messageBox函数来显示字符串 invoke ExitProcess,NULL;调用函数来结束这个程序的进程;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> end start ;定义程序从哪里开始运行
...已经安装了PERL/TK,别人的程序可正确运行。
我按照教程写个"...
这么短短的几行程序,都能有这么多个地方错误。
O(∩_∩)O哈~~~~~第一行是指你的perl主程序位置,一般windows里的默认安装是c:/Perl/bin/perl.exe你第一行就有两个错误,1、程序位置错了,2、少了一个分号“;”。
第二行不知道你是什么意思,觉得是多余的东西。
第三行,恩恩恩,是对的。
第四行,Tk,“k”字是小写。
第五行,恩恩恩恩,好吧,你是对的。
第六行,你少了一个主窗口,你连一个窗口都没有,文字显示在哪里呢?my $mw = MainWindow->new;第七行,”Label“的“l”是大写。
第八行,“MainLoop”的“l”是大写。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
怎么用java编制程序hello word
编译还是编制?编译就是:javac hello.javajava hello// hello.javaimport java.io.*;public class hello{public static void main(String[] args){System.out.println("hello world!");}}
求经典:"hello word"的典故,来历?
展开全部 作为第一个程序,很多人会选择Hello World,在java里,可使用控制台程序实现这个功能,具体步骤如下:1、编写代码Hello.java(可直接使用记事本编写,存储到c:\下)public class Hello{ public static void main (String[] args) throws java.lang.Exception { System.out.println("hello world!"); }}2、安装jre或jdk运行cmd命令,输入java -version,可以看到版本信息则说明java环境正常3、在cmd窗口中,进入c:\,输入javac Hello.java4、在cmd窗口中,输入java Hello,看到hello world!...
C语言编程“Hello,world”应该怎们弄
展开全部 C++ “Hello world!”的N种写法CC++C#.netGoogle 1. 最经典的“Hello world!” “Hello world!”最经典的写法当然是直接用 printf 输出“Hello world!”这几个字符了。
无论用C还是 C++,写起来都非常的简洁明了。
这里把最常见的几个全部列在下面。
#include #include int main() { printf("Hello world!"); // 教科书的写法 puts("Hello world!"); // 我最喜欢的 puts("Hello" " " "world!"); // 拼接字符串 std::cout #define Say(sth) puts(#sth) int main() { return Say(Hello world!); } 请注意,这个Hello world可是完全没有出现引号哦! 3. 断章取义的“Hello world!” 字符串是一种常量这当然毫无疑问,但是它的类型是什么,这就需要考虑一下了。
使用C++的typeid就可以这个问题的答案,而且只要是符合C或C++标准的编译器就应该是一样的结果。
比如字符串“Hello world!”,它的类型就是 char const [13]。
知道了这个,就可以写出以下的“Hello world!”: #include int main() { return puts(&"Do not say: Hello world!"[12]); } 4. 退出时运行的“Hello world!” 大家都知道 main 函数退出意味着程序结束,可是这并不完全正确,我们完全可以在 main 函数退出以后做很多事呢——比如说,输出“Hello world!”。
这个功能依赖于C标准库中提供的函数 atexit(),调用这个函数并注册自己的回调函数就行。
需要注意,这个函数可以调用多次,最后注册的函数最先执行。
#include #include void say() { printf("world!"); } void sth() { printf("Hello "); } int main() { return atexit(say), atexit(sth); } 5. 读取自己的“Hello world!” C/C++的编译器提供了一些有用的内置宏,最常用的就是 __FILE__ 和 __LINE__ 了。
其中,__FILE__ 代表当前的源文件的文件名,嗯,对了,如果我们让这个程序读取自己的源文件,不就可以做一个很有意思的“Hello world!”了么? // Hello world! #include #include #include int main() { std::ifstream ifs(__FILE__); std::string say, some, word; ifs >> say >> some >> word; std::cout class say { public: say() { std::cout template class say { public: void operator () () { std::cout ()(), 0; } 请注意,这个 extern 是十分必要的,只有加上了 extern,这个指针才是一个编译器间可以确定的值,也才可以参与模板运算。
还有,hello 必须为数组类型,而不能为 char*,这个道理和加 extern 是一样的。
此外,这里还演示了 functor 的用法,嗯,关于它的优点就不在这里多说了,反正是与原生指针相比有很多好处就是了。
8. 调用私有函数的“Hello world!” 我们知道,C++类的私有函数是不能被外界访问的,比如说 main 函数里面,它绝对不能访问类的私有函数,除非把它设为类的友元函数。
不过我们还是可以用一些比较奇怪的方法访问类的私有函数——当然,这个私有函数必须满足一个条件:它是虚函数。
这里就涉及到一个问题,指向虚函数的虚表放在哪里?对于 VS.Net 2003 而言,虚表是类的第一个成员,虚函数指针按照函数声明的顺序放在虚表里面。
当然,这个说法并不严谨,更细节的东西还是去看看那本“成人高钙奶粉”吧,它会给出最权威的解答。
这里是一个很有意思的例子: #include #include class secret { private: virtual void say() { std::cout (**(intptr_t**)(&word)))(); return 0; } 9. 最暴力的“Hello world!” 最暴力的调用函数的方法是:直接修改函数的返回地址,让这个地址指向我们...
转载请注明出处51数据库 » hallo word 教程
老板加份肉可否