微型计算机原理与接口技术(冯博琴第2版)第4章.ppt
文本预览下载声明
第4章汇编语言程序设计;主要内容;4.1 汇编语言源程序;4.1 汇编语言源程序;4.1.1汇编语言源程序结构;DATA SEGMENT
DAI DB ‘INPUT STRING:$’
BUFDMA DB 80H DUP (?)
DATA ENDS
STACK SEGMENT STACK
ME1 DB 80H DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA, SS:STACK,ES:DATA
START:
MOV AX,DATA
MOV DS,AX ;DATA→DS
┆
MOV AX ,4C00H
INT 21H
CODE ENDS
END START;4.1.2 汇编语言语句类型及格式;1. 汇编语言语句类型;2. 汇编语言语句格式;指示性语句格式;3. 标号、名字;4.1.3 数据项及表达式;1.常 量;2.标号;3.变 量;3.变 量;4.表达式;1)算术运算;2)逻辑运算符;3)关系运算符;4)取值运算符;5)属性运算符;6)其它运算符;§4.2 伪指令;常用伪指令;4.2.1 数据定义伪指令;DB 定义的变量为字节型
DW 定义的变量为字类型(双字节)
DD 定义的变量为双字型(4字节)
DQ 定义的变量为4字型(8字节)
DT 定义的变量为10字节型;DATA1 DB 11H,22H,33H,44H
DATA2 DW 11H,22H,3344H
DATA3 DD 11H*2,22H;可是常数、表达式、字符串
数据元素不能超过规定范围
例: DATA DB XXH; 不能超过0~255
定义字符串必须用DB伪指令
例:
STR1 DB ‘ABCD’
“?”:表示未赋初始值
例: DATA DB ?;3. 重复操作符;3. 重复操作符;4.2.2 符号定义伪指令;4.2.3 段定义伪指令;4.2.3 段定义伪指令;4.2.3 段定义伪指令;4.2.4 设定段寄存器伪指令;一个完整源程序结构例4-5;4.2.5 过程定义伪指令;4.2.5 过程定义伪指令;4.2.6 宏命令伪指令;4.2.6 宏命令伪指令;4.2.7 其它伪指令;§4.3 功能调用;§4.3 功能调用;BIOS/DOS 功能调用;BIOS/DOS 功能调用;4.3.1 BIOS功能调用;4.3.1 键盘输入;1.单字符输入;2. 字符串输入;2. 字符串输入;2. 字符串输入;2. 字符串输入;调用方法:
MOV AH,02H
MOV DL, CH; CH待输出 的字符
INT 21H
;4、字符串输出显示;字符串输出显示:例4-14;4.3.3 返回DOS;§4.4 汇编语言程序设计;2.汇编语言程序结构;4.4.2 顺序程序;4.4.2 顺序程序;4.4.3 分枝程序;4.4.3 分枝程序;4.4.3 分枝程序;4.4.4 循环程序;习题4.17;4.4.4 循环程序;习题4.19;4.4.4 循环程序;4.4.4 循环程序;4.4.4 循环程序;4.4.4 循环程序;4.4.4 循环程序;4.4.5 子程序设计;4.4.5 子程序设计;4.4.5 子程序设计;4.4.5 子程序设计;4.4.5 子程序设计;4.4.5 子程序设计;DATA SEGMENT
x dw 12h
y dw 24h
z dw 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
MAIN PROC FAR
START:
MOV AX,DATA
MOV DS,AX
push z
push y
push x
CALL MyADDProc
;pop x
;pop y
pop z
MOV AH,4CH
INT 21H
MAIN ENDP;4.4.6 常用程序设计举例;4.4.6 常用程序设计举例;4.4.6 常用程序设计举例;4.4.6 常用程序设计举例;4.4.6 常用程序设计举例;4.4.6 常用程序设计举例;4.4.6 常用程序设计举例
显示全部