汇编语言源程序的书写格式

发布者:liliukan最新更新时间:2018-05-20 来源: eefocus关键字:汇编语言  源程序  书写格式 手机看文章 扫描二维码
随时随地手机看文章

汇编语言对源程序有严格的格式要求,格式正确,汇编程序才能确切翻译源程序,形成等价的机器指令.汇编语言程序格式就是汇编语言必须遵守的语法规则.

汇编语言有两种书写形式:简化段定义格 式和完整段定义格式 .......

一、简化段定义格式的汇编源程序如下:

;filename.asm
.model small                        ;定义程序的存储模式(一般采用small)
.stack                                  ;定义堆栈段
.data                                   ;定义数据段
.......                                   ;定义数据
.code                                  ;定义代码段
.startup                               ;程序起始点,并建立DS,SS内容
...........                               ;程序代码
.exit 0                                 ;程序结束点,返回DOS
...........                               ;子程序代码
end                                     ;汇编结束

因为MASM5.0/5.1不支持.startup和.exit 0,需要将.startup和.exit 0修改为以下形式,同时要修改end

.startup————〉  start:   mov ax,@data
                                       mov ds,ax

.exit 0————〉               mov ax,4c00h        ;返回DOS
                                       int 21h

end ————〉                  end start               ;汇编结束,程序起始点为标号start处

二、完整段定义格式的汇编源程序如下:

;filename.asm
stack        segment                                     ;定义堆栈段stack
               ............                                      ;分配堆栈段的大小
stack        ends                                           ;堆栈段结束
data         segment                                      ;定义数据段data
               ............                                       ;定义数据
data         ends                                            ;数据段结束
code         segment  'code'                            ;定义代码段
               asuume cs:code,ds:data,ss:stack    ;确定CS/DS/SS指向的逻辑段
start:       mov ax,data                                  ;设置数据段的段地址DS
               mov ds,ax
               ..............                                      ;程序代码
               mov ax,4c00h                                ;返回DOS
               int 21h
code        ends                                              ;代码段结束
           ............                                            ;子程序代码
               end  start                                      ;汇编结束,程序起始点为start

关键字:汇编语言  源程序  书写格式 引用地址:汇编语言源程序的书写格式

上一篇:MSP430学习的第一个模拟I2C程序
下一篇:单片机 MSP430 模拟IIC编程(1)

推荐阅读最新更新时间:2024-03-16 16:03

