微机原理第5.1章 宏汇编语言程序设计.ppt
文本预览下载声明
Chapter 5 Assembly Language Program Design 第一节 汇编语言程序格式 第二节 MASM中的表达式 第三节 伪指令语句 第四节 DOS系统功能调用和BIOS中断 调用(暂不讲授) 4-1 汇编语言程序格式 宏汇编程序:MASM ASM(MASM)?OBJ(LINK)?EXE(DOS) 一、指令性语句 指令性语句:产生对应的机器码 语句格式: [标号:] 指令助记符 [操作数1] , [操作数2] ; [注释] 标号: 是符号地址 标号后跟冒号“:” 可以是字母、数字及特殊字符@等,但首位必须是字母 MAX length 31个字符 could be omitted 标号常作为转移目标,CALL的操作数 指令助记符:指令名称( omitted ? ) 操作数: 操作数之间用逗号“,”分开,可以 是常数、变量、寄存器名,表达式 (could be none or many) 注释: 便于读程序 ,可用中文/英文 二、 伪指令(pseudo instruction) 伪指令不产生机器码,汇编时完成数据 定义,M分配,SEG分配,指示程序结束等 Format:名字 伪指令符 操作数,操作数;注解 名字:给伪指令取的名,用符号地址表示 名字常为:变量名,段名,过程名, 符号名等。 伪指令:是MASM规定的符号。 如DB, DW等 操作数:操作数(operand)之间用逗号分开。 常用操作数有常数,变量,字符串,表 达式等。 三、数据项 1、常数: 必须定值,无属性(attribution)。 字母打头的常数应加0,如0F4H. B-二进制 Q-八进制 D-十进制 H-十六进制 字符串 ‘··········’ (single quotation marks) 2、 变量:指存储单元中的值 ,有属性。 1)段基址:SEGMENT 2)偏移地址:OFFSET 3)类型(type): 字节变量 BYTE 字变量 WORD 双字变量 DWORD 3、标号:是可执行指令的符号地址。 作为转移和CALL的操作数,有三个属性 1)段地址:SEGMENT(标号所在段) 2)偏移地址:OFFSET 3)类型(TYPE):有转移距离属性 近标号(近转移):NEAR 远标号(远转移):FAR 4-2 MASM中的表达式 MASM中的六类运算符(operators) P129 一、算术运算符:(运算对象和结果都是整数) +(加)、-(减)、*(乘)、/(除)、 MOD(模)(取除的余数) SHL(左移)(相当于乘2) SHR(右移)(相当于除2) 例:源程序如下: DA EQU 300 MOV AX , DA-80 ; MOV BX , DA MOD 100; MOV CX , DA/100 ; MOV DH , 0110 0100B SHR 2; 汇编时,计算表达式形成指令为: DA EQU 300 MOV AX , 220 ; MOV BX , 0 ; MOV CX , 3 ; MOV DH , 19H ; 汇编时,表达式便成为单值数值。 二、逻辑运算符: AND,OR,NOT,XOR四种。 例: MOV AL,NOT 0FFH MOV BL,8CH AND 73H MOV AH,8CH OR
显示全部