第五章高级汇编语言程席设计 3.条件表达式中比较的两个数据可能是无符号数 也可能是有符号数,可分成以下情况: 数据为变量:用DB、DW、DD等定义的变量一律作 为无符号数,若需要进行有符号数比较,必须使用 SBYTE、 SWORD、 SDWORD定义。 今数据为寄存器或存储单元:默认为无符号数,若 需要进行有符号数比较,必须使用操作符 SBYTE PTR 或 SWORD PTR指明类型。 SBYTE PTR BX SBYTE PTR [ BX+SI+DISPI Var db-1 var sbyte I f al<sbyte ptr var if alvar ●●●●三 X ●●三●三●三鲁 11
第 五 章 高 级 汇 编 语 言 程 序 设 计 3.条件表达式中的符号数/1 11 3.条件表达式中比较的两个数据可能是无符号数, 也可能是有符号数,可分成以下情况: ❖ 数据为变量:用DB、DW、DD等定义的变量一律作 为无符号数,若需要进行有符号数比较,必须使用 SBYTE、SWORD、SDWORD定义。 ❖ 数据为寄存器或存储单元:默认为无符号数,若 需要进行有符号数比较,必须使用操作符SBYTE PTR 或SWORD PTR指明类型。 SBYTE PTR BX SBYTE PTR [BX+SI+DISP] Var db –1 var sbyte –1 .If al<sbyte ptr var .if al<var …… …… X √
箩五章高级汇编语言程序设计 若表达式中有一个数据为有符号数,则强制 另一个数据也作为有符号数进行比较。 如. F SWORD PTR BX>AX,AX被强制作为 有符号数看待。 (对变量不适用。若变量作为有符号数使用, 必须用 sbyte/ sword/ sword定义) 12
第 五 章 高 级 汇 编 语 言 程 序 设 计 /2 12 ❖若表达式中有一个数据为有符号数,则强制 另一个数据也作为有符号数进行比较。 如 .IF SWORD PTR BX >= AX,AX被强制作为 有符号数看待。 (对变量不适用。若变量作为有符号数使用, 必须用sbyte/sword/sdword定义)
箩五章高级汇编语言程序设计 6)本节新增内容: 用于条件表达式的操作符 有符号数专用的变量定义伪指令 有符号数专用的类型说明操作符 大分析教材举例 大浏览汇编结果 大例题5.1(实根判断) 回5.1
第 五 章 高 级 汇 编 语 言 程 序 设 计 条件控制伪指令(end) 13 6)本节新增内容: ➢用于条件表达式的操作符 ➢有符号数专用的变量定义伪指令 ➢有符号数专用的类型说明操作符 ★分析教材举例 ★浏览汇编结果 ★例题5.1(实根判断) 回5.1
箩五章高级汇编语言程序设计 5.1.2循环控制伪指令 WHLE和.ENDW:当型循环结构 REPEAT和.UNTL. REPEAT和. UNTILCXZ:直到型 BREAK:退出循环;.c0 NTINUE:转向循环体开始 格式1 WHILE条件表达式;表达式为真,执行循环体 循环体 ENDW ;循环体结束 14
第 五 章 高 级 汇 编 语 言 程 序 设 计 5.1.2循环控制伪指令 14 5.1.2循环控制伪指令 .WHILE和 .ENDW :当型循环结构 .REPEAT和 .UNTIL/.REPEAT和 .UNTILCXZ:直到型 .BREAK:退出循环;.CONTINUE :转向循环体开始 格式 1 .WHILE 条件表达式;表达式为真,执行循环体 循环体 ; .ENDW ;循环体结束
箩五章高级汇编语言程序设计 格式2 REPEAT ;重复执行循环体 循环体 UNTIL条件表达式;直到条件表达式为真 格式3 REPEAT ;重复执行循环体 循环体 UNTILCXZ[条件表达式];0X←0X-1,直到cX=0 ;或条件表达式结果为真 15
第 五 章 高 级 汇 编 语 言 程 序 设 计 循环控制伪指令 15 格式 2 .REPEAT ;重复执行循环体 循环体 .UNTIL 条件表达式 ;直到条件表达式为真 格式 3 .REPEAT ;重复执行循环体 循环体 .UNTILCXZ [条件表达式];CX←CX-1,直到CX=0 ;或条件表达式结果为真