微型计算机技术和应用第04章.ppt

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

微机原理与接口技术;汇编语言程序设计;汇编程序(翻译程序);●;●;4.1.2 汇编语言源程序格式 ;0000:0~3FF ;一个基本的汇编语言程序框架如下: stack SEGMENT PARA ‘stack‘ DB 100 DUP(‘stack’) stack ENDS data SEGMENT 数据、变量在此定义 data ENDS code SEGMENT ASSUME CS:code, DS:data, ES:data, SS:stack start: MOV AX, data MOV DS, AX MOV ES, AX 此处加入你自己的程序段 MOV AL, 4CH INT 21H code ENDS END start ;;;汇编语言的一个实例: hello.asm(例022) stack SEGMENT para stack ‘stack’ dw 100 dup(0) stack ends data SEGMENT Hello DB ‘Hello, world!’,0DH,0AH,’$’ data ENDS prog SEGMENT ASSUME CS:prog,DS:data,SS:stack start: MOV AX,data MOV DS,AX LEA DX,hello ;取字符串首地址 MOV AH,9 INT 21H ;显示字符串 MOV AH,4CH INT 21H ;退回DOS prog ENDS END start;●;操作码可以是指令、伪指令或宏指令的助记符。对于指令,汇编程序将其翻译成机器语言指令。 对于伪操作,汇编程序根据其功能进行处理。对于宏指令,则将根据其定义展开,转换成对应的代码。; ; 变量——即内存中的存储单元或数据区。 变量名——是存储单元(数据区)的符号地址 或 名字。 变量也有三个属性: 段地址—变量所在段的段地址 偏移量—变量单元地址与段首地址之间的位移量。 类 型—有BYTE、WORD 、DWORD三种之一。 变量在程序中作为存储器操作数被引用。;4.表达式;用于数字表达式, 例: MOV AX,4*1024 汇编后的形式为: MOV AX,4096 用于地址表达式, 例: LEA SI,TAB+3 若TAB的偏移地址为1000H,则汇编后的形式为: LEA SI,[1003H] ;逻辑运算符只能用于数字表达式中。 例: MOV CL,36H AND 0FH 经汇编后:MOV CL,06H 注意: 不要把逻辑运算符与逻辑运算指令混淆: 例:AND AX, 3FC0H AND 0FF00H 汇编后源操作数被翻译为:3F00H,所以上述指令与 AND AX, 3F00H等价。;关系运算的结果是一个逻辑值:真或假 关系为真,结果为全1 关系为假,结果为全0 例: MOV BX, PORT GT 300H 若PORT的值大于300H为真,则汇编后为: MOV BX, 0FFFFH 若为假,则汇编后为: MOV BX, 0;取地址运算符——SEG、OFFSET SEG: 取变量/标号的段地址 OFFSET:取变量/标号的偏移地址 例:VAR DB 12H …… MOV BX,OFFSET VAR ;取变量VAR的偏移地址 MOV AX,SEG VAR ;取变量VAR的段地址 注意: 下面两条指令的异同: MOV BX, OFFSET VAR LEA BX, VAR OFFSET只能取静态的偏移地址;

文档评论(0)

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

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档