发布网友 发布时间:2022-04-29 18:30
共2个回答
热心网友 时间:2022-06-19 04:14
;统计BUF中正数的个数
;分析:每个元素是一个8位有符号二进制数,因此要判断其是否为正数,
;需选择带符号数条件转移指令进行判断转移(例如JG,JNG,JL,JNL)。
;由于共有n个元素,因此整个程序的结构就是对以上判断重复n次.
ASSUME CS:CODE, DS:DATA
DATA SEGMENT
BUF DB 1,2,3,4,5,6,7,-8,-9,0
N EQU $ - BUF ;计算BUF中元素的个数
COUNT DW ?
DATA ENDS
CODE SEGMENT
START:
MOV AX,DATA
MOV DS,AX
LEA BX,BUF ;取BUF的偏移地址,然后赋值给BX
MOV CX,N ;BUF中元素的个数,赋值给CX
MOV AX,0 ;AX存放正数的个数
NEXT:CMP byte ptr [BX],0
JNG LESS0 ;小于或等于0,跳转
INC AX
LESS0:
INC BX ;指向下一个元素
LOOP NEXT
MOV COUNT,AX
MOV AX,4C00H
INT 21H
CODE ENDS
END START
流程图:
热心网友 时间:2022-06-19 04:15
去