题:
--------------下面的题使用以下数据
.data
val2 word 8000h
val3 word 7fffh
------------------
1,如果用ADD指令对val2加1,进位标志和符号标志分别是什么? ;0,1
2,如果用ADD指令对val3加1,溢出标志和符号标志分别是什以? ;1,1
-----------------------------------
为什么,word不是无符号么?val2 符号标志 置位?
书上(intel汇编,kipirvine)说溢出标志是 有符号数的 ,为什么val3溢出标志为1,符号标志也为1?
---(题来源:书上86页)
6 个解决方案
#1
很重要,底层很需要
起码有助于学好C语言等其它高级语言!
题自己好好看书
起码有助于学好C语言等其它高级语言!
题自己好好看书
#2
无论是补码还是无符号数,他们在位级的表示上都是一样的。
#3
楼上两位,详解可以不?
#4
比如有16位数FFFFH,如果你把它作为补码,则它表示-1;如果你把它作为无符号数,则它表示65535;这取决你如何使用它。如下代码:
;ax=ffffh
cmp ax,0
jg a ;把ax作为有符号数判断
ja b ;把ax作为无符号数判断
;也就是说,如何使用,取决于人。
;ax=ffffh
cmp ax,0
jg a ;把ax作为有符号数判断
ja b ;把ax作为无符号数判断
;也就是说,如何使用,取决于人。
#5
无论补码还是无符号数, 它们的位级表示都是1111 1111 1111 1111(FFFFH)
#6
还是看不懂,有没有更详细的说明,没有就结了。
#1
很重要,底层很需要
起码有助于学好C语言等其它高级语言!
题自己好好看书
起码有助于学好C语言等其它高级语言!
题自己好好看书
#2
无论是补码还是无符号数,他们在位级的表示上都是一样的。
#3
楼上两位,详解可以不?
#4
比如有16位数FFFFH,如果你把它作为补码,则它表示-1;如果你把它作为无符号数,则它表示65535;这取决你如何使用它。如下代码:
;ax=ffffh
cmp ax,0
jg a ;把ax作为有符号数判断
ja b ;把ax作为无符号数判断
;也就是说,如何使用,取决于人。
;ax=ffffh
cmp ax,0
jg a ;把ax作为有符号数判断
ja b ;把ax作为无符号数判断
;也就是说,如何使用,取决于人。
#5
无论补码还是无符号数, 它们的位级表示都是1111 1111 1111 1111(FFFFH)
#6
还是看不懂,有没有更详细的说明,没有就结了。