• Hello World


    ;Program:Hello World
    ;
    Author:TryHard
    ;
    Date:2012/02/06

    SSEG: SEGMENT PARA STACK ;堆栈段
    DW 256 DUP(?) ;256大小
    SSEG ENDS

    DSEG SEGMENT ;数据段
    MESSAGE DB 'Hello',0DH,0AH,'$' ;0DH,0AH换行,以'$’结束
    DSEG ENDS

    CSEG SEGMENT ;代码段
    ASSUME CS:CSEG, DS:DSEG,SS:SSEG
    START:
    MOV AX,DSEG ;取得数据段基址
    MOV DS,AX ;设置数据段

    ;显示
    MOV DX,OFFSET MESSAGE ;取得MESSAGE基址
    MOV AH,9
    INT 21;

    ;结束
    MOV AH,4CH
    INT 21H
    CSEG ENDS
    END START

    总结:

       内存就是一个池塘,如果把一条鱼放入其中,过后再打捞出来,如果在池塘中放一些围栏标识养了哪些鱼,再这条鱼放入,过后再打捞. 两种方法都可以把鱼打捞出来 

    只是快慢而已.

       80X86中也是把内存分成数据段,堆栈段,代码段,在每个段中查找数据比在一个大内存中查找数据当然快得多,

      段是有大小,因为16位CPU只能做16位的运算,所以段空间只有 64KB大,也就是寻址能力只能在000H-FFFH中

      

    ;分析
    ;
    程序汇分为三个段:堆栈段,数据段,代码段
    ;
    程序入口从START开始执行
    ;
    Assume 关联各个段

    mov AX,DSEG;相当于 AX=DSEG
    mov DS,AX ; DS=AX

    MOV DX,OFFSET MESSAGE; OFFSET作用是得到变量MESSAGE 的地址
    MOV AH,9
    INT 21; ;中断功能用于显示DOS

    ;段的声明


    [NAME]: SEGMENT
    [NAME]: ENDS


     

  • 相关阅读:
    cookie 保存信息 例子
    win7 远程桌面 不用域账户登录
    jfreechart demo 源代码 下载
    PostgreSQL学习手册(数据表)
    apache tomcat 伪静态 struts2 伪静态
    List methods
    DX 骨骼动画
    如何成为一名优秀的程序员?
    程序员改编游戏向女友求婚
    引用 病毒是怎么命名的?教你认识病毒命名规则
  • 原文地址:https://www.cnblogs.com/pengshaomin/p/2340340.html
Copyright © 2020-2023  润新知