文档详情

浙工大微机原理及应用PPT 第4章汇编语言程序设计.ppt

发布:2015-09-17约1.48万字共66页下载文档
文本预览下载声明
4.11 DOS中断调用 为了节省系统程序员的编程工作量与优化程序结构,在DOS中预先设计好了一系列的通用子程序,供DOS调用,这种调用采用INT n内部中断指令方式进行,所以常称DOS中断调用。 INT n 指令功能: FLAGS入栈 TF=0,IF=0 当前CS、IP先后入栈 IP,CS 中断向量第n项的4字节内容 DOS的中断向量号范围为20H~3FH 。 DOS规定用中断指令INT 21H进入各功能调用子程序的总入口,再为每个功能调用规定一个功能号以便进入相应各子程序的入口。 中断调用步骤如下: 准备入口参数 功能号送AH INT 21H 1、返回DOS 功能号:4CH 作用:结束系统程序,返回DOS状态 Eg: MOV AH , 4CH INT 21H 2、带显示的键盘输入 功能号:1 功能:从键盘输入一个字符,将其ASCII码保存在AL中,同时输入字符显示在CRT上 Eg: MOV AH , 1 INT 21H 3、显示一字符 功能号:2 入口参数:DL=待显示字符的ASCII码 作用:显示DL中字符 Eg:显示字符’A’ MOV AH , 2 MOV DL ,’A’ INT 21H 4、显示以“$”结尾的字符串 功能号:9 入口参数:DS:DX指向字符串的首地址 Eg:P156 5、字符串输入 功能号:0AH 入口参数:DS:DX指向输入缓冲区。 中断作业: 1、什么叫中断?画出8086/8088的主要中断源。 2、 CPU如何处理同一时刻的多个中断源? 3、 8086/8088的CPU相应中断请求后,立即完成哪些工作? 4、请描述CPU响应中断的原理。 4.12 汇编语言程序的上机过程 (1)利用编辑软件产生ABC.ASM文件 凡是能够编辑文本文件的环境都可用来编辑汇编语言源程序 CEDIT (2)MASM汇编?ABC.OBJ CMASM ABC.ASM (3)LINK连接?ABC.EXE CLINK ABC.OBJ (4)DEBUG 调试ABC.EXE CDEBUG ABC.EXE (5)直接运行一个正确的EXE文件 CABC.EXE MOV AX, DA_WORD[20H] MOV AX, [DA_WORD+20H] MOV AX , ARRAY[BX][SI] MOV AX, ARRAY[BX+SI] MOV AX, [ARRAY+BX][SI] MOV AX , [ARRAY+SI][BX] MOV AX ,[ARRAY+BX+SI] MOV AX, ARRAY+BX+SI MOV AX, ARRAY+BX[SI] MOV AX, ARRAY+DA_WORD 2. 逻辑运算符 参加运算的数和运算的结果均是整数,按位操作。 expr:数字表达式,常数 逻辑运算符和逻辑/移位运算指令是完全不同的两回事。运算符结果是一个常数,在汇编时完成操作 运算符 语法 NOT NOT expr OR expr1 OR expr2 XOR expr1 XOR expr2 AND expr1 AND expr2 SHL expr1 SHL 次数 SHR expr1 SHR 次数 MOV AX, NOT 0F0H MOV BL, 55H AND 0F0H MOV BH, 55H OR 0F0H MOV CL, 55H XOR 0F0H MOV AX, 55H SHR 3 MOV AX ,0FF0FH MOV BL , 50H MOV BL , 0F5H MOV CL ,0A5H MOV AX,0AH 3、关系运算符(用于比较两个表达式) expr一定是常数或同段内的变量,若是常数,按无符号数比较,如是变量,则比较它们的偏移量。比较结果以真(全1),假(全0)给出。 运算符 语法 运算 EQ expr1 EQ expr2 相等时为真 NE expr1 NE expr2 不相等时为真 LT expr1 LT expr2 小于时为真 LE expr1 LE expr2 小于等于时为真 GT expr1 GT expr2 大于时为真 GE expr1 GE expr2 大于等于时为真 MOV AX , 0FH EQ 1111B MOV BX ,0FH NE 1111B MOV AX , 0FFFFH MOV BX , 0 4、数值返回运算符 有 SEG、OFFSET、TYP
显示全部
相似文档