第4章汇编语言程序设计概要.pptVIP

  • 7
  • 0
  • 约 78页
  • 2017-06-21 发布于湖北
  • 举报
第4章汇编语言程序设计概要

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 单字符显示输出例 MOV AH,02 MOV DL,41H INT 21H 执行结果: 屏幕显示A * 4. 字符串输出显示 功能号O9H 待输出字符串的偏移地址 INT 21H AH DS:DX * 字符串输出显示 注意点: 被显示的字符串必须以‘$’结束; 所显示的内容不应出现非可见的ASCII码; 若考虑输出格式需要,在定义字符串后,加上回车符和换行符。 * 字符串输出显示例 DATA SEGMENT MESS1 DB ‘Input String:’, 0DH,0AH,’$’ DATA ENDS CODE SEGMENT ┇ MOV AH,09 MOV DX,OFFSET MESS1 INT 21H ┇ 5. 返回操作系统(DOS)功能 功能号: 4CH 调用格式: MOV AH,4CH INT 21H 功能: 程序执行完该2条语句后能正常返回DOS 常位于程序结尾处。 * 二、BIOS功能调用 通过中断指令调用相应的BIOS中断服务程序 BIOS中断服务程序实际上是一些对端口的输入输出操作,是微机系统中软件与硬件之间的一个可编程接口。 光驱、硬盘管理;中断设置等 * 附录D 键盘状态检验 可利用类型码为16H的BIOS中断判断是否有任意键按下 调用格式: AH INT 16H 判断方法: 若ZF=0 若ZF=1 * 功能号1 有键按下 无键按下 例:在屏幕上显示信息,当有任意键按下时退出 * DSEG SEGMENT MESS DB ‘Hello,World!’,0DH,0AH,’$’ DSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG START:MOV AX,DSEG MOV DS,AX AGAIN:LEA DX,MESS MOV AH,9 INT 21H MOV AH,1 INT 16H JZ AGAIN MOV AH,4CH INT 21H CSEG ENDS END SATRT 键盘状态检验 判断是否有任意键按下的方法可以用DOS软中断,功能号为0BH,出口参数为AL。 格式: MOV AH,0BH INT 21H 若AL=FFH,则有键按下; 若AL=0,则无键按下 * DOS和BIOS功能调用小结 均通过中断指令调用。1个中断类型码对应1个功能程序包; 每个程序包中的子功能通过功能号区分,调用时功能号须送AH; 部分功能既可用DOS中断也可以用BIOS中断; 注意不同子功能的入口/出口参数要求; DOS和BIOS中断均可能影响AX。 * * §4.4 汇编语言程序设计 设计步骤: 根据实际问题抽象出数学模型 确定算法 画程序流程图 分配内存工作单元和寄存器 程序编码 调试 * 汇编语言程序结构 顺序结构 循环结构 先判定型 后判定型 分支结构 单分支 多分支 子程序结构 例4-16对于三个8位无符号数86H,34H和21H,编写 S=86H*34H-21H的程序 DATA SEGMENT NUM DB 86H,34H,21H RESULT DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA SI,NUM LEA DI,RESULT MOV AL,[SI] MOV BL,[SI+1] MUL BL MOV BL,[SI+2] MOV BH,0 SUB AX,BX MOV [DI],AX MOV AH,4CH INT 21H CODE ENDS END START 顺序结构程序设计例题 分支结构程序设计例题 例 4-18编写程序,数据以字节变量BUFFER为首地址的100个单元清零。 参考书上程序 D

文档评论(0)

1亿VIP精品文档

相关文档