一个简单的汇编问题..大家帮忙

m349317345 2009-05-15 10:18:43
题目:
已知DATA 单元开始存放三个带符号数,判断三个数是否同号,若同时为正,显
示“+”,若同时为负,则显示“-”,否则显示“ ”。



我不懂怎么存放带符号数呀..大家帮忙写下代码..我回去研究
...全文
172 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
GaA_Ra 2009-05-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 cnzdgs 的回复:]
区分正负号,可以判断最高位是否为1,如果最高位为1则是负数;此外也可以与0相比较,然后用jg/jl/jge/jle等指令根据符号来跳转。
[/Quote]

学习~:)
BAYNPU 2009-05-16
  • 打赏
  • 举报
回复
;如果三个数都不相等则显示0
;如果三个数有两个相等则显示1
;如果三个数都相等则显示2
.model small
.stack 100h
.data
array dw 3 dup(?)
.code
main proc far
push ds
mov ax,@data
mov ds,ax
lea si,array
mov ax,[si]
mov bx,[si+2]
mov cx,[si+4]
cmp ax,bx
jz l2
cmp ax,cx
jz l1
mov dl,0
jmp l4
l1:mov dl,1
jmp l4
l2:cmp ax,cx
jz l3
mov dl,1
jmp l4
l3:mov dl,2
l4:add dl,3
mov ah,2
int 21h
ret
main endp
end main
m349317345 2009-05-15
  • 打赏
  • 举报
回复
给点具体的代码嘛。。我好看啊。。
cnzdgs 2009-05-15
  • 打赏
  • 举报
回复
区分正负号,可以判断最高位是否为1,如果最高位为1则是负数;此外也可以与0相比较,然后用jg/jl/jge/jle等指令根据符号来跳转。
cnzdgs 2009-05-15
  • 打赏
  • 举报
回复
有符号和无符号是编程中的概念,处理器在执行的时候是不做区分的。例如:
A DW -1
B DW 65535
A和B的值是一样的,如果当作有符号数来看就是-1,如果当作无符号数来看就是65535。
goodider 2009-05-15
  • 打赏
  • 举报
回复
感觉是判断标志

21,500

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