注册 登录
编程论坛 汇编论坛

编写程序实现函数

zfzdhz 发布于 2008-10-26 18:07, 1054 次点击
编写程序实现函数
            1      (当X>0)
Y=       0      (当X=0)
            9      (当X<0)

谢谢
4 回复
#2
djxh777102008-10-26 19:05
#include<iostream.h>
int aaa(int A,int B)
{
 cin>>A;
  if(A>0)
 {
  cout<<"Y="<<1;
 }
 else if(B==0)
 {
  cout<<"Y="<<0;
 }
 else if(A<0)
 {
  cout<<"Y="<<9;
 }

 return B;
}

void main()
{
  int X,Y;
  cout<<"请输入X的值";
  aaa(X,Y);
}
#3
djxh777102008-10-26 19:06
暂时只会用C++写。。
#4
vfdff2008-10-27 01:00
回复 1# zfzdhz 的帖子
用伪汇编指令 很便捷
#5
ass7547545632008-10-28 12:43
[bo][un]zfzdhz[/un] 在 2008-10-26 18:07 的发言:[/bo]

编写程序实现函数
            1      (当X>0)
Y=          0      (当X=0)
            9      (当X<0)     


data segment
 S_1 db 1,0,9
   y db ?
data ends
code segment
 assume cs:code,ds:data
  start:mov ax,data
        mov ds,ax
        mov si,offset S_1    ;设置数据段指针
        mov ah,01h  
        int 21     ;DOS功能调用 输入一个字符并回显
        cmp al,0    ;al相当于x,与0比较
        ja ok       ;大于跳
        jb ok1       ;小于跳
        mov al,[si+1]
        mov y,al       ;不大于不小于 执行到此 即相等 y=0
        jmp s
     ok:mov al,[si]    ;大于跳到此处执行 y=1
        mov y,al
        jmp s         
    ok2:mov al,[si+2] ;小于跳到次出执行 y=9
        mov y,al      
      s:mov ah,02      ;调用DOS功能输出 y
        mov dl,y
        int 21h      
        mov ah,4ch
        int 21h
 code  segment
       end start  
可能输入输出有错误 ,基本思想 差不多就这样..
1