求助汇编语言编写分段函数

 我来答
pardream941026
2017-03-09 · TA获得超过8217个赞
知道大有可为答主
回答量:4602
采纳率:89%
帮助的人:1351万
展开全部
;1 整数形式
; integer number
dseg segment
  x dw -1 ;
  fx db ?
  msg db 'F(x) = $'
dseg ends

cseg segment
assume cs:cseg, ds:dseg
start:
  mov ax, dseg
  mov ds, ax

  mov ax, x  ;
  call functionX
  lea dx, msg
  mov ah,9
  int 21h

  mov ah,0eh
  mov al, fx
  cmp al, 0
  jge m0 

  mov al, '-'
  int 10h

  mov al, fx
  neg al
m0:
  add al, 30H ; //convert to ASCII
  int 10h     ;
  mov ah,4ch
  int 21h     ; exit to dos

functionX proc near
  cmp ax, 1
  jGE $1    ;>=1
  cmp ax, -1
  jle $2     ;<=-1
  mov fx, 0  ; -1<x<1
  jmp $0
$1:
  mov fx, 1
  jmp $0
$2:
  mov fx,-1
$0:
  ret
functionX endp
cseg ends
end start

;2,写完上面程序后才发现,题目要求的应该是浮点数
;a2.asm  support float number
.286
dseg segment
  x dd 1.0 ;
  fx db ?
  f1 dd 1.0
  fn1 dd -1.0
  msg db 'F(x) = $'
dseg ends

cseg segment
assume cs:cseg, ds:dseg
start:
  finit
  mov ax, dseg
  mov ds, ax

  call functionX
  lea dx, msg
  mov ah,9
  int 21h

  mov ah,0eh
  mov al, fx
  cmp al, 0
  jge m0 

  mov al, '-'
  int 10h

  mov al, fx
  neg al
m0:
  add al, 30H ; //convert to ASCII
  int 10h     ;
  mov ah,4ch
  int 21h     ; exit to dos

functionX proc near
  fld x
  fcom f1
  fstsw ax
  sahf
  jaE $1    ;>=1

  fcom fn1
  fstsw ax
  sahf
  jbe $2     ;<=-1

  mov fx, 0  ; -1<x<1
  jmp $0
$1:
  mov fx, 1
  jmp $0
$2:
  mov fx,-1
$0:
  ret
functionX endp
cseg ends
end start
哥德堡快递
2017-03-09 · TA获得超过1582个赞
知道小有建树答主
回答量:1039
采纳率:68%
帮助的人:381万
展开全部
高级语言怎么写,汇编就怎么写,语法变一下而已。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式