data 例5.1-1/2 sbyte sbyte sbyte tag byte startup mov al, b imul al mov x ax ;bx中为b2 mov al a imul mov Cx, 4 imul Cx ;ax中为4ac
.data _a sbyte ? _b sbyte ? _c sbyte ? tag byte ? .code .startup mov al,_b imul al mov bx,ax ;bx中为 b 2 mov al,_a imul _c mov cx, 4 imul cx ;ax中为 4ac 例5.1 -1/2
例5.1-2/2 .主 f sword ptr bx>ax;比较二者大小 mov tag, 1 第一分支体:条件满足,tag-1 else mov tag o 第二分支体:条件不满足,tag0 endif exit o
.if sword ptr bx >= ax ;比较二者大小 mov tag,1 ;第一分支体:条件满足,tag←1 .else mov tag,0 ;第二分支体:条件不满足,tag←0 .endif .exit 0 例5.1-2/2
第5章 5.1.2循环控制伪指令 >WHLE结构的循环控制伪指令 WHLE条件表达式;条件为真 循环体 执行循环体 ENDW 循环体结束 UNTL结构的循环控制伪指令 REPEAT 重复执行循环体 循环体 UNTL条件表达式;直到条件为真
第 5 章 5.1.2 循环控制伪指令 ➢WHILE结构的循环控制伪指令 .WHILE 条件表达式 ;条件为真 循环体 ;执行循环体 .ENDW ;循环体结束 ➢UNTIL结构的循环控制伪指令 .REPEAT ;重复执行循环体 循环体 .UNTIL 条件表达式 ;直到条件为真
(求1~10之和 ;WHIE结构 ;UI结构 XO a, a xor ax, ax moV Cx 100 mOv Cx, 100 while cxI=0 repeat add ax, cx add ax, Cx dec cx dec cx end 。un七i1cx==0 mov su a mov Su a
;WHILE结构 xor ax, ax mov cx,100 .while cx!=0 add ax,cx dec cx .endw mov sum,ax 求1~100之和 ;UNTIL结构 xor ax, ax mov cx,100 .repeat add ax,cx dec cx .until cx==0 mov sum,ax
mov Cx 100 <例52 x。ax,ax lea bx, array repeat if sword ptr [bx] > 0 add ax, [bx] else break endif inc bx inc bx un七i1cxz moy result ax
mov cx,100 xor ax,ax lea bx,array .repeat .if sword ptr [bx] >= 0 add ax,[bx] .else .break .endif inc bx inc bx .untilcxz mov result,ax 例5.2