【汇编语言程序设计】已知以Buf为首址的字存储单元中存放有10个符号的二进制数

已知以Buf为首址的字存储单元中存放有10个符号的二进制数,编程序将其中大于等于0的数依次存放到以Buf1为首址的字存储区中,将小于0的数依次存放到以Buf2为首址的字存... 已知以Buf为首址的字存储单元中存放有10个符号的二进制数,编程序将其中大于等于0的数依次存放到以Buf1为首址的字存储区中,将小于0的数依次存放到以Buf2为首址的字存储区中。其中:Buf dw 1,3,0,-34,-56,78,90h,-10h,93h,100 展开
 我来答
LLChina99
2012-11-08 · TA获得超过1483个赞
知道小有建树答主
回答量:574
采纳率:0%
帮助的人:523万
展开全部
data segment
Buf dw 1,3,0,-34,-56,78,90h,-10h,93h,100
Buf1 dw 10 dup ?
Buf2 dw 10 dup ?
data ends
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax
mov es,ax
mov bX,offset Buf1 ;buf1首地址给si
mov si,bx
mov bX,offset Buf2 ;buf2首地址给di
mov di,bx
mov bX,offset Buf ;buf首地址给bx
mov cx,10 ;10个数
work: mov ax,[bx]
cmp ax,0
JL Neg
posz:mov [si],ax ;正数情况
inc si
inc si ;正数送到[Si],即buf1缓冲区,然后si+2,指向下一位置
jmp nextd
neg:mov [di],ax ;负数情况
inc di
inc di ;正数送到[di],即buf2缓冲区,然后di+2,指向下一位置
next: inc bx
inc bx
loop work ;循环10次
mov ax,4c00h
int 21h
code ends
end start
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式