汇编程序输出“Hello world”的实现

学了一个学期的汇编了,该复习复习了。大后天就要开始开微机原理了。先那把些上机做过的题再拿出来写写~

在DOS窗口上面输出“Hello world”

程序如下:

 DATA  SEGMENT  ;定义数据段 

STRING  DB  ‘Hello World', $; 定义一个字符串,记得要以$为结束标志

DATA  ENDS     ;数据段结束

STACK SEGMENT PARA STACK  ;堆栈段定义开始

   DW  20H  DUP   (0) ;为堆栈段分配空间

STACK ENDS

CODES SEGMENT  ;代码段定义开始

ASSUME CS:CODES.DS:DATAS ;通知汇编程序,源程序中定义的组由对应的段寄存器进行段的寻址

START

      MOV   AX , DATAS ;实现段地址DATAS加载到DS

      MOV  DS , AX

     LEA   DX, STRING :取STRING的偏移地址到DX中

     MOV  AH , 09H     ;调用9号功能调用输出字符串

     INT  21H

     MOV AH  4CH      ;实现返回MOS-DOS窗口

     INT 21H

 CODES ENDS  ;代码段结束

  END START   ;整个程序结束

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 详解如何在Mac上用汇编语言写HelloWorld

    首先,Mac自带nasm,不过我们要先将其升级. 升级它的方法有很多种,因为我已经装好了homebrew,所以我直接在终端输入: brew install nasm 这样就升级啦- 接下来,创建一个HelloWorld.asm文件! msg: db "hello world!", 0x0a len: equ $-msg SECTION .text global _main kernel: syscall ret _main: mov rax,0x2000004 mov rdi,1 mo

  • 汇编程序输出“Hello world”的实现

    学了一个学期的汇编了,该复习复习了.大后天就要开始开微机原理了.先那把些上机做过的题再拿出来写写- 在DOS窗口上面输出"Hello world" 程序如下: DATA SEGMENT ;定义数据段 STRING DB 'Hello World', $; 定义一个字符串,记得要以$为结束标志 DATA ENDS ;数据段结束 STACK SEGMENT PARA STACK ;堆栈段定义开始 DW 20H DUP (0) ;为堆栈段分配空间 STACK ENDS CODES SEGME

  • Python算法输出1-9数组形成的结果为100的所有运算式

    问题: 编写一个在1,2,-,9(顺序不能变)数字之间插入+或-或什么都不插入,使得计算结果总是100的程序,并输出所有的可能性.例如:1 + 2 + 34–5 + 67–8 + 9 = 100. from functools import reduce operator = { 1: '+', 2: '-', 0: '' } base = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] def isHundred(num): #转化为8位3进制数,得

  • document.write与writeln的输出内容区别说明

    document.write() //将内容写入文档,当前编辑位置为写入的内容的后一个字符 document.writeln() //将内容写入文档,并添加一个换行符,当前编辑位置为写入的内容的后一行 document.write()和document.writeln都是JavaScript向客户端写入的方法,writeln是以行方式输出的,但并不是指页面实际效果中的换行,两种方法在查看源代码时才看得出区别,除非是输出到pre或xmp元素内 测试一下: with(window.open()){

  • php实现的中秋博饼游戏之掷骰子并输出结果功能详解

    本文实例讲述了php实现的中秋博饼游戏之掷骰子并输出结果功能.分享给大家供大家参考,具体如下: 前面讲述了php实现的中秋博饼游戏之绘制骰子图案功能,纯php实现,就要用php来生成图案,第一步就先绘制骰子图案.下面就是编码实现业务逻辑,具体代码如下: <?php class roll { private $_defRank = 'lk'; public function lottery() { $dice = $this->rollDice(); $format = $this->fo

  • 使用Lable控件输出九九乘法表

    利用Lable控件输出九九乘法表,具体内容如下 首先建立一个空网站,之后选择添加新项,添加一个Web窗体. 进入.aspx文件之后,在设计界面中添加9个Lable控件.Lable控件在标准组中.得到的源代码是这样的. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="WebForm4.aspx.cs" Inherits="WebForm4" %> <

  • Flex 输出文件到本地的两种方法

    在flex中输出文件到本地目前我用到两种方法,分别是File和FielRefreence 例子: var exportString:String = "这就是一个测试" 1.File输出 复制代码 代码如下: var ff:File = File.desktopDirectory.resolvePath("Progress.CSV"); ff.addEventListener(Event.SELECT,exportCSVSelectedHandler); ff.br

  • AngularJS 中的数据源的循环输出

    AngularJS 中的数据源的循环输出 最近也是刚刚接触angular前端框架的,但使用的几天就感觉效果比较明显,尤其是在数据的输出效果上来看,比原生的js的编程效率要高许多,所以这也就是为什么许多公司都要求前端开发需要你熟悉使用前端框架了,可以更快的提高项目的效率.今天想要说的就是在使用angular前端框架的时候的数据源的循环输出. 把数组中的数据循环输出到页面上,如果使用的js的方法的话就是需要对数组进行for循环输出,并且在输出的时候是对页面中的DOM层中的节点进行操作的,而如果使用前

  • 教你如何使用PHP输出中文JSON字符串

    复制代码 代码如下: json_endoce: http://cn.php.net/json_encodejson_dedoce: http://cn.php.net/json_decode json_encode - 对变量进行 JSON 编码,并返回 value 值的 JSON 形式,例如: 复制代码 代码如下: <?php$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);echo json_encode($arr)

  • AngularJS入门(用ng-repeat指令实现循环输出

    循环输出列表很多项目在web服务端做,前端做好模版后后端写jsp代码,双方需要紧密合作,分清责任.有些项目由后端提供restful方法,前端用ajax调用自己循环,这种一般是大把的jquery拼字符串,太不直观,有人搞出了js模板,也没好到哪里去. 用AngularJS就爽多了,语法和JSP类似: <!doctype html> <html ng-app> <head> <meta charset="utf-8"> <title&g

  • Java输出链表倒数第k个节点

    问题描述 输入一个链表,输出该链表中倒数第k个结点.(尾结点是倒数第一个) 结点定义如下: public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } 思路1: 先遍历链表,计算其长度length; 然后计算出倒数第k个结点就是正数第length - k + 1. 最后再遍历链表,找到所求结点 时间复杂度O(2n),需要遍历两次链表 代码如下: public List

随机推荐