请编写一段汇编语言程序

[复制链接]
查看11 | 回复2 | 2009-5-4 04:13:34 | 显示全部楼层 |阅读模式
在以BUF为首地址的内存单元中,存放了100个带符号的双字节数,请编制一个汇编程序求出其中负数的平均值(负数之和大于-32768),并将其存入Average字单元中
你好,谢谢你回答我的问题,我还想问一下,程序中间的
jz $+6 ;正数或0,不累加
这一句,$+6是要跳转到哪儿呢?谢谢

回复

使用道具 举报

千问 | 2009-5-4 04:13:34 | 显示全部楼层
; 本程序通过编译,运行正确 Code Segment Assume CS:Code,DS:Code Average dw ? Elements equ 100 ;16位二进制带符号数个数 Start: push cs pop ds ;使数据段与代码段同段 cld clc lea si,BUF ;100个16位二进制带符号数首地址 mov cx,Elements ;16位二进制带符号数个数 xor bx,bx ;初始化计数器 xor dx,dx xor ax,ax ;初始化累加器 Adding: test [si],8000h jz $+5 ;正数或0,不累加 inc bx ;计数器加1 ...
回复

使用道具 举报

千问 | 2009-5-4 04:13:34 | 显示全部楼层
data segmentbuf dw 100 dup(?);运行时给实际的数average dw ?data endscode segmentassume ds:data,cs:codestart:mov ax,datamov ds,axlea si,bufmov cx,100mov ax,0mov dx,0...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行