微型计算机原理第六章 汇编语言程序设计.ppt

微型计算机原理第六章 汇编语言程序设计.ppt

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

第6章 汇编语言程序设计 汇编源程序的编程格式.EXE .EXE:允许源程序使用多个逻辑段,在实模式下,每个逻辑段的目标块不超过64KB,适合编写大型程序; ;file name:11.asm .486 DATA SEGMENT USE16 MESG DB ‘HELLO’,ODH,OAH,’$’ DATA ENDS STACK_ SEGMENT PARA STACK ‘STACK’ USE16 DB 100 DUP(?) STACK_ ENDS CODE SEGMENT USE16 ASSUME CS:CODE,DS:DATA,SS:STACK_ BEG: …………….. CODE ENDS END BEG 分析!!!! 汇编源程序的编程格式.COM 要求: 源程序只允许使用一个逻辑段,即代码段,不允许设置堆栈段 程序使用的数据,可以集中设置在代码段的开始或末尾; 在代码段偏移地址为100H的单元,必须是程序的启动指令; 代码段目标块小于64KB ;file name:11.asm .486 CODE SEGMENT USE16 ASSUME CS:CODE ORG 100H BEG:JMP START MESG DB ‘HELLO’,ODH,OAH,’$’ START:…… CODE ENDS END BEG 分析!!! .EXE文件和COM文件的内存映象 EXE文件包括两部分:装入模块和重定位信息 自动生成一个有256个字节的数据快(PSP) DOS自动给DS,ES,FS和GS赋值,使DS=ES=存放PSP的段基址,FS=GS=0,并使GS:IP=用户程序的启动地址,SS:SP指向用户堆栈段的栈顶。 注意!!!! 返回DOS的方法 对EXE文件 1、MOV AH,4CH MOV AL,返回码 INT 21H 2、PUSH DS MOV AX,0 PUSH AX RET DOS系统I/O功能调用 用户程序通过INT 21H软中断指令调用DOS系统功能,调用模式如下: MOV AH,功能号 设置入口参数 INT 21H 分析出口参数 人机会话 .486 DATA SEGMENT UES16 MESG1 DB ODH,OAH,’what is your name?$’ MESG2 DB ‘?(Y/N)$’ BUF DB 30 DB ? DB 30 DUP(?) DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE,DS:DATA BEG:MOV AX,DATA MOV DS,AX AGAIN:MOV AH,9:显示字符串,相应ctrl_c MOV DX,OFFSET MESG1 INT 21H MOV AH,0AH;等待键入一串字符,送用户程序数据缓冲区 MOV DX,OFFSET BUF INT 21H MOV BL,BUF+1 MOV BH,O MOV SI,OFFSET BUF+2 MOV BYTE PTR [BX+SI],’$’ MOV AH,2;显示一个字符,相应 ctrl_c MOV DL,OAH INT 21H BIOS键盘功能调用 MOV AH,功能号 设置入口参数 INT n 分析出口参数 键盘输入子功能:INT 16H 屏幕操作功能:INT 10H 1、顺序程序设计 没有分支、循环等转移指令的程序,会按指令书写的前后顺利依次执行,这就是顺序程序 顺序结构是最基本的程序结构 完全采用顺序结构编写的程序并不多见 例:数据段和堆栈段 DATA SEGMENT USE16 VARX DW 6 VARY DW 7 RESULT DW ? DATA ENDS STACK SEGMENT USE16 DW 20 DUP(0) STACK ENDS 例:代码段 CODE SEGMENT USE16 PROC1 PROC FAR ASSUME CS:CODE,DS:DATA,SS;STACK START:PUSH DS MOV AX,0 PUSH AX;保护系统现场 MOV AX,DATA MOV DS,AX MOV DX,VARX; DX=X

文档评论(0)

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

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

1亿VIP精品文档

相关文档