结构化程序方法在汇编语言中的应用

来源:互联网 发布:七氟烷mac值和吸入浓度 编辑:程序博客网 时间:2024/06/05 05:46

  在传统的汇编语言程序设计中,选择结构程序设计一般用转移指令(JMP)加标号来实现,这种程序结构实际上并不是真正的选择结构;在循环程序设计中,一般用循环指令(LOOP)或转移指令来实现循环,这种结构也不具有结构化程序中的"WHILE循环"或"REPEAT循环"的结构特征;在程序分支和循环的控制条件方面,每步判断只能判断一个条件,条件增多时,不得不增加判断指令的条数,在这里不能应用逻辑表达式进行条件判断。本文介绍一些设计选择结构程序、循环结构程序、过程子程序及其他一些用于结构化程序设计的语句及用于多条件判断的逻辑表达式。利用这些语句可设计具有高级语言结构风格的结构化汇编语言程序。

  1 程序变量说明

  在进行变量说明时,可用[S]BYTE、[S]WORD]、[S]DWORD、FWORD、QWORD、TBYTE、REAL4、REAL8及REAL10类型说明符说明变量类型,其中的可选项[S]表示定义的数据为带符号数。定义变量的格式为:

  [变量名]类型说明符初始值[,初始值]...

  2.MODEL伪指令

  .MODEL伪指令用于说明存储器模式等,格式为:

  .MODELmemodel[,langtype][,ostype][,stackoption],其中,memmodel为存储模式,langtype为语言类型(C,PASCAL,BASIC,FORTRAN等),ostype为操作系统类型(OS-DOS),stackoption为栈类型,可取NEARSTACK(SS=DS)或FARSTACK(SS〈〉DS)。

  3程序起始及退出代码的产生

  语法: .STARTUP

  .EXIT[表达式]

  .STARTUP为给定的CPU类型及由.MODEL定义的存储模式、操作系统及栈类型产生起始代码,初始化DS、SS及SP,并定义起始地址标号。因而不需要在END指令中给出起始地址标号,程序将自动从.STARTUP处开始执行。在TINY存储模式时还产生ORG100H指令。

  .EXIT产生终止程序、返回操作系统或调用程序的代码。[表达式]为返回给操作系统或调用程序的一个退出码。

  4选择结构(块IF语句)

  语法:.IF条件1

  语句块2

  [.ELSEIF条件2

  语句块2]

  ......

  [.ELSE 语句块n]

  .END IF

  看到,其语法结构和高级语言基本相同,执行情况也相同。其中的条件为一逻辑表达式,其运算符基本同C语言,为:==、!=、>、>=、<、<=、&、!、&&、。组成逻辑表达式的成分可为:变量、寄存器名、常量及符号CARRY?、OVERFLOW?、PARITY?、SIGN?和ZERO?(依次分别表示标志位CF、OF、PF、SF、ZF为1)。逻辑表达式.. >>查看完整文章




查看完整全文,请点击http://www.wappan.com/html/78/3fc766eeb8f90bc3d4e5b0ed68639eee.html

精彩文章尽在百川之家

http://www.wappan.com

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 电脑主机电源坏了怎么办 南方人到北方水土不服怎么办 人流后一直发胖怎么办 南方人来北方水土不服怎么办 孩子上不了户口怎么办 户口转走了医保怎么办 眼睛分的开怎么办 被贝贝高乐骗了怎么办? 邻居放音乐扰民怎么办 邻居养猪味太大怎么办 遇上自私的邻居怎么办 怀孕中想离婚怎么办 西瓜出现歪屁股怎么办 碰到碰瓷邻居怎么办 隔壁晚上太吵怎么办 遇到讨厌的人怎么办 小区邻居太吵怎么办 促排卵雌二醇低怎么办 促排雌二醇低怎么办 促排雌激素低怎么办 降调后雌激素高怎么办 双胞胎相差4周怎么办 邻居投诉狗扰民怎么办 和邻居关系不好怎么办 双胞胎31周早产怎么办 隔壁邻居特别吵怎么办 邻居家空调噪音大怎么办 隔壁狗叫扰民怎么办 邻居家噪音大影咱休息怎么办 邻居的狗扰民怎么办 宝宝感冒咳嗽流鼻涕怎么办 晚上睡觉怕吵怎么办 三个月宝宝感冒咳嗽怎么办 小孩频繁感冒咳嗽怎么办 小孩咳嗽频繁怎么办呢 显示屏花屏了怎么办 鼠标箭头消失了怎么办 模拟人生离婚孩子怎么办 模拟城市没电怎么办 电脑浏览器白屏怎么办 模拟城市没声音怎么办?