第一个汇编程序hello world

2023-11-12

        近来,看了看以下汇编视频,终于学了第一个汇编程序—hello world,下面分享以下程序的各部分代码和注释,希望大家有所帮助。

程序源码如下:

assume cs:code,ds:data ;定义代码段和数据段框架


data segment  ;数据段
msg db "hello world";定义字符串
data ends


code segment  ;代码段
start: 
    mov ax,data
    mov ds,ax   ;数据段初始化


    mov bx,0b800h ;将b800h地址空间拷贝到es段寄存器中
    mov es,bx         ;b800h/数据不能直接拷贝到es中,用通用寄存器bs转移给es
    mov cx,11         ;将11赋给cs通用寄存器--字符串循环11次
    mov ah,01000010b  ;字符属性红底绿字


    mov si,0
    mov bx,0 ;初始化
      s:mov al,ds:[si]     ;s:loop循环标号
    mov es:[bx],al         ;es,ds 获取第一个字符地址,字符地址=段地址+偏移地址
    mov es:[bx+1],ah    ;字符后面紧接字符属性
    inc si                       ;使ax 每次加1
    add bx,2                  ;每次bx加2
    loop s                      ;循环结束
    
    mov ax,4c00h          ;防止一闪而过
    int 21h 
    
code ends
end start



以下是运行结果:



感悟:汇编写程序似乎有点难度,首先得知道很多寄存器,然后要知道如何使用寄存器,然后才能开工啊!就拿hello world为例,要把字符挨个拷贝到显存地址空间才能显示字符,因此要使用循环语句;在赋值是不能像平常语言一样直接赋值,很多时候需要把值和数据传给通用寄存器,然后再通过通用寄存器传给其它特定寄存器。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第一个汇编程序hello world 的相关文章

  • markdown常用语法

    排版常用功能 在我们排版时 使用得最多的无非就是以下几种效果 标题 加粗 斜体 删除线 无序列表 有序列表 引用 代码块 分割线 标题 标题分为六个级别 几个 就是几级标题 需要注意的是 和标题之间要有空格 加粗 这是粗体效果 也就是在文字
  • win10 64位 Compaq Visual Fortran(CVF)安装教程

    最近需要调试下fortran程序 它是fortran与c混编的 因此simply Fortran还不能满足需求 IVF还会涉及版本兼容与移植的问题更不想用 于是上网搜了下关于安装CVF的资料 发现似乎CVF的安装并不容易 甚至还有说不能安装
  • 字符编码和字符集

    编码和解码 按照某种规则 将字符存储到计算机中 称为 编码 那么 将计算机中的二进制数据按照某种规则解析显示出来 称为 解码 字符编码 就是一套自然语言的字符和二进制数据之间的对应规则 把这种对应规则 写成一张表 就是 编码表 也叫字符集
  • 推荐三款最好用的压缩/解压软件

    写在前面 推荐三款特别好用的压缩 解压软件 Bandizip WinRAR 7 Zip 这三款软件也分别代表了三种常用的压缩格式 zip rar 7z 压缩格式 格式 优点 速度 zip 兼容性好 快 rar 私有格式 中 7z 压缩率高
  • java中正则表达式的基本使用

    正则表达式的常用语法 正则在线检验 http tool chinaz com regex 更多地语法可以参考jdk api中的Pattern类 http tool oschina net apidocs apidoc api jdk zh
  • 阿里云服务器搭建hadoop2.7伪分布式环境

    零 写在前面 服务器 centos7 6 jdk1 8 hadoop2 7 这个其实没有什么影响 都可以参照这个教程进行搭建 一 防火墙设置 停止防火墙 systemctl stop firewalld service 禁止防火墙开机自启动
  • rest以及restful的基本理解

    传统下的API接口 http是目前在互联网上使用最多的协议 没有之一 可是http的创始人一直都觉得 在过去10几年来 所有的人都在错误的使用Http 这句话怎么说呢 如果说你要删除一个数据 以往的做法通常是 delete id 如果你要更
  • java文档注释的基本认识

    Java 程序员都应该知道 JDK 开发最好的帮助信息就来自 SUN 发布的 Java 文档 它分包分类地提供了各方法 属性的帮助信息 具有详细的类树信息 索引信息等 并提供了许多相关类之间的关系 如继承 实现接口 引用等 Java 文档全
  • Chrome 浏览器的 PDF 插件使用了 Foxit PDF SDK

    Chrome 浏览器的 PDF 插件使用了 Foxit PDF SDK 2010年8月22日 Chrome的内置PDF插件实际上有使用Foxit的PDF SDK 如果你查看这个网页会找到Chromium的一些PDF功能多次用到Foxit的S
  • 油猴(Tampermonkey)安装教程

    油猴简介 Tampermonkey 油猴 是一款免费的浏览器扩展和最为流行的用户脚本管理器 它适用于 Chrome Microsoft Edge Safari Opera Next 和 Firefox 虽然有些受支持的浏览器拥有原生的用户脚
  • 有关数据结构上机实验的问题

    1 收到学弟提醒 http chuantu xyz t6 741 1605524547x 1566660945 png 本实验不允许公开实验代码 2 原专栏设置付费 本意是希望大家不要再看了 但是有同学订阅了 特此表示歉意 考虑不周 3 原
  • regsvr32 /i hhctrl.ocx出现无法注册

    运行 输入regsvr32 i hhctrl ocx出现无法注册hhctrl ocx 无法找到dllinstall输入点 无法注册这个文件 在另一台电脑c windows system32 itss dll拷这个文件过去另一电脑的同一路径
  • mac笔记--csshX failed--compilation aborted at /usr/local/bin/csshX line 1130

    mac笔记 csshX failed compilation aborted at usr local bin csshX line 1130 介绍 操作 说明 介绍 笔者最近将 mac 升级到最新版本 Big Sur 导致 csshX 无
  • Linux下搭建第一个区块链网络(FISCO BCOS)

    Linux下搭建第一个区块链网络 FISCO BCOS 概述 搭建单群组FISCO BCOS联盟链 配置及使用控制台 部署及调用HelloWorld合约 概述 FISCO BCOS是由国内企业主导研发 对外开源 安全可控的企业级金融联盟链底
  • 信息安全导论复习题

    一 判断题 在本题的每一小题的括号中 正确的填入 错误的填入 每题 2 分 1 F 网络软件的漏洞和 后门 没有区别 2 F 网络物理威胁中的身份识别错误与身份鉴别威胁具有相同的意义 3 T 电子窃听不一定要把窃听设备安装在线路上 4 F
  • 李开复创业了

    上周五9月4日 一看新闻 头条就是 李开复离开Google 准备创业 等新闻 我吓了一跳 李开复作为全球一流企业的高管 居然都辞职不干了 记得李开复在大学生心目中一直都是导师的身份 他为我们写了7封信了 教导着中国的新生代怎么面对困难 积极
  • 分享一个最好用的剪切板管理软件

    对于每一个离不开电脑的朋友来说 不断的复制 粘贴 剪切 粘贴 是常有的事 而且电脑断电 程序异常退出 因手欠而错关了编辑器等类似噩梦经常发生 之前我找到一个名叫 M8 Free Clipboard 是用起来还算方便 可是免费用户只能保存有限
  • 本地部署你的专属ChatGPT,不用想方设法翻墙了

    自ChatGPT问世以来 由于安全问题ChatGTP始终没有在国内提供服务 那访问ChatGTP有条件的就通过专线到国外进行访问 没条件的但喜欢折腾的可以通过各种野路子科学上网 没条件不喜欢折腾的听听就行 无意间在gitHub上发现了一个开
  • 《阿甘正传》英文原版剧本(场景+台词)(看电影学英语的最佳材料)

    当前在我朝可以下载到的 阿甘正传 的视频对应的所有版本的字幕 貌似都是字幕制作者听出来的结果 客气地说 这些版本的字幕都是不 完整 的 或者说 都是错误百出 当然 这对理解电影的剧情影响不大 但是 如果想通过看电影学英语的话 如此质量的字幕
  • HttpUtils——助力高效网络通信

    使用HttpClient发送请求 接收响应很简单 一般需要如下几步即可 1 创建HttpClient对象 2 创建请求方法的实例 并指定请求URL 如果需要发送GET请求 创建HttpGet对象 如果需要发送POST请求 创建HttpPos

