- 1、本文档共146页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微型计算机原理及应用第7章汇编语言与汇编程序重点
* * * * 用$表示,记录正在被汇编程序翻译的指令的地址 例:DATA SEGMENT BUF DB ’0123456789ABCDEF’ COUNT EQU $-BUF ;常量COUNT=上述字符的个数 DATA ENDS $的值由ORG设置,格式为: ORG 数值表达式 ;$=数值表达式的值 4.4 汇编地址计数器 源程序在代码段的开始需要对段寄存器与段之间的关系作设定,以便汇编程序根据给定的偏移地址和段寄存器计算出正确的物理地址。 格式: ASSUME 段寄存器:段名[,段寄存器:段名,……] 注:ASSUME只是告诉汇编程序段寄存器与段间的对应关系,并没有将段基址或段选择字置入对应的段寄存器中。程序最后运行时,CS和SS的内容由系统自动设置,但DS和ES必须由程序将其段基址或段选择字分别置入 。 4.5 段寄存器的设定 格式:END [表达式] 功能:标志整个源程序结束,即告诉汇编程序,汇编到此结束 表达式为可选项,必须是存储器地址,即程序的启动地址,常为过程名 不带表达式,则该程序不能单独运行,只是供其他程序调用的子模块 4.6 源程序的结束 80386的16位段模式的格式如下: .386 stack segment stack USE16 ?stack? dw 32 dup(0) stack ends data segment USE16 data ends code segment USE16 begin proc far assume ss:stack,cs:code,ds:data push ds sub ax,ax push ax mov ax,data mov ds,ax ret begin endp code ends end begin 4.7 宏汇编源程序的格式 8086的16位段模式的格式如下: stack segment stack ?stack? dw 32 dup(0) stack ends data segment data ends code segment begin proc far assume ss:stack,cs:code,ds:data push ds sub ax,ax push ax mov ax,data mov ds,ax ret begin endp code ends end begin 4.7 宏汇编源程序的格式 汇编语言与汇编程序 1 3 符号指令中的表达式 操作数的寻址方式 常用指令 2 伪指令 4 常用系统功能调用 5 IBM PC微机系统为汇编用户提供了两个程序接口,一个是DOS系统功能调用,另一个是ROM中的BIOS(Basic Input /OutpuT System)。它们由一系列中断服务子程序构成,由软中断指令 INT N 来调用,通过中断返回指令IRET返回 5 常用系统功能调用 1.调用的一般过程: 置入口参数 功能调用号→AH 执行INT 21H 分析出口参数 视具体情况而定 5.1 系统功能调用 调用格式: MOV AH,1 INT 21H 入口:无入口参数 出口:键入字符ASCII码值在AL中,回显该字符。 2.常用功能调用 (1)1号功能调用——键入并显示一个字符 5.1 系统功能调用 调用格式: MOV DL,待显示字符的ASCII MOV AH,2 INT 21H 入口:输出字符的ASCII 送 DL 出口:无出口参数 例:显示字符 ’B’ MOV AH,2 MOV DL,’B’ INT 21H (2)2号功能调用——显示器显示一个字符
文档评论(0)