Hello World这是每一门编程语言的第一个最简单程序,下面那个程序就是汇编语言的Hello World。学汇编一段时间了,到现在才记录下自己的第一个汇编程序笔记。虽然这是个相当简单的小程序,但这也算是一个开始吧,有了开始,以后自己的笔记也许才会更新的更勤。

 

Assembly (x86)

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
stack      segment stack 'stack'
           dw 32 dup(0)
stack      ends
data segment
hello db"hello,world!$"                  ;定义字符串常量hello
data ends
code segment
assume ds:data,cs:code
start: push ds
mov ax,0
push ax
mov ax,data
mov ds,ax
lea dx,hello ;取字符串常量hello的偏移地址,送入dx
mov ah,9 ;9号功能调用:在屏幕上显示字符串常量hello的值
int 21h
retf
code ends
end start

第一个关于汇编的程序就到这,就是这么简单。接下来我会多记些笔记下来,方便自己的同时也能方便他人。

出处:http://www.shelwee.com/html/archives/65498.html

“Hello World”—— 第一个汇编程序的更多相关文章

  1. Linux汇编教程02:编写第一个汇编程序

    学习一门语言,最好的方式就是在运用中学习,那么在这一章节中,我们开始编写我们的第一个汇编程序.当然作为第一个程序,其实十分的简单,但可以给大家一个基本的轮廓,了解汇编大概是这样的. 我们这个程序实际上 ...

  2. 0x01第一个汇编程序

    ;将由text db 10,20,30,40定义的4个数相加,并输出其和. .386    ;指明指令集 .model flat,stdcall ;平坦模式,函数右边的参数先入栈 option cas ...

  3. 在VS2019使用MASM编写汇编程序

    具体的配置步骤可以参考: 汇编环境搭建 Windows10 VS2019 MASM32 本文主要是入门向的教程,VS2019中要调用C语言函数需要加上 includelib ucrt.lib incl ...

  4. Intel格式和AT&T格式汇编区别

    一.AT&T 格式Linux 汇编语法格式 在 AT&T 汇编格式中,寄存器名要加上 '%' 作为前缀:而在 Intel 汇编格式中,寄存器名不需要加前缀.例如: AT&T 格 ...

  5. 操作系统内核Hack:(一)实验环境搭建

    操作系统内核Hack:(一)实验环境搭建 三四年前,心血来潮,入手<Orange's:一个操作系统的实现>学习操作系统内核,还配套买了王爽的<汇编语言(第二版)>和<80 ...

  6. (转) at&T语法格式 与 at&T - intel格式对比

    原地址 示例: movl (%ebp), %eax, 等同于Intel格式中的 ] ,AT&T中,源操作数在左,目的操作数在右.“l”是Longword,相当于Intel格式中的dword p ...

  7. 汇编语言程序环境搭建masm+debug64位 win10/7

    介绍:MASM是Microsoft Macro Assembler 的缩写,是微软公司为x86 微处理器家族开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译 ...

  8. Linux下AT&T汇编语法格式与Intel汇编语法格式异同

    由于绝大多数的国内程序员以前只接触过Intel格式的汇编语言,很少或几乎没有接触过AT&T汇编语言,虽然这些汇编代码都是Intel风格的.但在Unix和Linux系统中,更多采用的还是AT&a ...

  9. 小甲鱼汇编语言学习笔记——day03

    手动编译并执行第一个汇编程序过程: 1.用notepad++写一个简单的汇编程序(文件命名为:1.asm): assume cs:abc abc segment mov ax, 2 add ax, a ...

随机推荐

  1. np_utils.to_categorical

    https://blog.csdn.net/zlrai5895/article/details/79560353 多类分类问题本质上可以分解为多个二分类问题,而解决二分类问题的方法有很多.这里我们利用 ...

  2. Mysql无法创建函数解决办法

    执行: set global log_bin_trust_function_creators =1; 原文参照:http://www.cnblogs.com/xd502djj/archive/2012 ...

  3. poj1135

    Domino Effect Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10454   Accepted: 2590 De ...

  4. [POI2006]SZK-Schools

    [POI2006]SZK-Schools luogu #include<bits/stdc++.h> using namespace std; const int N=405,M=1e5+ ...

  5. docker 存储定义成direct-lvm 模式

    配置direct-lvm模式 1.  停止Docker systemctl stop docker 2.  安装依赖包 device-mapper-persistent-data,lvm2, and ...

  6. git clone了整个远程仓库分支

    git之远程标签下载(远程分支) 一般我们发布一个新版本到线上服务器时都会在版本库中打一个标签,这样我们可以随时查看这个打标签的版本,就是说标签其实是版本库中一个快照.git的标签与分支类似,区别是分 ...

  7. 关于Ninja中上传下载文件

    上传得时候 根据类型来判断一下: 然后下载的时候需要:在url的最后一个/ 后面加上你要下载的类型如/download/app.apk; 下载成功就是app.apk了;

  8. 特性,批次特性建立的BAPI函數

    [转http://taijizhang.blog.163.com/blog/static/176071381201442225514453/] SAP特性,物料特性,批次特性建立的BAPI函數 类的T ...

  9. [原创]java WEB学习笔记31:会话与状态管理 session机制 概述(定义,session机制,session的声明周期,保存session的方式,Session的创建与删除)

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  10. python核心编程3-13

    3.13: 添加新功能. 将你上一个问题改造好的readNwriteTextFiles.py 增加一个新功能: 允许用户编辑一个已经存在的文本文件. 你可以使用任何方式,无论是一次编辑一行,还是一次编 ...