求分支或循环结构汇编程序
发布网友
发布时间:2022-04-20 10:03
我来回答
共1个回答
热心网友
时间:2023-08-10 14:34
;统计字数组BUF子数据区中负数个数:
dseg segment;数据段开始
buf dw 0,8200h,42h,0fffh,1200h,3203h ;定义字数组
dw 0c000h,9030h,6800h,10h,08h,222h
count equ ($-buf)/2;$表示当前偏移地址,count即为字数组的个数
ans db ? ;存放负数个数
dseg ends;数据段结束
sseg segment stack;堆栈段开始
db 80h p(0) ;申请80h个堆栈空间,每个一个字节
sseg ends
cseg segment ;代码段开始
assume cs:cseg,ds:dseg,ss:sseg;assume伪指令告知程序有关寄存器设定为哪个段地址
start:
mov ax,dseg
mov ds,ax
xor al,al ;计数器清零
mov bx,offset buf;把字数组首地址送给bx
mov cx,count;cx为循环次数
again:
cmp word ptr [bx],0
jge gez
add al,1 ;是负数,计数器加1
gez:inc bx
inc bx
loop again;loop循环统计负数个数
mov ans,al
cseg ends
end start
编译、链接、DEBUG单步调试操作和运行
得靠你自己去实践
DEBUG单步调试操作可用T命令
运行某一段程序可用 G命令