| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3923 人关注过本帖
标题:[求助】判断一个数是否为偶数
只看楼主 加入收藏
aixue
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2007-10-28
收藏
 问题点数:0 回复次数:8 
[求助】判断一个数是否为偶数
本人初学汇编,菜鸟阶段,想请教各位做个题目:


用汇编指令判断一个数是否为偶数。。。





谢了!!!!
搜索更多相关主题的帖子: 偶数 判断 指令 
2007-11-21 18:41
zhulei1978
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:53
帖 子:1351
专家分:1200
注 册:2006-12-17
收藏
得分:0 
程序运行效果:
Please enter the number:7
odd number
Do you want to try again?(y/n)y
Please enter the number:6
even number
Do you want to try again?(y/n)n

data    segment
  message1 db 'Please enter the number:','$'
  message2 db 13,10,'odd number','$'
  message3 db 13,10,'even number','$'
  message4 db 13,10,'Do you want to try again?(y/n)','$'
  buf DB 9,?,8 dup ('0')
data    ends
code    segment
assume    cs:code,ds:data
start:
  mov    ax,data
  mov    ds,ax
flag3:
  lea dx,message1
  mov ah,9
  int 21h  
  MOV dx,offset buf
  MOV ah,0ah
  int 21h
  mov cl,[buf+1]
  mov ch,0
  lea si,[buf+1]
  add si,cx
  mov ch,[si]
  sub ch,30h
  rcr ch,1
  jnb flag1
  lea dx,message2
  mov ah,9
  int 21h
  jmp flag2
flag1:
  lea dx,message3
  mov ah,9
  int 21h
flag2:
  lea dx,message4
  mov ah,9
  int 21h
  mov ah,1
  int 21h
  cmp al,'y'
  jnz exit
  mov dl,13
  mov ah,2
  int 21h
  mov dl,10
  int 21h
  jmp flag3
exit:
  mov    ah,4ch
  int    21h
code  ends
end  start

[ 本帖最后由 zhulei1978 于 2007-11-23 15:08 编辑 ]

其实我就是改变社会风气,提高少女素质,刺激电影市道,提高年轻人内涵,玉树临风,风度翩翩的整蛊专家,我名叫古晶,英文名叫JingKoo!
2007-11-22 20:22
zhulei1978
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:53
帖 子:1351
专家分:1200
注 册:2006-12-17
收藏
得分:0 
data  segment
buf db 13, 21, 34, 43, 54, 61, 72, 89
x db 2
data  ends
code  segment
assume  cs:code,ds:data
start:
  mov  ax,data
  mov  ds,ax
  lea  si,buf
  mov  cx,x-buf
flag1:
  mov  al,[si]
  rcr  al,1
  jnb  flag2
  add  si,1
  loop  flag1  
flag2:
  mov  al,[si]
  mov  ah,0  
  mov  bx,10
  push  bx   
flag3:
  cmp  ax,0
  jz  flag4
  sub  dx,dx
  div  bx   
  add  dl,30h
  push  dx   
  jmp  flag3
flag4:
  pop  dx   
  cmp  dl,10
  je  flag5
  mov  ah,2
  int  21h
  jmp  flag4
flag5:
  mov  ah,4ch
  int  21h
code  ends
end  start

其实我就是改变社会风气,提高少女素质,刺激电影市道,提高年轻人内涵,玉树临风,风度翩翩的整蛊专家,我名叫古晶,英文名叫JingKoo!
2007-11-23 16:49
aixue
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2007-10-28
收藏
得分:0 
谢谢版主!!!:)
2007-11-24 00:00
wubizao
Rank: 1
来 自:荆州长大电信
等 级:新手上路
帖 子:223
专家分:0
注 册:2006-6-24
收藏
得分:0 
用test指令就行了吧.也不会吧结果送至目的操作数
eg:             test    des,01h      ;假设des中为要被测试的数(为8位)
         jz next
                 若des为偶数,就跳至next
              *******0
与上00000001
结果为0,影响了标志位

在路上走,看见了C,从此爱上了她
2007-11-26 09:11
ewenyxw0331
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-11-20
收藏
得分:0 
SI 这是个什么?我不太懂,刚学的,
2007-11-26 10:17
zhulei1978
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:53
帖 子:1351
专家分:1200
注 册:2006-12-17
收藏
得分:0 
原帖由 [bold][underline]ewenyxw0331[/underline][/bold] 于 2007-11-26 10:17 发表 [url=http://bbs.][/url]
SI 这是个什么?我不太懂,刚学的,


SI(Source Index)源变址寄存器一般与DS联用,用来确定数据段中某一存储单元的地址。该寄存器有自动增量和自动减量的功能,所以用于变址是很方便的。

其实我就是改变社会风气,提高少女素质,刺激电影市道,提高年轻人内涵,玉树临风,风度翩翩的整蛊专家,我名叫古晶,英文名叫JingKoo!
2007-11-27 19:26
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
si其实就是个16位的寄存器,拥有寄存器的一般功能----暂时保存数据

同时,si一般用于数组的寻址,和一些指令结合,可以高效的处理数组

从BFS(Breadth First Study)到DFS(Depth First Study)
2007-11-27 21:19
kr^zHaYj
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2007-11-25
收藏
得分:0 
输入的2进制位 是有个0 就是偶了,前提要 -30H ,因为是字符。
flag:   无限判断(我想应该用函数)
      输入N
           jmp  over
         jmp flag
over : mov ax, 4c00h
           int 21 H
只是想法,能力有限,未能实现
2007-11-28 11:19
快速回复:[求助】判断一个数是否为偶数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.049087 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved