简单题微机原理与接口技术,汇编语言,用汇编程序写这个函数,高分求答案 100

 我来答
百度网友5165b85
2016-06-22 · TA获得超过858个赞
知道小有建树答主
回答量:210
采纳率:0%
帮助的人:237万
展开全部
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


我只能给你整数的解了,  浮点数汇编好像有点麻烦,也没有研究的必要, 所以没考虑, 看有没有其它网友给您浮点数的解.................

做而论道
高能答主

2022-07-19 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.1亿
展开全部
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式