- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.2 程序设计实例 4.2.1 顺序结构程序设计 * (2)汇编语言 (1)机器语言 第4章 汇编语言程序设计 4.1 汇编语言程序设计基础 4.1.1 机器语言、汇编语言与高级语言 (3)高级语言 BASIC, FORTRAN, COBOL, PASCAL, C, C++, JAVA 编译程序 高级语言源程序 目的程序 机器语言程序 编译过程 2.操作码 [标号:] 操作码 [操作数] [;注释] LOOP:MOV A,30H ;A (30H) 1.标号 可有可无;字母打头;字母、数字、下划线组成;不超过8位;不与操作码相同。 必不可少;不可更改。 3.操作数 可有可无;可一可二;可以是数或地址;可二进制、十进制、十六进制或ASCII码。 4.注释 可有可无;可各种文字或符号。 4.1.2 汇编语言的格式 ORG 1000H START: MOV R0,#0AFH ┇ (2)结束汇编伪指令 END 格式:[标号:] END (3)定义字节伪指令 DB 格式:[标号:] DB X1,X2,┅,Xn (1)定位伪指令 ORG 格式:[标号:] ORG n(通常用十六进制数表示) 该伪指令的功能是规定其后面的目标程序或数据块的起始地址 (4) 定义字伪指令 DW 格式:[标号:] DW X1,X2,┅,Xn 4.1.3 伪指令 (1000H)=10H (1001H)=20H (1002H)=30H (1100H)=11H (1101H)=12H (1102H)=13H (1103H)=41H (1104H)=42H (1105H)=43H (1106H)=44H (1107H)=31H ORG 1000H DB 10H,20H,30H ORG 1100H TABA:DB 11H,12H,13H DB ‘A’,‘BCD’,‘1’ ORG 2000H DW 1234H,8FH (2000H)=12H (2001H)=34H (2002H)=00H (2003H)=8FH (5)预留存储单元伪指令DS 格式:[标号:] DS 表达式 (1010H)=30H (1011H)=40H (1012H)=50H ORG 1000H DS 10H DB 30H,40H,50H (6)赋值伪指令EQU 格式:标号 EQU 表达式 K1 EQU 10H MOV R1,K1 (7)数据地址赋值伪指令DATA 格式:标号 DATA 表达式 表达式可以是数据或地址,但不可以是汇编符号(如R0等) (8)位地址定义伪指令BIT 格式:标号 BIT 位地址 【例4-1】 将双字节原码右移1位。 设双字节原码高位字 节存于R2,低位字节 存于R3 ORG 1000H MOV A,R2 MOV C,ACC.7 CLR ACC.7 RRC A MOV R2,A MOV A,R3 RRC A MOV R3,A END 【例4-2】将30H单元两位压缩BCD码转换成二进制数,结果存入31H单元。 START:MOV A,30H ANL A,#0F0H SWAP A MOV B,#0AH MUL AB MOV R7,A MOV A,30H ANL A,#0FH ADD A,R7 MOV 31H,A END ORG 1000H X EQU 30H Y EQU 40H MOV A,X JZ STOR JNB ACC.7,POST MOV A,#0FFH SJMP STOR POST:MOV A,#01H STOR:MOV
文档评论(0)