汇编语言编写程序代码

用汇编语言编程完成,并要用masm运行正确。题目为:从键盘输入若干个整数(包括正整数,负整数及零),以#号结束,统计其中正整数、负整数及零的个数,并显示输出结果。data... 用汇编语言编程完成,并要用masm运行正确。题目为:从键盘输入若干个整数(包括正整数,负整数及零),以#号结束,统计其中正整数、负整数及零的个数,并显示输出结果。
data segment
ibuf dw 100 dup(0)
num equ $-ibuf
da1 db 0
da2 db 0
da3 db 0
data ends
code segment
assume ss:stack,cs:code,ds:data
push ds
sub ax,ax
push ax
start: mov ax,data
mov ds,ax
lea si,ibuf
mov cx,num
input: call myinput
mov [si],al
loop input
lea si,ibuf
mov cx,num
xor al,al
don1: mov al,[si]
cmp al,0
jge don2
inc da2
jmp end0
don2: cmp al,0
jz don3
inc da1
jmp end0
don3: inc da3
end0: inc si
dec cx
jnz don1

mov ah,4ch
int 21h

myinput proc
mov dx,offset ibuf
mov ah,10
int 21h
mov cl,ibuf+1
mov ch,0
mov si,offset ibuf+2
cmp byte ptr[si],'-'
pushf
jne sininc
inc si
dec cx
sininc:mov ax,0
again: mov dx,10
mul dx
and byte ptr[si],0fh
add al,[si]
adc ah,0
inc si
loop again
popf
jnz nneg
neg ax
nneg: mov binary,ax
ret
myinput endp

code ends
end start
这是我的代码,但是错误太多,因为明中午(15日)要交,恳请各位请高手改一下,非常感谢或者重新帮我编写 不胜感激
展开
 我来答
李成勇律师
2012-06-15 · 律师
李成勇律师
采纳数:406 获赞数:1270

向TA提问 私信TA
展开全部
家里电脑有这样的代码但是你中午之前要肯定不行了
我这里有给定数字的计算正负个数的。你添加个手动输入数值的功能就可以实现你的要求
data segment
MSG DB 20,-3,0,-59,60,-46,-7 ;这里重新定义长度
cunt1 equ $-msg;后面需要重新赋值
cunt2 db 0 ;正数置初值
cunt3 db 0 ;0数置初值
cunt4 db 0 ;负数置初值
buffer db 10h dup(0)
data ends
code segment
assume ds:data,cs:code
mov ax,data
mov ds,ax
mov ax,0
mov si,0;下一句就执行键盘输入数据,计算输入的字符个数
mov cx,cunt1;置循环值,输入字符的总数
lp: mov al,msg[si]
test al,ffh;测试是否为0
jz lk1
test al,10000000b;测试符号位
jz lk2
inc cunt4;负数计数加一
lk1: inc cunt3;0数计数加一
lk2: inc cunt2;正数计数加一
inc si;指向下一个数据
loop lp;后面添加显示的代码就可以了
code ends
end start
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
意法半导体(中国)投资有限公司
2023-06-12 广告
单片机汇编程序是用汇编语言编写的程序,用于控制单片机的操作。汇编语言是一种比较接近计算机硬件语言的低级语言,相对于高级语言来说更容易理解和实现。下面是单片机汇编程序的基本步骤:1. 将代码和数据汇编到规定的段中。2. 在存储器中用未初始化的... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
花房欣子9W
2012-06-15
知道答主
回答量:11
采纳率:0%
帮助的人:1.9万
展开全部
学习
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式