微机原理 第三章8重点.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言程序员看到的硬件 中央处理单元 CPU(Intel 80x86) 对汇编语言程序员,最关心其中的寄存器 存储器(主存储器) 呈现给汇编语言程序员的,是存储器地址 外部设备(接口电路) 汇编语言程序员看到的是端口(I/O地址) 汇编语言程序的开发过程 集成化开发环境 进行程序设计使用的各种软件的有机集合,有文本编辑器,有语言翻译程序,有连接程序,还组合有调试程序等 大型的程序设计项目往往要借助这种集成开发环境,也就是软件开发工具(包) MASM提供程序员工作平台PWB 微软的Visual Studio开发系统 MASM编程环境的使用 进入模拟DOS环境 将MASM目录作为当前目录 开发汇编语言程序 ml /Fl filename.asm 运行可执行程序 调试可执行程序 3.汇编语言的程序格式 完整的汇编语言源程序由段组成 一个汇编语言源程序可以包含若干个代码段、数据段、附加段或堆栈段,段与段之间的顺序可随意排列 需独立运行的程序必须包含一个代码段,并指示程序执行的起始点,一个程序只有一个起始点 所有的可执行性语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内 通常,程序还需要一个堆栈段 源程序分别用两种格式书写 第一种格式MASM 5.0以前就具有 完整段定义格式 第二种格式从MASM 5.0开始支持 简化段定义格式 完整段定义格式 MASM 5.x支持 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 简化段定义格式 MASM 5.x支持 .MODEL SMALL .STACK .DATA ... ;在数据段定义数据 .CODE START: MOV AX,@DATA MOV DS,AX ... ;在代码段填入指令序列 MOV AX,4C00H INT 21H ... ;子程序代码 END START 简化段定义格式 MASM 6.x支持 .MODEL SMALL .STACK .DATA ... ;在数据段定义数据 .CODE .STARTUP ... ;在代码段填入指令序列 .EXIT 0 ... ;子程序代码 END 完整段定义 data segment ;定义数据段 string db ’Hello, Everybody !’,0dh,0ah,’$’ data ends stack segment stack ;定义堆栈段 dw 512 dup(?) ;堆栈段有512字(1024字节)空间 stack 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 ;汇编结束,同时指明程序起始点 简化段定义 .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 ;汇编结束 [例题] 编程显示字符串 ;数据段 ;在数据段给出这个字符串形式的信息: Msg DB Hello, Assembly ! ,13,10,$ ;定义要显示的字符串 ;代码段 ;在代码段编写显示字符串的程序: mov dx,offset msg ;指定字符串在数

文档评论(0)

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

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

1亿VIP精品文档

相关文档