微机原理顺序分支循环结构.pptVIP

  • 280
  • 0
  • 约5.18千字
  • 约 34页
  • 2017-03-31 发布于江苏
  • 举报
微机原理顺序分支循环结构

第4章:用二进制显示BL内容 mov cx,8 ;CX←8(循环次数) again: shl bl,1 ;左移进CF,从高位开始显示 mov dl,0 ;MOV指令不改变CF adc dl,30h ;DL←0+30H+CF ;CF若是0,则DL← 0 ;CF若是1,则DL← 1 mov ah,2 int 21h ;显示 loop again ;CX减1,如果CX未减至0,则循环 计数控制循环 先循环后判断 第4章:4.5.2 条件控制循环 条件控制循环需要利用特定条件判断循环是否结束 条件控制循环用条件转移指令判断循环条件 转移指令可以指定目的标号来改变程序的运行顺序,如果目的标号指向一个重复执行的语句体的开始或结束,便构成了循环控制结构 第4章:显示以0结尾的字符串 ;数据段 string db Let us have a try !,0 ;代码段 mov bx,offset string again: mov dl,[bx] cmp dl,0 jz done ;为0结束 mov ah,2 ;不为0,显示 int 21h inc bx ;指向下一个字符 jmp again done: …… 条件控制循环 先判断后循环 第4章: 记录某个字存储单元数据中1的个数 ;数据段 number dw 1110111111100100B ;代码段 mov bx,number xor dl,dl ;循环初值:DL←0 again: test bx,0ffffh ;也可以用cmp bx,0 jz done ;全部是0就可以退出循环,减少循环次数 shl bx,1 ;用指令shr bx,1也可以 adc dl,0 ;利用ADC指令加CF的特点进行计数 jmp again 条件控制循环 先判断后循环 计算机接口技术 (汇编与接口) 第四章 汇编语言程序设计3 主要内容: 汇编语言源程序的结构 汇编语言语句格式 伪指令 功能调用 汇编语言程序设计 一个完整源程序结构例 DSEG SEGMENT DATA1 DB 1,2, DATA2 DW 1234H DSEG ENDS ESEG SEGMENT DB 20 DUP(?) ESEG ENDS SSEG SEGMENT STACK ‘STACK’ DB 200 DUP(?) SSEG ENDS 一个完整源程序结构例 CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG,ES:ESEG,SS:SSEG START:MOV AX,DSEG MOV DS,AX MOV AX,ESEG MOV ES,AX ┇ mov ah,4ch int 21h CSEG ENDS END START 汇编语言程序设计 设计步骤: 根据实际问题抽象出数学模型 确定算法 画程序流程图 分配内存工作单元和寄存器 程序编码 调试 第4章:4.3 顺序程序设计 没有分支、循环等转移指令的程序,会按指令书写的前后顺利依次执行,这就是顺序程序 顺序结构是最基本的程序结构 完全采用顺序结构编写的程序并不多见 例题4.4 顺序程序设计实例 采用查表法,实现一位16进制数 转换为ASCII码显示 第4章:例4.4 数据段 ;数据段 ASCII db 30h,31h,32h,33h,34h,35h,36h,37h,38h,39h ;对应0 ~ 9的ASCII码 db 41h,42h,43h,44h,45h,46h ;对应A ~ F的ASCII码 hex db 04h,0bh ;假设两个数据 第4章:例4.4 代码段 ;代码段 mov bx,offset ASCII ;BX指向ASCII码表 mov al,hex ;AL取得一位16进制数 ;恰好就是ASCII码表中的位移 and al,0fh ;只有低4位是有效的,高4位清0 Xlat ;换码:AL←DS:[BX+AL] XLAT 第4章:例4.4 代码段(续) mov dl,al ;入口参数:DL←AL mov ah,2 ;02号DOS功能调用 int 21h ;显示一个ASCII码字符 mov al,hex+1 ;转换并

文档评论(0)

1亿VIP精品文档

相关文档