随机推荐

  • git:一次回滚多个commit

    说明 独立分散的commit共同回滚 git revert n sha 1 git 单次commit对应的sha 1值 sha 1 sha 1 ps n代表不会生成新的commit 如果想直接生成commit请去掉 n 最近连续的coomi
  • hr谈薪资后说请示领导_如何巧妙回答面试中的薪资问题呢?

    好不容易挺过了群面 单面 没想到在HR面被薪资问题打个措手不及 你的期望薪资是多少 说低了总觉得委屈自己 说高了又怕offer不保 好不容易在前面几轮面试积攒的自信 在这个问题上就变成 emm差不多就行吧 然后面试一结束就开始无限后悔 对于
  • 【ML特征工程】第 1 章 :机器学习管道

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • STM32F407 单片机+DMA+环形缓冲区+GPS报文解析

    本文采用DMA 环形缓冲区对GPS报文进行解析 思路是通过DMA中断接收到GPS报文后 存放到环形缓冲区 然后在主程序中解析GPS报文 解析GPS报文的关键是 将环形缓冲区中的字节转换成字符串 然后在字符串中查找GPS报文头标识 例如 GP
  • Block头部解析

    Block解析介绍了Block的各个组成部分 魔法数 块大小 块头部 交易个数 交易 本文将详细介绍块魔法数和块头部的各个组成部分 魔法数 魔法数是比特币客户端解析Block数据时的识别码 比特币正式网络的魔法数是0xD9B4BEF9 不同
  • 地图标识符号大全_资源小结:分省地图查询(9.1版)

    公众号首页回复关键字 分省地图 或通过菜单栏可以快速找到本页 本页内容不断更新 建议收藏起来备查 北京市 北京市最新行政区划图 行政统计表 图集下载 北京市地图集 分区 北京市人文地图 高清版 北京经典旅游线路图 北京城区地图 一亿像素高清
  • vue3和ts使用

    Vue3和TypeScript是两个非常流行的前端技术 它们都有着自己的优点和特点 Vue3是Vue js的最新版本 它带来了很多新的特性和改进 包括更好的性能 更好的开发体验和更好的可维护性 TypeScript是一种静态类型语言 它可以
  • 一文搞懂STM32 PWM配置

    本文主要介绍通过CubeMX对STM32G070CBT6进行配置生成PWM波 内容包括PWM的基本概念 PWM的应用 PWM产生的方法 STM32 PWM波配置详解 1 PWM PWM 英文名Pulse Width Modulation 是
  • 02-不得不了解的js特性

    一 回顾js特性 针对浏览器端js 它有哪些特性 弱类型 解释型 1 弱类型 所谓强类型 就意味着在声明变量的时候 需要确定数据类型 一经确定就不能改变 而弱类型 在声明变量的时候 是无需声明变量的类型 变量的类型有其值来决定 并且是可以随
  • 使用pyecharts出现 'ModuleNotFoundError: No module named 'pyecharts_snapshot' 异常

    使用pyecharts时 出现 ModuleNotFoundError No module named pyecharts snapshot 试了几次都无法解决 突然想到 pyecharts snapshot 会不会也是一个第三方库 毕竟异
  • MySQL 列属性修改操作

    1 mysql中修改字段长度 sql view plain copy ALTER TABLE tb article MODIFY COLUMN NAME VARCHAR 50 这里的tb article为表名 NAME为字段名 50为修改后
  • Vue 组件的单元测试

    1 基本的示例 单元测试是软件开发非常基础的一部分 单元测试会封闭执行最小化单元的代码 使得添加新功能和追踪问题更容易 Vue 的单文件组件使得为组件撰写隔离的单元测试这件事更加直接 它会让你更有信心地开发新特性而不破坏现有的实现 并帮助其
  • [docker]笔记-网络管理

    1 docker网络原理 docker安装完成后 会在宿主机中创建一个虚拟网桥 用于容器之间和容器与外部网络的连接 虚拟网桥通常名称为docker0 可以使用ip link show命令进行查看 在docker中 各个容器是通过这个dock
  • 虚拟+现实

    随着现代信息技术与软硬件技术的快速发展 嵌入式系统的功能日益强大 嵌入式设备和软件应用领域越来越宽泛 近年来 嵌入式软件代码量呈爆炸式增长 对测试的要求越来越高 尤其是涉及防务 航空 汽车等安全关键领域 半实物仿真测试系统的研制难度适中 投
  • 合宙Air103

    基础资料 基于Air103开发板 Air103 LuatOS 文档 上手 开发上手 LuatOS 文档 探讨重点 对官方I2C demo中功能的复现 进行相关内容的学习及探讨 实现功能 功能2 三轴加速度陀螺仪 MPU6050模块 硬件准备
  • Typora+PicGo-Core上传服务设置

    一 Typora中安装PicGo Core 二 安装插件 Win10为例 首先点击验证图片上传选项根据提示找到安装路径 我的路径为C Users 86137 AppData Roaming Typora picgo win64 picgo
  • Qt5.14版本通用环境配置安装——最详细教学(看不懂,你怪我)

    大家好 我是会飞的鱼 blog 今天我来给大家介绍一下Qt5 14 1安装 有不足之处 请大家多多指教 感谢大家支持 目录 前言 安装文件下载 安装 设置 QtCreator 编译路径 设置 Qt 源码路径 以上就是全部安装步骤 已经完成
  • moxa串口服务器型号,moxa串口服务器产品配置说明

    moxa串口服务器产品配置说明 内容精选 换一换 为弹性云服务器配置的安全组规则未生效 以下排查思路根据原因的出现概率进行排序 建议您从高频率原因往低频率原因排查 从而帮助您快速找到问题的原因 如果解决完某个可能原因仍未解决问题 请继续排查
  • 实现一个Android锁屏App的难点总结

    http blog csdn net ldld1717 article details 69389125 https segmentfault com a 1190000007157971 自定义一个漂亮实用的锁屏app 如果能赢得用户的认
  • 第一个汇编程序hello world

    近来 看了看以下汇编视频 终于学了第一个汇编程序 hello world 下面分享以下程序的各部分代码和注释 希望大家有所帮助 程序源码如下 assume cs code ds data 定义代码段和数据段框架 data segment 数