简单题微机原理与接口技术,汇编语言,用汇编程序写这个函数,高分求答案 100
2个回答
展开全部
data segment
BUFFER db -7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,0 ;x的取值
BUFFER_Y db ($-buffer) dup(0) ;计算存放y的值
BUFFER_Len dw equ $- BUFFER_Y ;数据长度
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov si,offset BUFFER ;指向x 以取值
mov di,offset BUFFER_Y ;指向y 以保存结果
mov cx,BUFFER_Len
s:
mov al,[si] ;取到一个x值
test al,80h ;测试最高位是0还是1,即正负
jz s0 ;如果等零:表示是正数及零
mov byte ptr[di],-1 ;负数Y=-1 ,十六进制表示是HH
jmp next 早铅竖
s0:
cmp al,0 ;比较数据是否等于0
jz s1
mov byte ptr[di],1 ;如果x为正数,y=1
陆大 jmp next
s1:
mov byte ptr[di],0 ;如果x=0,则y=0
激迅 next:
inc si ;指向下一个x的地址
inc di ;指向下一个y的地址
loop s ;循环处理每一个x值
mov ah,4ch
int 21h
code ends
end start
我只能给你整数的解了, 浮点数汇编好像有点麻烦,也没有研究的必要, 所以没考虑, 看有没有其它网友给您浮点数的解.................
刘
2024-11-19 广告
2024-11-19 广告
可编程交流电子负载是深圳市响河测控技术有限公司的重要产品之一,它是一种模拟真实负载的电子设备,常用于电源等电力驱动设备的设计验证与品质检验。它具备高精度、高可编程性和多种保护措施等特点,能够模拟各种静态和动态负载,测量电压、电流、时间等参数...
点击进入详情页
本回答由刘提供
展开全部
CODE SEGMENT
BUFF_X DB -7 ;-128~+127
BUFF_Y DB ?
ASSUME CS:CODE,DS:CODE
START:
PUSH CS
POP DS
型搏 MOV BUFF_Y,-1
穗卖 MOV AL,BUFF_X
AND AL,AL
卜族祥JS EXIT
JZ AD1
ADD BUFF_Y
AD1:
ADD BUFF_Y
EXIT:
MOV AH,4CH
INT 21H
CODE ENDS
END START
BUFF_X DB -7 ;-128~+127
BUFF_Y DB ?
ASSUME CS:CODE,DS:CODE
START:
PUSH CS
POP DS
型搏 MOV BUFF_Y,-1
穗卖 MOV AL,BUFF_X
AND AL,AL
卜族祥JS EXIT
JZ AD1
ADD BUFF_Y
AD1:
ADD BUFF_Y
EXIT:
MOV AH,4CH
INT 21H
CODE ENDS
END START
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询