4第四节 汇编语言程序设计.pptVIP

  • 8
  • 0
  • 约1.5万字
  • 约 101页
  • 2018-08-30 发布于湖北
  • 举报
4.5 1)通过堆栈 传递参数或参数地址 code2 segment assume cs:code2 proc_sum proc far push bp mov bp,sp push ax push bx push cx push di mov bx,[bp+0Ah] mov di,[bp+8] mov cx,[di] mov di,[bp+6] xor al,al sum:add al,[bx] inc bx loop sum mov [di],al pop di pop cx pop bx pop ax pop bp ret 6 proc_sum endp code2 ends end begin 4.6 系统功能调用 一、系统功能调用概述 IBM PC机中的BIOS和DOS操作系统都提供了丰富的中断服务程序,这两组功能子程序主要是实现系统外部设备的输入输出操作、文件管理等。 4.6 调用DOS或BIOS功能时,有以下几个基本步骤: 1)将调用参数装入指定的寄存器中; 2)如需功能号,把它装入AH; 3)如需子功能号,把它装入AL; 4)按中断号调用DOS或BIOS中断 ;INT n 5)检查返回参数是否正确。即如果有出口参数并且需要的话,分析出口参数决定后续的程序执行。 4.6 二、DOS功能调用(INT 21H ) DOS键盘功能调用 ( AH=1,6,7,8,A,B,C ) get: mov ah, 1 ;AH=1,等待键入字符 int 21h ;AL=键入的字符(码) cmp al, ‘Y’ je yes ;若输入的是Y,则转yes标号处 cmp al, ‘N’ je no ;若输入的是N,则转no处 jne get ;键入其它字符,转到get处, ;继续等待键入字符 yes: ... no: ... 4.6 2. 字符串输入 LEA DX,BUFSIZE;DS:DX指向缓冲区的第一个字节 MOV AH,0AH ;0a号功能,输入字符串到缓冲区 INT 21H 3. DOS显示功能调用 1)显示单个字符 MOV AH,2 ;AH=2显示单个字符 MOV DL,‘A’ ;准备入口参数,41H→DL INT 21H 4.6 2)显示字符串( AH=9 ) … STRING DB ‘HELLO’, 0dh, 0ah, ‘$’; 字符串以’$’结束 … MOV DX,OFFSET STRING ;调用参数DS:DX=串地址 MOV AH,9 ;9功能DOS系统调用 INT 21H ;显示字符串HELLO并换行回车 … 三、常用的ROM BIOS功能调用 4.6 INT 10H AH 功能 入口参数 出口参数 0 设置显示方式 AL=显示方式 2 置光标位置 BH=页号 DH=行号 DL=列号 9 在光标位置显示字符及属性 BH=页号 BL=属性值 AL=字符 CX=字符重复次数 A 在光标位置显示字符 BH=页号 AL=字符 CX=字符重复次数 F 取当前显示方式 AH=字符列数 AL=显示方式 BH=当前页号 4.6 INT 16H AH 功能 入口参数 出口参数 0 读键盘字符 AL=ASCII码 AH=扫描码 1 读键盘缓冲区字符 ZF=0时,AL=字符 ZF=1时,缓冲区空 2 读特殊功能键状态 AL=特殊功能键状态 4.7 程序设计举例 例:在屏幕上显示电子钟。 开始 显示提示符 接收键入当前时间 时、分、秒值转换及存储 1 4.7 延时1秒 DL+1,DAA调整 (DL) ≥60H? DL清零、DH加1,DAA (DH)≥60H? N N N Y Y Y 时分秒值BCD变ASCII显示 CH清零 (CH )≥24 DL清零、CH加1,DAA 1 4.4 汇编语言程序的上机过程 步骤包括: 源程序的录入编辑 汇编 连接形成可执行程序 运行 调试 4.4 编辑程序:如EDIT.EXE 汇编程序:如ASM.EXE或MASM.EXE 连接程序:如LIKE.EXE 调试程序:如DEBUG.COM 有时还需要CREF.EXE、EXE2BIN.EXE等文件 4.5 汇编语言程序设计 程序有顺序、循环、分支和子程序四种结构形式 流程图的组成成分 4.5 4.5 一、顺序程序设计 顺序程序结构是指完全按顺序逐条执行的指令序列,这在程序段中是大量存在的,但作为完整的程序则很少见,一般作为程序的一部分。顺序结构程序是最简单的程序,在顺序结

文档评论(0)

1亿VIP精品文档

相关文档