网站大量收购独家精品文档,联系QQ:2885784924

f汇编语言(第2版)第的4章.ppt

  1. 1、本文档共130页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
f汇编语言(第2版)第的4章

第四章 汇编语言程序组织;第四章 主要要求;4.1 汇编语言语句格式;语句格式; 名字域是语句的符号地址。可以由大小写英文字母、0~9数字、_、$、@、?等字符组成。名字不能以数字开头。 指令的名字叫做标号,必须以冒号结束。它提供给循环或转移指令的转向地址。 伪指令的名字可以是变量名、过程名、段名等。 名字具有三属性:段基址、偏移量和类型。 标号的类型有NEAR型和FAR型, 变量的类型有字节、字、双字、四字等。;助记符域:给出操作的符号表示。 可以是指令助记符或伪指令助记符等。例如加法指令的助记符是ADD。变量定义伪指令DW等。 操作数域:为操作提供必要的信息。 在执行语句中每条指令语句的操作数个数已由系统确定,例如加法指令有两个操作数。 在说明性语句中的参数大多由程序员根据需要确定,参数之间用逗号隔开。 注释域:用以说明本条语句在程序中的功能 注释以分号(;)开始,要简单明了。;4.2 汇编语言源程序结构;汇编语言源程序的组成原则;.exe程序;图4.1 exe程序的内存映象图;.com程序;图4.2 com程序的内存映象图;;sampl1.asm(文件名) stack segment stack ;定义堆栈段 dw 512 dup(?) ;堆栈段有512字空间 stack ends ;堆栈段结束 data segment ;定义数据段 string db ’Hello, Everybody !’,0dh,0ah,’$’ data ends code segment ’code’ ;定义代码段 assume cs:code,ds:data,ss:stack start: mov ax,data ;建立DS段地址 mov ds,ax mov dx,offset string mov ah,9 int 21h mov ax,4c00h int 21h ;利用功能调用返回DOS code ends ;代码段结束 end start ;汇编结束,指明程序起始点;stack segment stack dw 512 dup(?) stack ends data segment ... ;在数据段定义数据 data ends code segment ’code’ assume cs:code,ds:data,ss:stack start: mov ax,data mov ds,ax ... ;在代码段填入指令序列 mov ax,4c00h int 21h code ends end start; CODE SEGMENT ORG 100H ASSUME CS:CODE,DS:CODE MAIN PROC NEAR JMP START A DW 123 B DW 456 SUM DW ? START: MOV AX,A ADD AX,B MOV SUM,AX MOV AX,4C00H INT 21H MAIN ENDP CODE ENDS END MAIN;功能:将当前偏移地址指针指向参数表达的偏移地址。 说明:在汇编程序对源程序汇编的过程中,使用地址计数器保存当前正在汇编的语句地址(段内偏移量),汇编语言允许用户直接用$引用地址计数器的当前值。 例1.ORG 100H ;设置地址计数器的值为100H 例2.ORG $+6 ; MASM中,符号“$”表示当前偏移地址值。 ;使偏移地址加6,跳过6个字节的存储空间;; sampl1a.asm(文件名) .model small ;定义程序的存储模式 .stack ;定义堆栈段 .data ;定义数据段 string db ’Hello, Everybody !’,0dh,0ah,’$’ ;在数据段定义要显示的字符串 .code ;定义代码段 .startup ;程序起始点,建立DS、SS内容 mov dx,offset string ;指定字符串的偏移地址 mov ah,9 int 21h ;利用功能调用显示信息 .exit 0 ;程序结束点,返回DOS end ;汇编结束; .model small .stack .data ... ;在数据段定义数据 .code .startup ;(注1) ... ;在代码段填入指令序列 .exit 0 ;(注2) end ;(注3);对MASM 5.x的说明;4.3 常用伪指

文档评论(0)

ayangjiayu3 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档