汇编dos窗口下的Hello world还是有点难度,非调用win32 api方式,折腾了半天,总算弄出来了.
方法一: 调用中断
HELLO.ASM:
assume cs:codesg,ds:datas ; str字符必须是13位,所以中间加了两个空格,网上很多代码也避开了这个问题,都是通过加空格,拼写错误,反正加个占位符 ; 否则会输出一堆乱码,实在想不明白是什么原因 datas segment str db 'Hello World!','$' datas ends codesg segment mov ax,datas mov ds,ax lea dx,str ; 获取str的偏移地址 mov ah,9 ; 调用9号功能输出字符串 int 21h mov ah,4ch int 21h codesg ends end
方法二: 直接向显卡写字符串
TEST.ASM:
assume cs:codesg,ds:datas datas segment db 'Hello World!' datas ends codesg segment start: mov ax,datas mov ds,ax ;ds:si 指向字符串 mov si,0 mov bx,0b800h mov es,bx mov di,0 ;es:di 指向显卡缓冲区 mov cx,12 ;循环12次,向显卡缓冲区内写入字符串 s0: mov ah,1010b mov al,[si] mov es:[di],ax ;向屏幕逐个写入字符串 inc si ;移动至下一个字符串 add di,2 loop s0 mov ax,4c00h int 21h codesg ends end start ;注:必须先清空屏幕,才能在dos开头处显示Hello world字符
运行结果:
方法三: 直接用debug命令编写exe,这个太牛了
http://jakwings.is-programmer.com/posts/27619.html
相关推荐
这段汇编语言代码实现了最基本的HelloWorld程序,在DOS环境下运行。通过对数据段和代码段的分析,我们不仅了解了汇编语言的基本语法,还学会了如何使用DOS系统功能调用来输出字符串。这对于学习汇编语言以及理解...
在这里,我们将深入探讨如何使用汇编语言在DOS环境下编写和运行一个"Hello, World!"程序。 首先,我们有两个汇编源文件,`boot.asm`和`hello.asm`。`boot.asm`通常是引导加载器,负责将程序加载到内存并启动执行。...
第一个汇编程序-Hello World 调用MessageBoxA弹出对话框
标题“MASM_masmhellloworld_汇编语言helloworld_”揭示了我们要讨论的主题,即使用Microsoft Macro Assembler(MASM)编写一个简单的“Hello, World!”程序。这是一个经典的编程入门示例,用于演示基本的汇编语言...
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } } ``` JavaScript 在浏览器环境中可以这样写: ```javascript console.log("Hello, World!"); `...
在`HelloWorld.asm`中,我们可能会看到类似以下的代码片段,用于打印"Hello, World!": ```assembly section .data hello db 'Hello, World!',0 section .text global _start _start: ; 设置段寄存器 mov ax,...
汇编语言第一个入门程序,helloworld的asm格式文档
汇编编写hello world,供学习和交流使用,希望大家喜欢
《Windows环境下32位汇编语言程序设计》从编写应用程序的角度,从“HelloWorld"这个简单的例子开始到编写多线程、注册表和网络通信等复杂的程序,通过60多个实例逐渐深入Win32汇编语言的方方面面。Windows环境下32位...
用x86汇编写的环境搭建的测试程序。如果输出“Hello World!”那么就表示环境搭建成功。大家可以下载尝试一下。
### 汇编语言编写“Hello, World!”程序详解 #### x86 架构下的“Hello, World!” **汇编语言**是一种低级编程语言,它与特定类型的处理器架构紧密相关。对于初学者而言,编写一个“Hello, World!”程序是学习任何...
Windows环境下32位汇编语言是一种全新的编程语言。它使用与C++语言相同的API接口,不仅可以用来开发出大型的软件,而且是了解操作系统运行细节的最佳方式。本书从编写应用程序的角度,从“Hello World!”这个简单的...
本资源提供了 Linux 平台下汇编语言开发的详细指南,涵盖了汇编语法格式、Hello World 示例代码、Linux 汇编工具、系统调用、GCC 内联汇编等多个方面的知识点。 一、简介 汇编语言是最基本的编程语言之一,虽然...
### 汇编语言在x86架构下输出“Hello, World!”的实现方法 #### 知识点一:x86架构与汇编语言基础 - **x86架构**:这是一种广泛应用于个人计算机中的微处理器架构。该架构最初由Intel设计,支持多种不同的指令集,...
标题“asm_helloworld_world_”暗示我们关注的焦点是一个用汇编语言编写的“Hello, World!”程序。在计算机科学的教育中,"Hello, World!"通常被用作初次接触新编程语言时编写的第一个程序,它能快速验证编译器和...
《Windows环境下32位汇编语言程序设计》从编写应用程序的角度,从“HelloWorld"这个简单的例子开始到编写多线程、注册表和网络通信等复杂的程序,通过60多个实例逐渐深入Win32汇编语言的方方面面。Windows环境下32位...
同时,通过编写简单的程序,如打印“Hello, World!”,来实践基本的指令操作。 4. 实践应用 - 系统编程:汇编语言在操作系统开发、设备驱动编写等领域有着不可替代的地位。MASM5.0能帮助开发者直接操作硬件,实现...
当我们编写一个简单的"Hello World"程序并运行它时,背后涉及到一系列的底层操作,包括编译、汇编和执行等步骤。这里我们将深入探讨"Hello World"程序在C++中的最小指令集、汇编器和编译器的工作原理。 1. **最小...
Windows环境下32位汇编语言程序设计(典藏版)(带书签):本书从编写应用程序的角度,从“Hello World!”这个简单的例子开始到编写多线程、注册表和网络通信等复杂的程序,通过70多个实例逐步深入Win32汇编语言编程的...
对于不同的计算机语言而言,编写HelloWorld程序的方式各有不同,但它们的核心目的都是相同的——让程序员能够快速上手并理解该语言的基本使用方法。 从汇编语言到C、C++、Java、C#和Python,每一种计算机语言的出现...