码迷,mamicode.com
首页 > 其他好文 > 详细

汇编程序学习

时间:2017-11-07 00:09:49      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:结束   功能   代码段   star   开始   sum   一个   segment   编程   

data segment          ;定义数据段,数据存放的地方,segment表段的开始,ends结束,data为段名,编译后变为地址
tab db ‘hello world$‘         ;定义变量 汇编定义变量的格式为【变量名】【变量类型】【数值列表】

                                           ;变量类型有db(字节,字符串存储必须用这个)dw(字,即两字节)       

                                           ;dd(双字)数值列表用逗号隔开,字符串单引号和双引号均可

                                            ;$可用作串结束符 ,也可代表当前地址
data ends 

code segment                  ;代码段

assume cs:code, ds:data ;假设某一段寄存器和程序的某一个段关联

start: mov ax,data

         mov ds,ax 

         lea dx,tab                  ;LEA指令可以将后者(可为数,变量名、标号或地址表达式)

                                             ;的地址传送到指定的的16位通用寄存器


         mov ah,9h                 ;这两句是实现DOS调用中的09号功能,就是在屏幕上显示字符串
         int 21h 


         mov ah,4ch                ;程序返回
         int 21h 
code ends 
end start                           ;表明汇编程序结束,不同于ends

 

汇编局部变量和全局变量:

全局变量和局部变量的体现是通过栈来实现的,即:
全局变量保存在数据段中,即伪代码中声明的DATA SEGMENT,任何时刻都能调用。
而局部变量则保存在栈段中,是伪代码中声明的STACK SEGMENT,平时不调用,

调用中断时把局部变量从栈里取出来

汇编程序学习

标签:结束   功能   代码段   star   开始   sum   一个   segment   编程   

原文地址:http://www.cnblogs.com/otaganyuki/p/7795506.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!