mips汇编语言程序设计实例
MIPS汇编语言学习 首先是: next_a: bne $v0, ‘a’, next_b #依次判断该字符是否是a,b,c,……,A,B,C,……,1,2,3,……,9,0。若是,则输出对应的串,跳转到main,进行下一次输入与判断,若都不是,则输出‘*’,跳转到main,进行下一次输入与判断。 li $v0, 4 #下同,不再赘述 la $a0, a syscall j main .asciiz 表示输出一个字符串,以“\n“换行符结尾。 .data 定义变量 a: .asciiz “Alpha ”。 等于: String a=“Alpha ”; MIPS汇编程序设计 实验目的 1. 掌握QTSPIM的调试技术 2. 了解MIP
[嵌入式]
串口调试助手源程序
1.建立项目 2.在项目中插入MSComm控件 3.利用ClassWizard定义CMSComm类控制变量 4.在对话框中添加控件 5.添加串口事件消息处理函数OnComm() 6.打开和设置串口参数 7.发送数据 8.发送十六进制字符 9.在接收框中以十六进制显示 10.如何设置自动发送 11.什么是VARIANT数据类型?如何使用VARIANT数据类型?   这是串口调试助手源程序及编程详细过程(一)的续篇,首先谢谢朋友们的支持与鼓励。 8.发送十六进制字符 在主对话框中加入一个复选接钮,ID为IDC_CHECK_HEXSEND Captio
[模拟电子]
基于51单片机的音量控制电路与程序设计
1 引言 本文介绍的音量控制IC为M62429,市面上有很多类似的产品,例如:FM62429、CD62429、CSC62429等。其实,掌握了一两种IC的编程方法,稍作改动就很容易移植到其它产品上。M62429是日本三菱公司的音量控制IC,音量调节范围是0~-83dB,控制精度每步1dB,内部电路如图一(详见M62429的使用手册)。 图一 M62429内部电路 2 硬件电路 根据图一而设计的电路如图二。 图二中已省略了单片机与功放连接的其他电路,只剩下AT89C52的晶振部分、与M62429相关的电路、控制音量必需的按键电路等,加上电源之后,该电路可以独立工作。由于AT89C52真正的串口已用于其他用途,
[单片机]
基于51单片机的音量控制电路与程序设计
ARM汇编语言入门
Part1:ARM汇编介绍 处理器arm VS. intel ARM与Intel有诸多不同,最主要的区别是指令集。Intel是复杂指令集(CISC:Complex Instruction Set Computing)处理器,拥有功能更多更丰富的指令,允许对内存进行更复杂的操作。因此也拥有更多的指令操作,寻址模式,然而寄存器数量却比ARM少。CISC处理器主要应用在个人电脑,工作站,服务器当中。 ARM是精简指令集(RISC:Reduced Instruction set Computing)处理器,拥有更简单的指令集(少于100个)和更多的通用寄存器。与Intel不同,ARM指令只操作寄存器,且只能使用Load/Stroe(取
[单片机]
ARM<font color='red'>汇编语言</font>入门
单片机60S倒计时汇编语言
ORG 0000H AJMP MAIN ORG 000BH AJMP INTT0 ORG 0030H MAIN: MOV R7,#60 MOV R6,#00H MOV DPTR,#TABLE MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#3CH ;设置定时器工作方式、初值 SETB EA SETB ET0 SETB TR0 NEXT: MOV A,R7 MOV B,#0AH DIV AB SETB P1.3 MOVC A,@A+DPTR MOV P0,A CLR P1.4 ;开启shi位显示
[单片机]
常用的电子密码锁源程序精华
;******************************************** ;********* 电子密码锁 ********* ;******************************************** ;********* 2005/12/24 ********* ;******************************************** ;显示缓冲区 ;LED1 EQU 6FH BUFF EQU 6EH TIMERS1 EQU 6DH ;输入回车的次数 TIMERS2 EQU
[单片机]
16F876控制的电动自行车驱动系统源程序
16F876控制的电动自行车驱动系统源程序 LIST P=16F876 #INCLUDE P16F876.INC ;以下采用块定义的方法定义单片机内部寄存器 CBLOCK 0X20 ;自定义寄存器从0X20开始 FLAG1 ;FLAG1作为标志寄存器 VOLTAGEH ;电池电压高位寄存器 VOLTAGEL ;电池电压低位寄存器 TSH ;手柄电压高位寄存器 TSL ;手柄电压低位寄存器 STATE1 ;霍尔信号采样暂存器1 STATE2 ;霍尔信号采样暂存器2 STATE3 ;霍尔信号采样暂存器3 DELAY ;延时计数器 COUNT_VOL ;低电压采样次数计数器 ACCaLO ;ACCa~ACCd为
[单片机]
STM32的数据类型基础介绍
首先说一下编程过程中几个步骤吧 第一,选择一门语言,C语言或汇编语言,嵌入式编程一般目前流行还是C,这个需要基础与时间 第二读懂了解 MCU的寄存器各寄存器的功能,尤其是一些IO口设置,各模块时钟设置比如定时器,I2C,同步异步串口,PWM等等,以前的话51的话没有这样设置。而现在MCU基本上各模块时钟都分开了。这个可以看官方数据说明书就可以了。 其实程的目的就是设置一系列寄存器.并根据你设计程序流程去执行它,期间可能加入了你设计好的一些算法,和数学公式。进行计算,或执行。 第三,你有一块你的实验板就如这次STM32推的F429,你还需要下载程序的编程器。就是把编译器编译好的代码下载到你的目标实验板上,不过ST推的多数
[单片机]
STM32的数据类型基础介绍
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved