- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 汇编语言程序设计;本章的学习目标;第四章 汇编语言程序设计;;4.1 汇编语言的语句格式;4.1 汇编语言的语句格式;含一条无条件转移指令的汇编文件;表达式是常数、寄存器、标号、变量与一些运算符组合的序列。;一、算术运算符; AND、OR、XOR和NOT,
它们只能用于数字表达式中。 ; 共有6个:EQ、NE、LT、LE、GT、GE。; 它可以把存储器一些特征作为数值送回。; 3. TYPE;4. LENGTH;; ; ;4.3 伪指令语句;一、数据定义语句;数据定义语句;例2:操作数可以是字符串
LI DB ‘HELLO’;;;二、表达式赋值语句;例: ┇
EMP=7 ;值为7
┇
EMP=EMP+1 ;值为8;三、 段定义语句;说明: ;需指出的一点,ASSUME伪指令只是告知汇编程序有关段寄存器与段的关系,除了代码段CS,其他几段并没有给段寄存器赋予实际的初值。如果程序用到了DS、SS、ES,则需要程序员在代码段的开始时对DS、SS、ES赋值。如下语句:
MOV AX,DATA
MOV DS,AX; 两个无符号二进制数相乘;四、 过程定义语句;五、 程序开始和结束语句;五、 程序开始和结束语句;4.4 常用DOS系统功能调用和BIOS;4.4 常用DOS系统功能调用和BIOS;例:程序中有时需要用户对提示做出应答。
GET_KEY: MOV AH,1 ;等待键入字符
INT 21H ;结果在AL中
CMP AL,’Y’ ;是’Y’?
JZ YES ;是,转YES
CMP AL,’N’ ;是’N’?
JZ NO ;是,转NO
JMP GET_KEY ;否则继续等待输入
YES: …
…
NO: …;(2)显示一个字符
功能号:02H。
入口参数:DL=要显示字符的ASCII码。
出口参数:无。;(3)显示一个字符串
功能号:09H。
入口参数:DS:DX=欲显示字符串在内存的首地址,且字符串必须以‘$’(24H) 作为结束符。
出口参数:无。;例:在屏幕上显示:’HELLO,WORLD!’
;在数据段定义字符串:
DATA SEGMENT
STR1 DB ‘HELLO,WORLD!$’
DATA ENDS
;在代码段中进行显示输出
MOV AH,9
LEA DX,STR1
INT 21H;(4)从键盘读入一个字符串
功能号:0AH。
入口参数:DS:DX=输入缓冲区首地址。
出口参数:无。
功能:从键盘读入一个字符串,存放DS:DX所??的 缓冲区。;MOV AH, 0AH
LEA DX, 字符串缓冲区首地址
INT 21H ;(5)异步通讯
功能号:03H、04H。
入口参数:03H无;04H为输出的8位数据在DL中。
出口参数:04H无;03H为输入的8位数据在AL中。;BIOS中断调用;4.4 常用DOS系统功能调用和BIOS;1.源程序结构;2.几个问题的说明;2.几个问题的说明;2.几个问题的说明;4.5 程序设计方法和上机调试;一、 汇编语言应用程序的开发过程;汇编语言应用程序的开发过程;汇编语言应用程序的开发过程;汇编语言应用程序的开发过程;汇编语言应用程序的开发过程;汇编语言应用程序的开发过程;汇编语言应用程序的开发过程
文档评论(0)